Commit Graph

93 Commits

Author SHA1 Message Date
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Alexander Bock
4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00
Alexander Bock
2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +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
1a88d898d8 Update submodules 2023-02-01 23:41:55 +01: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
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
0d82e1848f Feature/configuration codegen (#1544)
Convert configuration document over to codegen
2021-03-23 15:22:29 +01:00
Emma Broman
d630f85cf4 Fix crash in OpenSpaceTest due to missing initialization of the LogManager 2021-02-23 11:07:42 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Gene Payne
7b9aa7a64c Restored missing global::create call to tests app 2020-12-18 11:12:22 -07:00
Alexander Bock
efffc25ce0 Feature/globals handling (#1352)
* Cleaner handling of global state
* Prevent Lua memory corruption (closes #982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
2020-10-21 22:30:05 +02:00
Alexander Bock
d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock
8f81360628 Move the OpenSpace unit tests from GTest to Catch2
Fix for default.scene
2020-02-10 21:10:35 +01:00
Alexander Bock
207db3c824 Remove PowerScaledCoordinates and rename PowerScaledSphere to Sphere (closes #4) 2019-12-27 23:29:28 +01: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
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
9047dc7a3e Feature/globebrowsing speedup (#735)
* Removal of ChunkRenderer, ChunkedLodGlobe, ChunkCuller, chunklevel evaluator, culling classes, layershadermanager, GpuLayer, GPUData, ChunkNode, Grid, BasicGrid, Chunk files, Angle, AABB classes, PointGlobe, Ellipsoid, TileSelector, tiledatatype, iodescription, simplerawtilerreader, rawtilereader
 * Less dynamic allocation for SkirtedGrid, LayerManager, RenderableGlobe, TextureUnit
 * Clean up memory management in RawTiles
 * Code simplification
 * Optimize shader uniform setting
 * Introduce UniformCache
 * Callback simplification
 * Turn ChunkNode into a struct
 * Use a MemoryPool to organize all ChunkNodes rather than use unique_ptr and the necessary memory allocation
 * Collect draw calls
 * Consolidate fragment shaders between local and global renderer
 * Shader cleanup and optimization
 * Update CMake to not include included shaders
 * Integrate traversal function into the looping
 * Replace std::queue with std::vector
 * Merge TextureContainer into MemoryAwareTileCache
 * Lazy computation of chunk bounding boxes
 * Memory management of LayerGroup
 * Remove class hierarchy from tileproviders (temporaltileprovider not working yet)
 * Remove PBO classes
* Chunk status stored in Chunk
* Don't create a copy of the ChunkTilePile
* Enable culling by projected area on default
* Have raw tile reader return a Tile instead of a shared_ptr to a tile
* Start making GDAL mandatory
* Increase the default lod scale factor to 15
2018-10-30 17:20:06 -04: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
4952f8f977 Code cleanup branch (#618)
* Make height map fallback layer work again
  * Add documentation to joystick button bindings
  * Removed grouped property headers
  * Add new version number constant generated by CMake
  * Make Joystick deadzone work properly
  * Change the startup date on Earth to today
  * Fix key modifier handling
  * Add debugging indices for TreeNodeDebugging
  * Fix script schedule for OsirisRex
  * Do not open Mission schedule automatically
  * Upload default projection texture automatically

  * General code cleanup
  * Fix check_style_guide warnings
  * Remove .clang-format
  * MacOS compile fixes
  * Clang analyzer fixes
2018-06-10 04:47:34 +00: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
Alexander Bock
f38c26eff0 Remove warnings 2018-03-12 22:31:01 +01:00
Alexander Bock
a3c849843f Feature/new formatting (#547)
* Change to new logging format (closes #542)
 * Adds a screenshots folder that uses the application startup time
 * Creating focus nodes for VRT files if the info files contain location information
 * Fix issue with removing virtual properties
 * Add a method for returning the cartesian coordinates for a geolocation on a planet
2018-03-07 18:10:32 -05:00
Alexander Bock
e37df9de89 Feature/unittests (#536)
* Various fixes for Unit tests
* Add regression test for #517
 * Enable better handling of OptionProperties if no options are provided
 * Fix bug that left Lua state unclean after calling vector and matrix properites fromLuaState values
 * Fixed issues where numerical properties would not serialize and deserialize correct values
 * Added unit tests for OptionProperty
 * Fix unit test crash in SpaceManager
2018-02-25 00:28:41 -05:00
Alexander Bock
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Emil Axelsson
d328db7f4b Code cleanup 2017-12-19 12:05:28 +01:00
Emil Axelsson
cb07af4a2b Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-11-10 16:07:58 +01:00
Alexander Bock
80f5706049 Remove warnings on Clang 2017-11-07 09:19:45 -06:00
Emil Axelsson
2623912ec9 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-10-16 11:07:24 +02:00
Emil Axelsson
18c50afeb5 Work on data management. Add some tests 2017-10-13 16:56:53 +02:00
Emil Axelsson
ea5382c028 Volume conversion and rendering (#350)
Add volume rendering features
 - Improve task runner
 - Improve reading from CDF files
 - Basic time varying volume rendering
 - Fix scaling bug in RenderableToyVolume
2017-09-22 12:03:23 +02:00
Alexander Bock
c275b2f833 Feature/cmake cleanup (#381)
* Rename OnScreenGui module to ImGui
* Support multiple external module folders (closes #31)
* Cleaning up CMake files
  * Restructure application specification
  * Add parameter for library mode to all modules
  * Add functions to handle global variable state
* Misc/remove warnings (#383)
* Increase build timeout and do a clean rebuild every commit
2017-08-14 09:38:32 -04:00
Alexander Bock
7737b082d9 Removing more warnings 2017-07-17 18:03:37 -04:00
Emil Axelsson
752081d31b feature/time-refactor (#294)
- Change Time class to become a non-singleton
- Move ownership of the current time to TimeManager(instead of singleton access).
- Store the Time as a Syncable in TimeManager instead of representing all member variables of Time as Syncables.
- Pass a Time object around in the update/render methods, so that renderables don't have to query the OpenSpaceEngine to know if time is paused or if it jumped.
- Introduce Timeline and Keyframe classes
- Make use of Timelineand Keyframeclasses in KeyframeInteractionMode and TimeManager
- Added basic unit tests for Timelineand Keyframe

Future work: Add interpolation schemes for keyframes. Possibly use keyframes+interpolation feature to tween/morph properties, or figure out if this should be a separate mechanism.
2017-05-22 14:01:08 +02:00
Alexander Bock
fabe6dafd9 Remove warnings
- Unit tests
  - core
2017-04-10 14:17:25 -04:00
Emil Axelsson
b06864eefe Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/scenegraph-refactor 2017-03-16 16:35:29 +01:00
Alexander Bock
56d4f891e4 Always throw an assertion in Unit Tests
Update Ghoul repository
2017-03-13 13:01:51 -04:00
Emil Axelsson
7da999c332 Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/scenegraph-refactor
Conflicts:
	include/openspace/engine/openspaceengine.h
	src/engine/openspaceengine.cpp
	src/engine/settingsengine.cpp
	src/engine/syncengine.cpp
	src/interaction/interactionhandler.cpp
	src/rendering/renderengine.cpp
	src/scene/scene.cpp
	src/scene/scenegraph.cpp
	src/scene/scenegraphnode.cpp
	tests/test_scenegraphloader.inl
2017-03-07 10:57:50 +01:00
Alexander Bock
bc75334eb4 Use exceptions instead of success return values for initialize and
create methods
2017-02-25 18:08:53 -05:00
Alexander Bock
0d03177d43 Feature/globebrowsingcleanup (#230)
* Initial restructuring of the Globebrowsing branch

* Update Ghoul repository
Fix include guards

* More cleanup

* Split texttileprovider subclasses into separate files

* Move TileProviders into namespace

* Convert static class methods into free functions

* Splitting tile subclasses into their own files
Remove `using namespace` from header file

* Split TileDataSet subclass into separate file
Update SGCT reference

* Move shader preprocessing data into internal class

* More Globebrowsing cleanup

* More cleanup
Remove unused Convexhull class
2017-02-15 21:20:05 +01:00
Alexander Bock
94e3e11188 Update copyright header to 2017
Update Ghoul repository
Remove libgdal link
2017-02-06 18:02:01 -05:00
Emil Axelsson
4751ce36c4 Refactor scene graph: Move scene loading to separate class. 2016-12-30 17:08:50 +01:00
Alexander Bock
c515bbfd0f Redesign the ScriptScheduler to not copy scripts on return
Fix earth.mod file
2016-12-03 00:51:32 +01:00
Alexander Bock
45d034ad2a Enabling optional arguments
Adding tests to the OpenSpaceTest
2016-09-13 20:27:29 +02:00
Alexander Bock
662e25963b Move ThreadPool class from OpenSpace into Ghoul 2016-08-03 10:58:53 +02:00