Commit Graph

1044 Commits

Author SHA1 Message Date
Alexander Bock
3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock
e0ab7ae1d6 Coding style fixes 2024-03-19 14:49:44 +01:00
Alexander Bock
534f92c485 Second linting pass and adding .clang_tidy file (#3128) 2024-03-18 22:46:17 +01:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock
9a6fe47d17 Fix up text formatting as path's no longer get quoted 2024-03-08 20:19:06 +01:00
Alexander Bock
fff6f8a627 General pass for code cleanup 2024-03-08 00:36:54 +01:00
Alexander Bock
b77e03dce2 Some general cleanup 2024-03-04 13:03:40 +01:00
Alexander Bock
7a2efc66d6 Simplify profile loading and handling of the loading screen 2024-02-28 00:19:06 +01:00
Alexander Bock
15e3cbbb68 Add documentation to JSON loading functions 2024-02-10 10:23:20 +01:00
Alexander Bock
fa1847d235 Add Lua function to load a JSON file 2024-02-10 10:18:57 +01:00
Alexander Bock
d67cabf578 Coding style update 2024-02-06 16:34:12 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Andreas Engberg
04ff09814d Add event topic (#3010)
* Add event topic

Add ability to subscribe to events via js-api

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Output an error if no status or event object is passed to payload

* fixed typo

* Report a warning if user tries to unsubscribe to a non registered event/type combination

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-01-24 13:51:55 +01:00
timol085
9959c2b94c Add missing include file <sstream> for mac 2024-01-17 16:45:33 +01:00
Alexander Bock
cae9834ec7 Add log rotation function to the Script log as well (closes #2995) 2024-01-09 15:44:22 +01:00
Alexander Bock
97d1dc163b Add the ability for the log file to rotate (closes #2995) 2024-01-08 11:30:46 +01:00
Malin E
690878bc87 Layers maintenance (#2917)
* Separate layers for the Moon and Earth

* One asset each for each server, New York, Utah, and Sweden

* Add the layers asset files for Earth and Moon

* Add new layers structure for Mars and Europa

* Add layers assets for Mercury and Enceladus

* Add more layer assets for all servers

* Add layer assets for each server on the top asset level

* Rename Venus Utah cloud combo layer asset (breaking change)

* Clean up layer asset descriptions

* Update layer asset version name

* Fix base layers error

* Add configuration option to choose layers server

* Add Lua functions to access configuration settings

* Extend configuration Lua function

* Add layer server setting in setting gui + add 'None' as a server option

* Add base layers when server 'None' is used

* Add tests for the new Layer Server setting
2023-12-06 16:17:23 +01:00
Emma Broman
c525565e84 Utilize new functions for converting strings to upper/lower case (#2956)
* Utilize new functions for converting strings to upper/lower case

* Adapt to updated file name

* Use new function signature

* Update ghoul
2023-11-28 14:57:01 +01:00
Alexander Bock
4ee078502b Doxygen (#2953)
* Update Doxygen and add new CSS file
* Remove Doxygen warnings
2023-11-19 16:35:14 +01:00
Andreas Engberg
f3c4fc54db Update UrlSynchronization to limit amount of downloads (#2586) (#2933)
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>
2023-11-14 17:08:38 +01:00
Andreas Engberg
9343c6315d Adds warning and error messages on loading screen (#2941)
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>
2023-11-14 15:40:30 +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
eeb536c9e1 Add the ability to set individual commandline options at the expense of a generic Lua script
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
2023-11-07 16:19:59 +01:00
Malin E
4447de87f5 Issue/2768 (#2872)
* 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
2023-09-07 13:21:29 +02:00
Emma Broman
7411302334 Fix fatal error when starting profile with navigation state camera setting
And provide more information in the fatal error message... (emerged from commit 30b80843c3)
2023-08-08 13:41:20 +02:00
Alexander Bock
30b80843c3 Add a new Lua function that resets the camera back to the start position (closes #2825) 2023-08-03 21:50:25 +02:00
Emma Broman
c949a9892c Issue/2227 - Option to just specify a scene graph node in profile editor camera dialog (#2699)
* 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>
2023-05-24 11:22:41 +02:00
Alexander Bock
94f9e1b051 Do not crash when trying to access a module folder that does not exist (closes #2703). Remove the ability to specify external modules 2023-05-17 22:32:13 +02:00
Joakim Kilby
ca4b6d2ce2 Fix viewport & window issues (#2630)
* 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
2023-05-17 22:02:47 +02:00
Alexander Bock
bde840ad03 Remove a bunch of compiler warnings
* Remove compile warnings
* Coding style fix
2023-05-16 11:59:28 +02:00
Alexander Bock
006aefdff0 Remove explicit specification of read-only profiles and read-only configuration files and use a filesystem lookup instead 2023-05-11 16:03:13 +02:00
Ylva Selling
9a1e6b8002 Remove old json functions 2023-04-26 16:58:55 -04:00
Ylva Selling
e0fc813525 Update scripting documentation to be backwards compatible 2023-04-26 15:10:32 -04:00
Ylva Selling
a668f08f03 Make documentation file use camelCase for the keys 2023-04-26 13:33:39 -04:00
Ylva Selling
3ad2d35cb4 Make all json keys lower case 2023-04-25 17:40:19 -04:00
Ylva Selling
d267bc0dad Remove documentation generator 2023-04-25 16:44:10 -04:00
Ylva Selling
b8b2867a20 Remove handlebars and refactor 2023-04-21 15:48:09 -04:00
Alexander Bock
27ba567af8 Add the ability to set the default property visibility in the openspace.cfg file, which can be overridden with the OPENSPACE_LEVEL environment variable 2023-04-15 18:22:21 +02:00
Alexander Bock
ca916877b2 Adapt the visibility settings for all properties 2023-04-15 09:33:31 +02:00
Gene Payne
cec6e05ff1 Allow Window Config GUI to Edit Files (#2574)
* 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>
2023-04-14 18:28:31 -06:00
Ylva Selling
150c1457c0 Cleanup 2023-04-12 18:27:35 -04:00
Ylva Selling
3ff6169771 Merge remote-tracking branch 'origin/master' into feature/documentation-overhaul
# Conflicts:
#	src/scripting/scriptengine.cpp
2023-04-12 17:37:28 -04:00
Emma Broman
554373eb3e Fading of propertyowners through GUI, and more owners with fade property (#2557)
* 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>
2023-04-06 12:49:49 +02:00
Alexander Bock
0e2d5e245d Add the ability to configure the Console key through the openspace.cfg (closes #2573) 2023-04-03 10:53:09 +02:00
Alexander Bock
1057b369c9 Harmonize the handling of the IsLocal vs Synchronized state of actions (closes #2566) 2023-04-03 10:29:20 +02:00
Ylva Selling
29b37d3462 Add keybindings 2023-03-17 16:59:39 -04:00
Ylva Selling
a83bfea35a Make output file be saved in the documentation folder and as a javascript variable 2023-03-17 14:18:03 -04:00
Ylva Selling
064825060c Update naming to have upper case first letter and spaces when necessary 2023-03-14 16:56:48 -04:00
Ylva Selling
65c05f5701 Restructure data 2023-03-14 16:05:11 -04:00
Alexander Bock
a711591c09 Update Doxygen (#2537)
* Modernizing Doxygen
* Remove warnings for Doxygen
2023-03-06 23:41:24 +01:00