* Add fov input for fisheye projections in launcher
* Updated gitignore to ignore more necessary files
* Fixed typos
* Replace `add_definitions` with `add_compile_options` in CMakeLists for /MP /bigobj, which are not preprocessor defs
* Fixes in TuioEar: add `override`; replace erroneous `unique_lock` with `lock_guard`; minor refactor
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Fix faulty log category and minor inconsistencies in GlobeTranslation and GlobeRotation
* Small refactor
* Remove unused return value from initialize function
* Fill attached node in globetranslation initialize and initialize all timeline
Should make the timeline translation work with globetranslations in other cases that the renderabletrails
* Do the same type of change for rotation and scale
* Update initialize function singatures
* Initialize and update translation in trail before use
* Screenspace renderable renderable - move initialize call to initialize
* Refactor trail position calls to make it clearer what is being done
* Call timeframe initialize functions in transform classes
* Do not call update in trail position after all - it borks up the performance
* GlobeTransform: Only fill attached node in init and onchange, and allow nodes without renderable
* Correctly initialize the multi-transform types
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Address code review comment
* Update comments in renderabletrail
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
New screen space renderable class, ScreenSpaceTimeVaryingImageOnline, for displaying online time-dependent images from a JSON file.
This class loads a JSON file containing timestamped image URLs and displays the image that corresponds to the current simulation time. It only renders during the valid time interval defined by the dataset and updates automatically as time progresses.
New dashboard item class, DashboardItemTimeVaryingText, designed to display numeric values from a JSON time series, dynamically updating based on time. Also added examples for this.
Useful for displaying dynamic values like KP index or solar wind parameters in sync with time.
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Remove Escape keybind; move gui keybind to F2
* Clear up keybinds properly
* Workaround for CEF focus bug
* Add TODO comment
* Guard against null ptr dereferencing
* Remove shift tab
* add additional keyboard mapping from glfw to cef
* Change dashboards to make prototype for first user test
* add mission added/removed event, disptached when a mission has been loaded/unloaded
* send missions as map instaed of array, rename missionName -> name
* Set keybind for toggling overlays to shift+f2
* Remove property for showing the title in the gui skybrowser module
* Remove default setting for skybrowser
* First implementation of setting the ui panel visibility from the launcher
* Add profile topic
* Coding style adjustment
* Add markNodes to the profiletopic
* Change format of additional data of options in engine
* Address PR comments
* map escape key from glfw to cef correctly
* fix issue with "Enter" key not working on buttons and other input fields in CEF
* Add test for new profile version
* Send skybrowser data although we are outside the solar system
* Update webgui to new ui
* Add name to profile topic
* Add cef variable to javascript context for when browser is in cef
* Use camelcase for cef variable
* Rewrite shortcuts topic to ActionKeybind and pass data in a better way (#3590)
* Rewrite shortcuts topic to ActionKeybind and pass data in a better way
* Fix strange error with file structure
* Address PR comments
* Address PR comments
* Address PR comments
* Make numbers in asset file prettier
* Rename name to identifier for missions event
* Clean up browser code
* Update UI hash (to fix the actions panel not working)
And update outdated comment. The backend is not part of this
* Feature/notify meta data change (#3605)
* Add notifyMetaDataChangeListener to topic
* First round of clean up the data passing
* Convert from string to json for metadata
* Update additional data to json
* Use nlohmann::json for additional data
* Pass meta data in new structure to topics
* Remove meta data method
* Fix mistake in merge
* Update src/properties/property.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove TODO comment that will be fixed by this PR
* Address PR comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
* Address PR comment
* Remove function for setting the endpoint
* Update frontend hash
* Remove enabled property from exoplanets module
* Remove enabled property from skybrowser module
* Update default UI panels json
* Remove setting of enabled properties for skybrowser and exoplanets
* Update gui hash
* Auto format json
---------
Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Make GlobeRotation and GlobeTranslation work for non-globes and move them to the base module
* Move ellipsoid and geodetic classes into the core
* Allow more things to take scene graph nodes instead of RenderableGlobes
* Move goToGeo and related Lua functions into the core
* Move more functions from the pathnavigation namespace into the navigation namespace
---------
Co-authored-by: Emma Broman <emma.broman@liu.se>
- Correctly render multiline text passed to a DashboardItemText
- Invert the property for the Dashboard location to no longer need a negative y-axis
- Use the current lineheight instead of pointsize for the ScreenLog
- Remove the unused size function from DashboardItems
* Notify change listeners
I can't come up with a reason for why we would not want to do this
* Remove the Display Type for OptionProperty (only used in ImGui)
* Replace extra boolean with internal anonymous addOption function
* Tiny refactor
* removed dropdown on a couple of more places
* Update optionproperty.cpp
---------
Co-authored-by: ElonOlsson <olssonelon@gmail.com>
- Make the SourceType and DestinationType parameters required in the DashboardItemAngle
- Shift the "UTC" string in the DashboardDate from the FormatString to the TimeFormat
- Make the SourceType and DestinationType parameters for the DashboardItemDistance required
- Add new "Deltatime" option to the DashboardItemFramerate. Add examples for the DashboardItemFramerate
- Fix issue where the inputstate would not update if no option was selected
- Automatically disable simplification if a unit is requested in the asset for a DashboardItemSimulationIncrement or DashboardItemVelocity
- 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
* Makes Translation/Scale/Rotation all able to have a TimeFrame, not just the SpiceRotation. Add read-only BoolProperty to the TimeFrame that indicates whether the current time is a in the timeframe
---------
Co-authored-by: Emma Broman <emma.broman@liu.se>
- Expose the FormatString property (closes#3519). Contrary to other properties, it wasn't accessible through the scripting API.
- Fix the time simplification logic (closes#3515). If the lowest required time unit's value was zero, all time units where displayed regardless of what the user required. Fix this by using a "less than" comparison rather than an equality comparison.
- Fix string truncation (closes#3516). The time string truncation was off by one, causing the trailing unit name to be truncated e.g. (minutes -> minute).
* Remove duplicated node line example
* Update `ScreenSpaceBrowser` example to new format
* Add screenspace image examples
* Add docs and examples for `RenderableGrid`
* Add docs and examples for `RenderableRadialGrid` + create 10 grid segments per default
* Add docs and examples for `RenderableSphericalGrid`
* Remove the old, combined, grid example
* Apply suggestions from code review
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Fix a reference to a deprecated and renamed function in navigationstate docs
* Review documentation for scripts defined in .lua files
And utilize new markdown functionality
* Update renderable box grid size specs
So that it can have a size less than 1, and throws a specification error when the size is given as negative
* Fix some issues with the gaia filtering scripts
* Try adding param documentation to the lua script documentation
It works!
* Utiliize mroe markdown features in the updated documentations
* Add function parameter info and make small updated to gaia filtering functions
* Replace a long parameter info in description with `param` description
* Update usage examples
* Add example of how to create debug axes for the current SGN