Commit Graph

420 Commits

Author SHA1 Message Date
Alexander Bock
f1e2765da9 Add support for multiple occurrances of -c commandline argument 2023-01-26 21:08:37 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Emma Broman
53f6c8cbeb Add property to disable all mouse input in OpenSpace engine (#2361)
Solves problem with double inputs when using touch interaction
2022-12-16 14:07:22 +01:00
Alexander Bock
6249fa6d89 Collection of a number of changes (#2286)
* Cleanup Property code
* Remove NOLINT statements
* Return Property class types as string_view
* Remove getStringValue function
* Simplify string value retrieval
* Ensure that image paths in the ImageSequenceTileProvider are sorted (closes #2205)
* Some cleanup of OpenSpaceEngine
* Cleanup documentation
* Some more cleanup of engine classes
* Some more cleanup
* Update SGCT repository
* Use new Jenkins node identifiers as the old method broke with update
2022-10-30 12:54:14 +01:00
Alexander Bock
8f98320bf6 Add new functions into the window delegate to query node id 2022-09-21 14:34:36 +02:00
Emma Broman
0cc5704b6a Add isGuiWindow check for mouse and keyboard callbacks
Fix interaction problems when hovering/clicking with the mouse in a non-GUI window, when having a setup with more than one window (e.g. the single_gui.json setup)

Previously, clicking with the mouse in the rendering window without the GUI also triggered mouse clicks in all the other windows, including the GUI windows. This was disturbing for interaction in the single_gui setup

Now, the GUI modules check to see if the clicked window is actually an interaction window
2022-08-05 11:41:10 +02:00
Alexander Bock
41a4171aeb Expose the SGCT statistics information through a property in the RenderEngine (closes #2195) 2022-08-01 15:27:05 +02: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
2f58e8ec8e Remove some more warnings 2022-07-22 14:27:45 +02:00
Ylva Selling
6a3cdb172f Merge remote-tracking branch 'origin/master' into feature/properties-visibility 2022-06-29 08:52:22 -04:00
Alexander Bock
02a2bcf1af Add property that contains the list of all compiled modules (closes #1021) 2022-06-18 19:44:05 +02:00
Ylva Selling
0fa317d96f Fixes to comments on pull request 2022-05-17 11:40:19 -04:00
Ylva Selling
e1bda38529 Make imGUI listen to OpenSpaceEngine properties for visibility for properties and for scene graph nodes 2022-05-12 12:11:00 -04:00
Ylva Selling
0824b59d77 Move properties for visibility from CefWebGui to OpenSpaceEngine 2022-05-12 10:11:25 -04:00
Ylva Selling
9d583dafe9 Make Engine a Property Owner 2022-05-12 10:10:14 -04:00
Alexander Bock
ee735618b4 User Properties (#2064)
Add the ability to add user-defined properties using a new `openspace.addCustomProperty` function that takes an identifier and a type and creates a new property of that type.  The new property is then available under `UserProperties.<identifier>`
2022-05-04 16:06:08 -07:00
Alexander Bock
d360f2ae59 Address Visual Studio analyzer warnings 2022-04-12 00:58:11 +02:00
Alexander Bock
6eba57730f Dynamic DPI scaling (#1980)
* DPI scaling
 1. Add the ability to query the operating system's DPI scaling values
 2. Expose those values through a new Lua function
 3. Add an asset that sets the CEF gui and the Dashboard font sizes and placements based on the DPI scaling
 4. Add that new asset into the base_blank asset
* Add message when including the dpiscaling
2022-04-08 13:28:18 +02:00
Alexander Bock
73292ee54c Rename 'slave' to 'client' in the remaining code 2022-04-05 23:10:49 +02:00
Alexander Bock
3844df20c9 Feature/codegen lua (#1906)
Adapting Lua functions to new codegen functionality
Improve the documentation itself
Add some styling to generated documentation
Have parameter names for Lua-defined Lua function documentation

Co-authored-by: Emma Broman <emma.broman@liu.se>
2022-03-21 09:05:37 +01:00
Emma Broman
d0fcec569c Address stability problems for camera paths and make them more useful in general
* Change spline curve parameter interval from [0,1] to [0,nSegments], for slightly increased precision
* Use linear paths whenever precision isn't enough/paths are too long (and traverse linear paths differently, to make them less depending on the distance)
* Remove OrbitalNavigator.LinearFlight and instead add "Zoom to" helper functions (closes #1837 )
* Add check to prevent triggering awkward short paths, for example when flying to the current target or to the same geo position twice
* Refactor speed code and handle speed when path is shorter than start+closeup distance
* Add easing to speed dampening
* Add topic for engine mode (to be used for UI later)
* Cleaner log when creating paths (some previous info messages are now debug messages)

Related PR: OpenSpace/OpenSpace-WebGuiFrontend#70
2022-02-25 08:49:19 +01: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
Emma Broman
f45b782234 Remove all remaining virtual property related code 2022-02-10 14:28:15 +01:00
Emma Broman
91b0581d39 Introduce engine modes to handle Camera path and session recording transitions
* Clarifies which system is control over time and camera at what time
* Fixes #1845
* Prevent invalid switching between session recoring and camera path playback
* Some cleanup, mosly of SessionRecording and NavigationHandler. Also, remove ExternInteraction and some other unused/nonexisting functions
2022-02-03 16:08:21 +01:00
Alexander Bock
2222d3d9e0 Update SGCT to enable taking screenshots of individual windows 2022-01-07 12:00:00 +01:00
Alexander Bock
d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Alexander Bock
debcb43ade Feature/assets (#1784)
General overhaul of the Asset loading system
2021-12-19 18:04:01 +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
51f6c9d45b Rearranged profile initializations and verified that all init correctly 2021-09-12 21:05:00 -06:00
GPayne
284c68f952 Finished support for modules and markInterestingNodes 2021-09-08 09:21:56 -06:00
GPayne
194741d136 Reverted to combining assets into combined init followed by post-init 2021-08-25 00:02:45 -06:00
GPayne
4016180b8c Replaced engine init single asset call with separate profile conversions 2021-08-22 22:48:44 -06:00
GPayne
52e4f75b32 Separate profile conversion to assets into sections 2021-08-20 15:56:41 -06:00
Alexander Bock
34985f64a6 Feature/keybindings (#1708)
* Add action manager to handle actions in replacement of keyboard shortcuts
* Implement new Action concept
* Remove the shortcutscomponent as it is no longer needed
* Update profile version from 1.0 to 1.1
* Add action dialog
* Restructure of key specification in keys.h
* Remove solid field-of-view keybind from the newhorizons profile as the setting no longer exists
2021-08-18 10:58:20 +02: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
a69b636dea Global sweep to cleanup the handling of floating point numbers and glm default initialization 2021-06-16 23:09:49 +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
dfc42e9467 Rename createSingeColorImage -> createSingleColorImage 2021-03-22 23:17:42 +01:00
Micah
2158dd585c creating user directories if not existing; 2021-03-04 16:00:34 -05:00
Alexander Bock
548d673e8b Add drag and drop support for images and assets (#1497) 2021-02-11 13:43:36 +01:00
Emma Broman
b10e598cd3 Cleanup and improve test 2021-02-04 13:25:17 +01:00
Emma Broman
3f63f92128 Add test cases for the create single color image lua function 2021-02-04 13:25:17 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
ad8af3ffeb Feature/CMake (#1443)
General CMake cleanup/overhaul
* Enable precompiled headers for all projects
* Move specifications itto separate CMakeLists files
  * Add openspace-core as a subdirectory
  * Move handle_modules functionality into modules/CMakeLists.txt
  * Move handleapplications logic into apps/CMakeLists.txt
* Introduce openspace-module-collection interface library to simplify inclusion of modules in applications
* Turn module initialization into a two-step process to adapt to the new minimal dependency scenario
* Compile time speedup
  * Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC
  * Build Spice multithreaded and as static library
  * Remove dependency from core to module-webbrowser
  * Remove unused dependency from kameleon
  * Remove additional unnecessary dependencies
  * Cleanup volume/kameleon/kameleonvolume modules
  * Fix visibility issues. Restrict include paths
  * Compile kameleon in parallel
* Other cleanup
  * Only copy CEF files from one target (hard-coded to OpenSpace right now)
  * Remove unused instrumentation code
  * Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
  * Removing compiler and cppcheck warnings
  * Turn almost all includes into non-system includes
  * Don't warn on deprecrated copy
* Updated submodules
2020-12-28 18:26:57 +01:00
Alexander Bock
51470c0a0d Issue/1355 (#1424)
* Move glfw init after macOS window is ready
* MacOS fixes for BigSur
* Compile fixs
* Rename hirise.asset since linux filenames are case-sensitive
* Modified globals DataStorage method to make Linux and Mac happy
* Switched to unsecure http URLs for satellites due to httprequest problem
* Keep the QApplication around on Mac because of some reason otherwise the keyboard handler crashes
* Add comment explaining the madness
* Apply same techniques to the globalscallback file

Co-authored-by: Micah Acinapura <micahnyc@gmail.com>
Co-authored-by: Gene Payne <payne.gene@gmail.com>
2020-12-07 23:41:20 +01:00