Limits the number of URL synchronization downloads by time stamping files for X seconds fixes (#2586).
Also, show the amount of downloaded data as soon as the download is started fix (#2460)
* Adds time validity to UrlSynchronized files (#2586)
Updated affected asset files. Satellite asset files lasts for 24h by default now. Other assets are updated to work as before. Obs timestamp is computed using UTC time.
* Code cleanup
* Update httpsynchronization.cpp
* Applied suggestions from code review
* Update multi-line comment to `//`
* Remove accidental commas in .asset files
Co-authored-by: Emma Broman <emma.broman@liu.se>
* Fixed PR comments + bug in .asset file
* Refactor code
* Reports downloaded data as early as possible, fixes (#2460)
* More files
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Fixes task 1 of (#494)
* Removed loading screen progress bar
It was removed because it does not show an accurate estimation of load times and is rarely used (off by default)
* Add status info to the loading screen on warnings and errors
Add: Warning logs and above to loading screen, fixes task 1 of (#494)
Removed code duplication in openspanceengine.cpp
Fixed some bugs where completed assets would not disappear from the screen
* Update the design & address PR comments
* Address PR comments & add bool to show/hide log msg
* Delete test_configuration.cpp
* Update Ghoul submodule
* Renders number of warnings and errors to screen
* Update renderengine.cpp
* Adapt new function to the coding style
---------
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Note breaking change: Previously `--config` specified one or more Lua scripts that were executed to update the configuration state, now the `--config` sets the path to the window configuration instead
* Update HttpSynchronization to keep track of files downloaded (#2587)
Reads ossync file on synchronization and download files that are missing
* Apply suggestions from code review
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Apply suggestions from code review
* Fixed merge conflict errors
* Fixed asset being rejected on successful sync
* Add enum for download fail/success, sleep between download retries.
Removed comments and todos
* Fixed PR comments
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Split RenderableSphere class into a local and an online sphere
* Make the video sphere derive from the regular sphere
* Make RenderableTimeVaryingSphere derive from RenderableSphere
* Some clean up
* Add general functions for renderable matrix calculations
* Make RenderableSphere and Plane use them
* Fix an issue with the RenderablePlane shader
* Make one function that returns all three types of render matrices
* Make more Renderables use the general matric calculation function
* Make more Renderable use the general matrix function
* Simplify alternative transforms for matrix calculations
* Small clean-up
* Update RenderableModel (again) to use new transform functions
* Make calc all matrix function to return tuple
* Update some more places
* Create a RenderableNodeLine example asset
* First version of node direction hint renderable (arrow)
* Add possibility to set length as a multiplier of the bounding sphere
* Draw arrow cylinder using index array
* Update exponents and min max values for lengths
* Draw arrow head
* Only update arrow geometry when positions change
* Add some properties to control visuals of arrow
* Implement invert option
* Add normals and shading
* Set arrow head size by length percentage instead of angle
* Add bottom circle to cone
* Cleanup and update examples
* Remove non-existing property from example asset
* Fix vertices not updating if anchor node was changed
And some missing updates on property change
* Start cleaning up some shape rendering helper functions
* Cleanup code and move cylinder function to helper class
* Refactor cylinder creation code (fewer loops over same vector)
* Update transformations to correctly scale and place arrow
* Add the cone to make the arrowhead
* Update faulty triangle normals
* Add property visibilities
* Rename NodeDirectionHint to NodeArrow
* Apply suggestions from code review
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Hack to try to get desired behavior (for testing)
* Add properties to control axes of rotation and whether rotation aorund up should be enabled
* Generalze orbit function to just use an angle instead of speed and deltatime
* Move speed scale computation to a separate function
* Refactor horizontal translation code a bit
* Refactor speed computation for idel behavior
* Refactor/clean up orbit code
* Add property docs
* Add some safety checks
* Apply suggestions from code review
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* More updates based on code review
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
* Rename remote scripting property to reflect better what it does
* Change the remote scripting name in all modules
* Update all scripts and action calls to use the new property for sync
* Simplify code that decides whether to send actions to nodes and peers
* Move Lua console hint text to be right top aligned
* Update Lua script topic
* Added new JSON key whether or not the script should be synced to other
nodes and peers
* Per default all scripts sync to everyone
In the next full release, we should have two separate keys that
decides whether to sync and send to nodes and peers separately
* Add some comments that explain why there is no sync for some scripts
* Make sync argument in trigger action function BooleanType
* 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.