Commit Graph

48 Commits

Author SHA1 Message Date
Alexander Bock
f2a9477eb5 Lua Securty Sandboxing (#3378)
* Add Lua sandboxing
* Convert existing files to use custom functions instead of now-prohibited library functions
2024-08-16 13:46:39 +02:00
Alexander Bock
8cdea01b22 Remove support for XML configuration files in SGCT 2024-03-11 15:16:42 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +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
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
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
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
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
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
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
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock
9cc4c595a8 Code Cleanup (#2191)
* constexpr const -> constexpr
* const char* -> std::string_view
2022-07-25 15:57:45 +02:00
Alexander Bock
cbe2e6cdcf Set the default window size to 66% of the primary window size (closes #1883) 2022-02-17 17:55:43 +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
GPayne
a4d84d8703 Code review changes on new profile initialization 2021-09-16 23:11:02 -06:00
GPayne
52e4f75b32 Separate profile conversion to assets into sections 2021-08-20 15:56:41 -06:00
Alexander Bock
dfca605d63 Add the optional ability to print a stacktrace with an OpenGL error (closes #1700) 2021-07-30 15:37:03 +02:00
Alexander Bock
c4bddacfeb Remove nonfunctioning ABufferRenderer from RenderEngine 2021-07-30 12:01:07 +02:00
Alexander Bock
b1f10b1b70 Add the ability to specify RenderEngine font sizes in the configuration file (closes #1653) 2021-06-17 15:39:16 +02:00
Alexander Bock
ccdc5a5dc3 Feature/filesystem cleanup (#1587)
* Adapting to the changes in Ghoul
* First step of moving filesystem functions to std
* Remove persistence flag from cachemanager
2021-05-16 20:26:49 +02:00
Alexander Bock
4c80577d4b Rename PerSceneCache to PerProfileCache and make it work again (closes #1577)
Breaking change in openspace.cfg file:   PerSceneCache -> PerProfileCache
2021-05-05 16:14:00 +02:00
Alexander Bock
0d82e1848f Feature/configuration codegen (#1544)
Convert configuration document over to codegen
2021-03-23 15:22:29 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
77907fc7df Rename ProfilesReadOnly -> ReadOnlyProfiles 2020-10-13 16:22:05 +02:00
Gene Payne
5d5bfd340b Added configuration file bypass launcher key option 2020-10-02 15:49:27 -06:00
Gene Payne
5e02bcd17c Formatting, layout and keybinding improvements 2020-09-27 15:46:13 -06:00
Gene Payne
caee77881c Launcher works with all types of SGCT/Profile settings plus commandline 2020-09-24 15:07:53 -06: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
Alexander Bock
24ce773da9 Update GLM version
Correctly initialize all values as they are no longer default-initialized
2020-02-10 00:09:31 +01:00
GPayne
18810384dc Initial commit of profiles, containing convert-to-scene script 2019-10-18 17:12:57 -06:00
Alexander Bock
af4dee8d01 Update version number to 0.15.0
Move AllowAddresses out of Interface into Server in openspace.cfg to circumvent potential stack corruption
Make lua_state not being copied
2019-09-17 18:38:40 +02:00
Micah Acinapura
1149a61dce resurrecting consolidated documentation (#897)
* Resurrecting consolidated documentation, lots to improve still but better then before
2019-06-03 06:19:45 -06:00
Emil Axelsson
c08805745b Feature/check latest version (#876)
* Log latest version information
2019-05-20 16:13:56 -06:00
Emil Axelsson
e78121febc Feature/screenspace renderables (#830)
* Add ability to position screen space renderables in 3D
  * Independent face camera setting
  * More intuitive local rotation
  * Cleanup
  * Introduce global and master rotation. Remove DisableSceneOnMaster. Revisit screenspace renderables.
2019-04-24 13:34:01 +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
Emil Axelsson
0c6b5e95c6 Introduce ability to configure ports etc for external applications. (#785)
Introduce ability to configure ports etc for external applications, including webgui
2019-01-04 10:23:28 +01:00
Emil Axelsson
7181de4673 Feature/webgui ops (#723)
* Update node packages, download nodejs in build process, start server from openspace process
  * Patch CEF cmake automatically
  * Build webserver automatically
  * Work on CMake for WebBrowser, Webgui and CefWebGui
  * Map key modifiers to CEF
  * Smooth time interpolation in webgui
  * Automatically focus on search field in filter lists
  * Move webgui code to external repositories
  * Use asset system to distribute webgui
  * Remove webgui from main repository
  * Add support for right click in webgui and improve timetopic
  * Resolve cmake policy warning
  * Add relative time interpolation to lua interface
  * Sanitize json error message before logging error. Workaround for #736
  * Added gui properties to scene graph nodes
  * Add version topic
  * Add shortcuttopic
  * Add ability to disable rendering of cefwebgui
  * Don't do message loop work if there is no browser.
  * Set correct path to nodejs on unix
  * Message loop work in presync
  * modifications for shortcuts in gui, added names for shortcuts
  * Set properties via lua scripts
  * Allow gui grouping for shortcuts
  * Add gui paths keybindings
  * Blocking keyboard callbacks when webgui has keyboard focus in an editable field
  * Allow disabling of WebBrowser and CefWebGui
  * Make it possible to hide GUI
  * Get rid of redundant dashboard items if web gui is used
  * Hide WebGUI on slave nodes
  * Hide WebGUI on main rendering window if a GUI window exists
 * Enable WebGUI on default unless it is overwritten in the openspace.cfg
  * Add guiName for propery owners in socket api
2018-11-05 20:45:38 -05: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
Alexander Bock
4d901b688b Make it possible to not load an asset on default and later load it at runtime (closes #694) 2018-08-24 02:34:55 -06:00
Alexander Bock
6ee31384d7 Add option to disable the console key (closes 655) 2018-07-18 14:25:04 -04:00
Alexander Bock
5e1f26cc6b Issue/372 (#606)
* Add commandline argument that applies a Lua script to the configuration
2018-04-21 09:54:05 -04:00
Alexander Bock
db66084ad8 Fix warnings and coding style issues 2018-04-21 08:27:20 -04:00
Alexander Bock
818ee225a5 Define a Cache path on default
Cleanup OpenSpaceEngine
Cleanup RenderEngine
  * ScreenSpaceRenderables are now owned by RenderEngine, rather than being shared_ptr
Cleanup LogFactory
2018-04-21 07:00:43 -04:00
Alexander Bock
b4be63af65 Feature/configuration (#605)
* Switch openspace.cfg file from a Dictionary-based loading to a variable based loading
 * Change ConfigurationManager to not use Dictionary anymore, but a struct with explicit configuration values instead
2018-04-20 18:40:21 -04:00