* Add profile edit to start camera at a given scene graph node
* Restructure some navigation code to allow computing camera pose from node
* Delay computation of camera pose for node spec as well... And give NodeInfo a more extensive name (The objects may move during the frame, making the computed pose invalid)
* Update to make scene graph node first option in editor
* Add some description to each tab in the camera dialog
* Add operator== for CameraGoToNode struct to make the unit tests compile
* Add version handling for new profile version
* Add option to specify an optional height
* Update current version constant, for old test cases to go through successfully
* Add some test files
Note that apparently, the profile loading does not check the values of the individual fields, just existence, and type. So added two test cases that are not currently checked.
---------
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
* Add support for multiple windows & viewports
With correct rendering of both Scene and Overlays/GUI.
GUI is restricted to either the first window or any other windows tagged
with "GUI", overlays are drawn on all windows/viewports.
Closes#2542 and #1645
Add the option to add geojson components to globes, from geojson files. One geojson file creates one GeoJsonComponent, which in turn may contain multiple GlobeGeometryFeatures
Geojson is a format that supports points, lines, and polygons. In addition to the basic functionality, extra features have been added that will long-term allow rendering the geometry needed to represent KML files (another format for geospatial geometry data). Here are links to references for both formats:
Geojson: https://geojson.org/
KML: https://developers.google.com/kml/documentation/kmlreference
data/assets/examples/geojson includes some example files that I have used for testing. Any geojson file can also be added through drag-n-drop. Note however that you might need to change the AltitudeMode or HeightOffset properties for the feature to be visible.
* Added pboettch/json-schema-validator submodule
* Added initial code for selecting window config to edit
* Use updated sgct submodule with json-validate
* Bump sgct submodule version reference
* Bump sgct submodule version reference
* Version checking of sgct window config in progress
* Json schema validator submodule is now in sgct
* Added support for read-only window configs, and additional changes
* More changes with opening config in window edit, plus schema files added
* Update sgct schema version with more defs to work with sgctedit schema
* Fixes to get sgct edit schema working with dialog for error messages
* Improvements in exception handling
* Improved handling of multiple sgct & json exception types
* Minor improvements in exception messages
* Extra spaces in error message output
* Fixing importing of json config data from launcher to sgctedit
* Fixed window size & position update
* Changes for preserving settings in edit vs new mode
* Changes to import settings from config file
* More changes for importing testing of config file based on file tests
* Fixed window placement dims in monitor, and some code refactoring
* Move json validation before initial read
* Add CMake copy of sgct schema file to OpenSpace post-build
* Bump sgct submodule reference
* Modify calls for json schema validation and bump to latest sgct
* Bump to new sgct repo with unit testing and updated schema
* Added first test for window config editor schema
* Finished tests for sgcteditor validation
* Code cleanup pass
* Fix of sgctedit test for remove description
* CMake and include config changes to fix build after merge
* Bump sgct submodule version
* Improve paths in sgctedit test
* Bump sgct reference for test path fix
* Check for imported monitor number being in valid range
* Make sgct config 'monitor' key/value optional
* Have 'save' or 'save as' buttons depending on edit or new modes
* Code review feedback changes
* Fix to include the last file in the user config dir list
* Addressing some PR request
* Change to pass-by-reference in editRefusalDialog
* Separating errors into summary and detailed messages in error dialog
* Disable edit button with hover text if config read shows invalid format
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Add settings to Renderable to control whether the renderbin is updated based on Opacity
* Remove duplicate RenderBin specification for RenderableSphere
* Remove unnecessary RenderBin specifications of Lagrange points
* Don't automatically update the renderbin for RenderableLabel and RenderablePlane
* Remove extra `setRenderBinFromOpacity` from RenderableSpheres
* Move information about whether a renderable should be updated when disabled
* Some cleanup of Renderable class
* Don't update the renderbin automatically if the user specified the renderbin manually
* Add property in OpenSpaceEngine for fading duration when enabling / disabling
* Add interface for fadeable components and apply to renderable
* Make layers a fadeable component
* Make globelabels a fadeable component
* Make labelscomponent a fadeable, and give it an enabled property
* Make screenspace renderables fadeable components
* Introduce concept of parent fadeables, to fade out subowners with parent
* Make rings fadeable as well
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>