Commit Graph

30 Commits

Author SHA1 Message Date
Alexander Bock fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Alexander Bock 820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Alexander Bock 438d6e3ddd SessionRecording and KeyframeRecording redesign (#3399) 2024-10-21 15:06:40 +02:00
Joakim Kilby ed39d4fc68 Add possibility to capture, edit & replay camera-keyframes (#2785)
* Add possibility to capture, edit & replay camera-keyframes

* fix compilation on non-windows systems

* use cbegin/cend instead of std::views

* Coding style adaptions

* Member variable names

* add Keyframe struct, fix pr suggestions

* add function to remove keyframes

* add lua function to fetch keyframes

* Update lua documentation

* add constexpr keys for json entries

* Add log info messages, input checks and general pr suggestions

* update comments to doxygen style

* batch of pr suggestions

* add jump to keyframe function

* update docs

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
2024-08-30 10:25:38 +02:00
Ylva Selling 059ab70218 Add events for adding and removing actions and publishing events when an action is added (#3325)
* Remove unused shortcut manager
* Add events for adding and removing actions
* Publish event when an action is added
* Add get_action event to shortcut topic which sends requested action to the topic
* Add better comments to events
* Publish event action removed when removing an action
* Rename actions to shortcuts in the json object
* Remove subscriptions and rename action to shortcut
2024-06-14 20:48:13 +02:00
Alexander Bock 6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock b62e604b2e Adds a persistent file used to store user settings (#2931)
* Enable the loading of settings
* Add a user interface for changing the settings in the launcher


Co-authored-by: Emma Broman <emma.broman@liu.se>
2023-11-13 08:52:51 +01:00
Alexander Bock 4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock ee735618b4 User Properties (#2064)
Add the ability to add user-defined properties using a new `openspace.addCustomProperty` function that takes an identifier and a type and creates a new property of that type.  The new property is then available under `UserProperties.<identifier>`
2022-05-04 16:06:08 -07:00
Emma Broman f45b782234 Remove all remaining virtual property related code 2022-02-10 14:28:15 +01:00
Alexander Bock d7d279ea16 Happy new year 2022-01-01 12:32:55 +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
Alexander Bock 34985f64a6 Feature/keybindings (#1708)
* Add action manager to handle actions in replacement of keyboard shortcuts
* Implement new Action concept
* Remove the shortcutscomponent as it is no longer needed
* Update profile version from 1.0 to 1.1
* Add action dialog
* Restructure of key specification in keys.h
* Remove solid field-of-view keybind from the newhorizons profile as the setting no longer exists
2021-08-18 10:58:20 +02:00
Alexander Bock 7004c02b86 Happy new year 2021-01-02 15:26:51 +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 b78d1dd033 Merge branch 'master' into feature/memory-allocations
# Conflicts:
#	include/openspace/scene/scenegraphnode.h
#	modules/imgui/include/gui.h
2020-08-05 19:06:04 +02:00
Alexander Bock 6e9db78f40 Remove performance measurements that have been supersceded by using Tracy 2020-08-05 18:28:08 +02:00
Alexander Bock e783807d66 Next step towards enabling a managed memory version of templatefactory 2020-08-04 21:56:39 +02:00
GPayne 0f06f9d233 Merge branch 'master' into feature/profiles 2020-05-14 19:31:19 -06:00
Alexander Bock f1fe2f197b General code cleanup 2020-04-14 15:48:58 +02:00
GPayne 207c7d5657 Profile file handler in progress 2020-03-27 15:10:46 -06:00
Alexander Bock d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
liuloppan da8beff8e9 Feature/interaction monitor (#999)
* interaction monitor first commit

* Renaming some member variables with underscore

* Interaction monitor registering mouse events and touch events

* Added setIdleTime

* Adding to CMakeLists

* Moved interactionmoitor.cpp to correct locatioN

* Cleanup after review. Removed interaction type string and fixed indentation

* Changed documentation description

* Renamed hasNewWebInput to processNewWebInput

* Some cleanup

* Rename registerInteraction to markInteraction
Add markInteraction calls to mouse and keyboard event sin OpenSpaceEngine
2019-10-30 13:18:46 +01:00
Alexander Bock f2a0cb18b0 Feature/websocketnavigation (#882)
* Upgrade JSON Library
* Added support for navigation based on websocket communication
2019-07-31 11:07:25 +02:00
Emil Axelsson c08805745b Feature/check latest version (#876)
* Log latest version information
2019-05-20 16:13:56 -06: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
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 8ddc794cda Feature/alex is flying (#729)
* Correctly specify maximum text sizes for grids
 * Use StaticScale transformations in grids and remove fixed radius
 * Fix Verifier to let grids accept non-integer min and max sizes
 * Add a new scale that changes it's value based on the current time and a reference time
 * Add a proper radiosphere that grows in real time (closes #728)
 * Add default globe customization folders to the assets (closes #724)
 * Add new dashboarditem that shows the current camera velocity (closes #702)
 * Add ability to add interesting times to a scene (closes #715)
 * Reenable keybindings gui element
 * Add ShortcutManager
 * Add ability to bind keyless keybinds to use as arbitrary shortcuts (closes #710)
2018-10-08 03:00:35 -04: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