Commit Graph

176 Commits

Author SHA1 Message Date
Alexander Bock 1cd84a64f7 Feature/wormhole (#1985)
* Backwards incompatible change to the astrocasting protocol
* Send password in the clear [never thought i write something like this]
* Update to new Protocol version,  remove built-in ParallelServer
* Remove Wormhole server in favor of Typescript version
2022-04-08 13:16:22 +02:00
Alexander Bock 3844df20c9 Feature/codegen lua (#1906)
Adapting Lua functions to new codegen functionality
Improve the documentation itself
Add some styling to generated documentation
Have parameter names for Lua-defined Lua function documentation

Co-authored-by: Emma Broman <emma.broman@liu.se>
2022-03-21 09:05:37 +01:00
Alexander Bock 30212b6768 Adapt to new auto coding style 2022-02-10 15:20:21 +01:00
Emma Broman 91b0581d39 Introduce engine modes to handle Camera path and session recording transitions
* Clarifies which system is control over time and camera at what time
* Fixes #1845
* Prevent invalid switching between session recoring and camera path playback
* Some cleanup, mosly of SessionRecording and NavigationHandler. Also, remove ExternInteraction and some other unused/nonexisting functions
2022-02-03 16:08:21 +01:00
Alexander Bock d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Alexander Bock 55ee3d2785 Remove the user data from the Lua function definition 2021-11-04 16:27:54 +01:00
Alexander Bock 76dd45e5ce Event System (#1741)
* Add implementation of the EventEngine to handle global event chains
* Add properties to SceneGraphNodes to determine two distance radii for camera-based events
2021-10-11 21:53:00 +02:00
Malin E 5b69cf45f1 Avoid crash in parallellconnection if there is no connection 2021-09-06 16:22:36 +02:00
Alexander Bock af617d1d10 Feature/lua function cleanup (#1719)
General cleanup of Lua functions and handling of variable extract from a Lua state
2021-08-19 16:02:14 +02:00
Emma Broman bfe25c311b Merge branch 'master' into thesis/2019/camera-paths
# Conflicts:
#	src/rendering/abufferrenderer.cpp
2021-08-09 15:21:08 +02:00
Alexander Bock 5b3a66156c Remove unnecessary template specification for lock_guard 2021-07-30 14:48:08 +02:00
Emma Broman 77bdfaefd6 Move camera path code into core and refactor navigation code a bit 2021-06-23 09:12:36 +02:00
Alexander Bock 7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock ad8af3ffeb Feature/CMake (#1443)
General CMake cleanup/overhaul
* Enable precompiled headers for all projects
* Move specifications itto separate CMakeLists files
  * Add openspace-core as a subdirectory
  * Move handle_modules functionality into modules/CMakeLists.txt
  * Move handleapplications logic into apps/CMakeLists.txt
* Introduce openspace-module-collection interface library to simplify inclusion of modules in applications
* Turn module initialization into a two-step process to adapt to the new minimal dependency scenario
* Compile time speedup
  * Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC
  * Build Spice multithreaded and as static library
  * Remove dependency from core to module-webbrowser
  * Remove unused dependency from kameleon
  * Remove additional unnecessary dependencies
  * Cleanup volume/kameleon/kameleonvolume modules
  * Fix visibility issues. Restrict include paths
  * Compile kameleon in parallel
* Other cleanup
  * Only copy CEF files from one target (hard-coded to OpenSpace right now)
  * Remove unused instrumentation code
  * Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
  * Removing compiler and cppcheck warnings
  * Turn almost all includes into non-system includes
  * Don't warn on deprecrated copy
* Updated submodules
2020-12-28 18:26:57 +01:00
Alexander Bock 86bb19d81c Feature/warnings (#1425)
* Remove MSVC, GCC, Clang compiler warnings
* Remove cppcheck warnings
2020-12-07 23:43:05 +01:00
Alexander Bock efffc25ce0 Feature/globals handling (#1352)
* Cleaner handling of global state
* Prevent Lua memory corruption (closes #982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
2020-10-21 22:30:05 +02:00
Alexander Bock 811a84df0f Fix issue where Wormhole server's script messages could not be decoded
Fix issue where dashboard item for parallel peer would not report line number correctly
Closes #1011
2020-10-19 17:48:16 +02:00
Alexander Bock 5e29145395 Coding style cleanup 2020-02-14 19:37:06 +01:00
Alexander Bock d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock 49c793d976 Update Ghoul version
Add initial Tracy profiling macros
2020-02-10 14:50:41 +01:00
Emil Axelsson e06993332c Cancel follow anchor node rotation interpolation when the anchor is changed 2019-08-13 18:35:22 +02:00
Alexander Bock 277aee5c0c Make constructor of Time explicit
Module breaking change
2019-07-17 15:39:43 +02:00
Alexander Bock d0c04cfc6b Various code cleanup 2019-06-18 10:47:15 +02:00
Alexander Bock 595cbc4bcf Feature/cleanup (#837)
* Style guide fixes
* Various cleanups
* Update SGCT
2019-05-03 13:27:43 +02:00
Emil Axelsson 53e07d90e1 Feature/documentation topic (#822)
- Implement documentation topic that can be used to query documentation using the network API.
- Implement a way to pass arguments to lua scripts using json (rather than formatting entire lua string clientside)
- Implement ability to attach callback to lua script executions
- Implement abillity to transport return values from lua scripts back to network API clients.
- Do not initialize server interface on slave nodes.
- Implement Dictionary -> json converter using nlohmann json library
2019-04-03 10:30:28 +02:00
Alexander Bock bb3db7ada7 Feature/jenkins fix (#816)
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
2019-03-24 11:19:39 +01:00
Emil Axelsson 2e71eaa4cb Feature/anchor and aim (#799)
Introduce the ability to navigate using an anchor and aim.
Example use: Set spacecraft as anchor and planet as aim to always look down at a planet, while followin the spacecraft in its orbit.
2019-02-19 18:46:58 +01:00
Emil Axelsson 0c6b5e95c6 Introduce ability to configure ports etc for external applications. (#785)
Introduce ability to configure ports etc for external applications, including webgui
2019-01-04 10:23:28 +01:00
Alexander Bock c7a96a6b59 Address clang tidy complaints
Update Ghoul repository
Update SGCT repository
2018-11-30 15:34:09 -05:00
Gene Payne b671ad35e6 Feature/session recording (#737)
* In progress with new version of session recording

* Session recording coding pass for both record and playback, not building yet.

* Working on getting first build of prototype

* Code changes to get playback working with all 3 timing modes

* Fixing session recording interactions with the timemanager

* Bug fixes for newly discovered timing issues, mothballing recording of timing updates

* Fixed camera jitter issue

* Updated new reference to latest ghoul

* Got session recording/playback working with changes made in master

* Added threshold for differences in camera movement as criteria for saving to recording file

* Added support for binary file for session recording/playback

* Minor changes with handling timeManager keyframes in playback

* New timeline structure & keyframes specific to session recording

* Fixed bug with fixed-script size

* Switched to new timeline specific to session recording, bug fixes, currently debugging camera position & rotation

* Formatting changes only

* Fixed scripts not working after timeline change

* Add session recording test scene

* Fixed problem with re-running the same playback multiple times

* Fixed problems with camera interpolation

* Fixed detection of camera playback finishing, and improved camera interpolation

* Added comments for interface of externInteraction include

* Fixed view frustum culling issues in session playback due to not appropiate camera scaling. Also made function in datamessagestructures to read and write this data to streams.

* Added camera scaling fix to code that supports Ascii format

* Added startPlayback default command for playing back while forcing simulation time to match the recording

* Fixed camera jump in sessionRecording after playback finished. Cleanup in playback of camera to re-use same functionality in keyframenavigator.

* Superb fix to sessionRecording. Realized focusNode of globalNavigationHandler needed to be activly update when camera change for either position of camera to be accurate or for rendered objects to be calculated without precision issues. Can now achieve a correct playback, even close to chunks/renderable, which was not possible before.

* sessionRecording cleanup, fixed all warnings and renamed files to lowercase to match current standards.

* Added error handling for bad input playback filename, protection from corrupted playback file

* Implemented code review changes on pull request #737 for sessionRecording
2018-11-01 18:24:10 -06:00
Emil Axelsson 518b43db02 Fix compiler warnings 2018-08-31 14:30:35 +02:00
Alexander Bock 9f1c4e847d Feature/globals (#690)
* Move global objects out of OpenSpaceEngine
 * General cleanup of main.cpp
 * Add default_joystick asset to all scenes
 * No longer suppress mouse interaction on slave nodes
 * Window delegate uses function pointers rather than subclassing
 * Fix for false overwriting of ImGUI configuration file
 * Change default color and tilt angle of fisheye rendering
 * Restructured performance manager
 * Simplify screenshot handling
2018-08-30 11:38:47 -04:00
Alexander Bock a90023979c Prevent out-of-bounds error when connecting to parallel peer 2018-08-21 16:50:28 -06:00
Emil Axelsson 902e3e6dac Feature/time interpolation (#669)
* Initial implementation
* Better approximation of target time
* Correctly use double precision for time passing
* Cleanup
* Adding proportional adjustment of delta time at end of interpolation
* Keyframe based time interpolation
* Add property for time interpolation duration. Move time interpolation methods to TimeManager.
* Fix bugs with time gui
* Make several clicks on delta time buttons work as expected
* Clean up
* Improve time interpolation for parallel connection
* Improve time API. Fix time interpolation bugs.
* Fix mac compile issue
* Add hour button
* Add missing + sign
* Remove newer images from projection buffer when going back in time
* Add comment about clearing projection buffer
* Fix bug with jumping time in parallel connection
* Rename integrateFromTime to previousFrameTime
* Compile fix for iswa module
* Address code review comments
* Code cleanup
* Fix bug causig unsmooth behaviour when pausing while interpolating in time
2018-07-13 11:07:35 +02:00
Alexander Bock 99a6efca8e Declare PropertyInfo as constexpr, rather than const 2018-06-28 17:08:56 -04:00
Alexander Bock 4952f8f977 Code cleanup branch (#618)
* Make height map fallback layer work again
  * Add documentation to joystick button bindings
  * Removed grouped property headers
  * Add new version number constant generated by CMake
  * Make Joystick deadzone work properly
  * Change the startup date on Earth to today
  * Fix key modifier handling
  * Add debugging indices for TreeNodeDebugging
  * Fix script schedule for OsirisRex
  * Do not open Mission schedule automatically
  * Upload default projection texture automatically

  * General code cleanup
  * Fix check_style_guide warnings
  * Remove .clang-format
  * MacOS compile fixes
  * Clang analyzer fixes
2018-06-10 04:47:34 +00:00
Jonathas Costa 535a8dd668 Merged Master. 2018-04-20 10:18:46 -04:00
Alexander Bock 4041bbb935 Cleanup (#600)
* General Code Cleanup
 * Add check for TABs to check_style_guide.py
 * Removing warnings
2018-04-19 13:27:15 -04:00
Emil Axelsson 0fcd3d9fab Send view scaling over parallel connection 2018-03-20 14:23:46 +01:00
Emil Axelsson d64a0df5f6 Feature/thesis work merge (#566)
Web GUI from Klas Eskilson (three new modules: webgui, webbrowser and cefwebgui)
Parallel connection refactorization
Wormhole server added to the main repository
Transfer function editor work from Cristoffer Särevall
Update ghoul
2018-03-20 09:30:59 +01:00
Alexander Bock db7ae7e384 Issue/453 (#556)
* Introduced guiName to PropertyOwner
  * Added requirement that PropertyOwner::identifier may not contain whitespaces
  * Changed Name to Identifier in asset and scene files
  * Added new PropertyOwner to RenderEngine that owns the ScreenSpaceRenderables
  * Moved Name and GuiPath into GUI group
  * Added user-facing names to layer groups
2018-03-16 09:21:29 -04:00
Alexander Bock a3c849843f Feature/new formatting (#547)
* Change to new logging format (closes #542)
 * Adds a screenshots folder that uses the application startup time
 * Creating focus nodes for VRT files if the info files contain location information
 * Fix issue with removing virtual properties
 * Add a method for returning the cartesian coordinates for a geolocation on a planet
2018-03-07 18:10:32 -05:00
Alexander Bock 6d76080370 Simplify script precondition argument checks 2018-02-15 17:56:12 -05:00
Emil Axelsson a85eddff4e Clean up lua stack and weak pointers 2018-02-09 16:44:34 +01:00
Alexander Bock dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Emil Axelsson d4278f9adc Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-12-17 18:30:00 +01:00
Alexander Bock a631b7e0a3 Making most logger categories constexpr 2017-12-11 23:46:34 -05:00
Emil Axelsson fb675dfeab Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-12-04 10:52:12 +01:00
Alexander Bock 3a7f221793 Remove GCC warnings 2017-11-13 16:22:07 -05:00
Emil Axelsson 19812af629 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-11-11 19:10:42 +01:00