Commit Graph

49 Commits

Author SHA1 Message Date
Alexander Bock
4049501406 Adding a function to return whether OpenSpace currently is paused 2024-04-04 17:09:34 +02:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock
7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock
6249fa6d89 Collection of a number of changes (#2286)
* Cleanup Property code
* Remove NOLINT statements
* Return Property class types as string_view
* Remove getStringValue function
* Simplify string value retrieval
* Ensure that image paths in the ImageSequenceTileProvider are sorted (closes #2205)
* Some cleanup of OpenSpaceEngine
* Cleanup documentation
* Some more cleanup of engine classes
* Some more cleanup
* Update SGCT repository
* Use new Jenkins node identifiers as the old method broke with update
2022-10-30 12:54:14 +01:00
Alexander Bock
d360f2ae59 Address Visual Studio analyzer warnings 2022-04-12 00:58:11 +02: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
GPayne
a4d84d8703 Code review changes on new profile initialization 2021-09-16 23:11:02 -06:00
GPayne
51f6c9d45b Rearranged profile initializations and verified that all init correctly 2021-09-12 21:05:00 -06:00
GPayne
cd50c3e4cf Working non-assetized initializations for profile sections besides modules and interesting nodes 2021-09-07 21:55:44 -06:00
GPayne
892adf62bf Eliminate duplicate frames at time transitions when saving screenshot frames during playback 2021-07-19 23:33:10 -06:00
GPayne
14af0e5a93 Time manager uses simulated application time during playback-with-frames 2021-07-11 14:43:54 -06:00
Alexander Bock
cb17bd7570 Remove warnings 2021-05-25 22:06:49 +02:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
60e3ed2170 General pass for coding style 2020-11-28 22:31:06 +01:00
Emma Broman
887fe5572d Merge pull request #1302 from OpenSpace/issue/1285
Issue/1285 - Add delta time steps to profiles and generate keybindings for number keys
2020-10-12 08:35:36 +02:00
Alexander Bock
de97a5520a Merge branch 'master' into feature/session-recording-improvements
# Conflicts:
#	include/openspace/network/messagestructures.h
#	src/interaction/sessionrecording.cpp
2020-10-09 22:10:40 +02:00
Emma Broman
ec1fbb09f8 Warn if multiple keys are bound to a key on removal 2020-10-09 18:52:38 +02:00
Emma Broman
37c45a10b6 Cleanup 2020-10-09 18:16:48 +02:00
Emma Broman
07520cd270 Clean up includes 2020-09-21 13:49:36 +02:00
Emma Broman
64a09b50c3 Reset keybindings when delta times are changed 2020-09-21 13:37:31 +02:00
Emma Broman
5d895dd266 Add keybindings for delta time steps 2020-09-21 13:37:25 +02:00
Emma Broman
f8a31d11cc Cleanup 2020-08-24 11:32:32 +02:00
Emma Broman
a636faeaac Add option to immediately set delta time step, without interpolation 2020-08-24 11:32:32 +02:00
Emma Broman
4293fad3e9 Add server topic for delta times and send data to GUI 2020-08-24 11:32:31 +02:00
Emma Broman
457dabe9b7 Add list of delta time steps, stepping functions and keybindings 2020-08-24 11:32:31 +02:00
GPayne
1c108f99d3 Merged master into branch 2020-06-30 16:22:15 -06:00
Alexander Bock
d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
GPayne
1e426f3c46 Prevent changing the simulation time rate during playback 2019-09-04 11:10:08 -06:00
Emil Axelsson
2f1131dac3 Issue/772 (#811)
* Fix issue #772
* Update webgui frontend
2019-03-24 12:50:54 +01: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
7181de4673 Feature/webgui ops (#723)
* Update node packages, download nodejs in build process, start server from openspace process
  * Patch CEF cmake automatically
  * Build webserver automatically
  * Work on CMake for WebBrowser, Webgui and CefWebGui
  * Map key modifiers to CEF
  * Smooth time interpolation in webgui
  * Automatically focus on search field in filter lists
  * Move webgui code to external repositories
  * Use asset system to distribute webgui
  * Remove webgui from main repository
  * Add support for right click in webgui and improve timetopic
  * Resolve cmake policy warning
  * Add relative time interpolation to lua interface
  * Sanitize json error message before logging error. Workaround for #736
  * Added gui properties to scene graph nodes
  * Add version topic
  * Add shortcuttopic
  * Add ability to disable rendering of cefwebgui
  * Don't do message loop work if there is no browser.
  * Set correct path to nodejs on unix
  * Message loop work in presync
  * modifications for shortcuts in gui, added names for shortcuts
  * Set properties via lua scripts
  * Allow gui grouping for shortcuts
  * Add gui paths keybindings
  * Blocking keyboard callbacks when webgui has keyboard focus in an editable field
  * Allow disabling of WebBrowser and CefWebGui
  * Make it possible to hide GUI
  * Get rid of redundant dashboard items if web gui is used
  * Hide WebGUI on slave nodes
  * Hide WebGUI on main rendering window if a GUI window exists
 * Enable WebGUI on default unless it is overwritten in the openspace.cfg
  * Add guiName for propery owners in socket api
2018-11-05 20:45:38 -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
Alexander Bock
381dbf576d Display current delta time when interpolation is happening 2018-07-18 14:19:04 -04: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
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
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
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Alexander Bock
93534d13bc Fix error with preInitialization timestep being overwritten 2017-10-10 12:34:11 -04:00
Emil Axelsson
ea5382c028 Volume conversion and rendering (#350)
Add volume rendering features
 - Improve task runner
 - Improve reading from CDF files
 - Basic time varying volume rendering
 - Fix scaling bug in RenderableToyVolume
2017-09-22 12:03:23 +02:00
Emil Axelsson
752081d31b feature/time-refactor (#294)
- Change Time class to become a non-singleton
- Move ownership of the current time to TimeManager(instead of singleton access).
- Store the Time as a Syncable in TimeManager instead of representing all member variables of Time as Syncables.
- Pass a Time object around in the update/render methods, so that renderables don't have to query the OpenSpaceEngine to know if time is paused or if it jumped.
- Introduce Timeline and Keyframe classes
- Make use of Timelineand Keyframeclasses in KeyframeInteractionMode and TimeManager
- Added basic unit tests for Timelineand Keyframe

Future work: Add interpolation schemes for keyframes. Possibly use keyframes+interpolation feature to tween/morph properties, or figure out if this should be a separate mechanism.
2017-05-22 14:01:08 +02:00
Emil Axelsson
5589de995b Feature/domecasting (#288)
* Improve dome casting feature. Add basic GUI for domecasting.

* Reenable remote scripting from Lua console. Add more settings and debug information for domecasting.

* Do not try to reconnect to parallel connection forever

* Fix interpolation bug for dome casting with globe browsing interaction mode

* Show parallel connection properties in correct GUI

* Fix bug for dome casting with globe browsing interaction mode. Add property for time tolerance.

* Update header file

* Clean up dome casting code

* Remove obsolete lua functions from ParallelConnection.
2017-04-13 23:16:00 +02:00
Alexander Bock
23ea86949f Updated check_style_guide to test for include guards and copyright
notices
 - Fix include guards
 - Fix copyright header indentation
 - Update copyright years
2017-02-09 23:55:39 -05:00
Alexander Bock
d139dd2d22 Clean include guards in OpenSpace core
Remove unused files
2016-12-09 13:54:22 +01:00
Emil Axelsson
b448b0ec5e Move all network namespace members into the openspace namespace 2016-09-30 14:13:36 +02:00
Emil Axelsson
8efdddde39 avoid oversampling in time sync 2016-09-23 00:27:06 +02:00
Emil Axelsson
112fe7fc54 synchronize time over parallel connection 2016-09-22 18:42:19 +02:00