Commit Graph

372 Commits

Author SHA1 Message Date
Alexander Bock
f704bc9bb8 Correctly update scale, rotation, and scale classes where multiple subtypes are involved 2025-05-01 18:00:36 +02:00
Alexander Bock
637ee4ec4f Cleanup of the Initializer class (#3631)
* Combine single- and multithreaded initializer to only one initializer
* Change the default to 0 to represent initializing the nodes on the main thread. Increase the default number of threads

---------

Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2025-05-01 10:24:27 +02:00
Alexander Bock
6dc738e54e Move functions about globe locations from the GlobeBrowsingModule into the core (#3613)
* Make GlobeRotation and GlobeTranslation work for non-globes and move them to the base module
* Move ellipsoid and geodetic classes into the core
* Allow more things to take scene graph nodes instead of RenderableGlobes
* Move goToGeo and related Lua functions into the core
* Move more functions from the pathnavigation namespace into the navigation namespace

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-04-23 16:15:17 +02:00
Alexander Bock
6fa3f76c48 Add a new panel to the Launcher to control which WebUI button appears on the bottom bar (#3569)
- Add markNodes to the profiletopic

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-04-03 18:09:35 +02:00
David Wagner
9dcdf42df6 Add a 'reload' function to the AssetManager. Also make it vailable as a scripting API (#3543) 2025-03-22 14:49:52 +01:00
Alexander Bock
fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Alexander Bock
7328a94fb1 TimeFrame specification and status (#3553)
* Makes Translation/Scale/Rotation all able to have a TimeFrame, not just the SpiceRotation.  Add read-only BoolProperty to the TimeFrame that indicates whether the current time is a in the timeframe

---------

Co-authored-by: Emma Broman <emma.broman@liu.se>
2025-03-10 13:53:32 +01:00
Alexander Bock
5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock
bc4a137040 Add new property hint to determine if a scene graph node should focusable (#3508) 2025-02-10 17:57:31 +01:00
Alexander Bock
096363fd06 Make constructors explicit 2025-02-05 23:22:32 +01:00
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Alexander Bock
438d6e3ddd SessionRecording and KeyframeRecording redesign (#3399) 2024-10-21 15:06:40 +02:00
Andreas Engberg
6dd3dd8ab8 Feature/UI launcher accessibility (#3417)
* update background and foreground colors in launcher

* Change tab order and preliminary focus visuals

* update focus color

Improves on #3091 but does not fixes it, the contrast ratio is 2.4/2.9-3.3 versus the white border/the gray background on each button/dropdown

* update focus border width

* Update color of error messages fixes #3103

* Enable enter key interaction on ui launcher buttons fixes #3092

* Update accessibility names on buttons and fields where the current readout does not make sense, fixes #3089

* Fixed issue where you could not tab out of multiline textfields

* Add overlay to the launcher image to increase contrast

* Slightly improves readability of Start button fixes #3096

We decided to keep the all caps to indicate call to action

* Add start button to have default focus which enables quick start by pressing enter or space on startup

* Removed overriden object name

* Update color label text for better clarity fixes #3094

The actual fix is in #9a7e8e1

* Add `esc` keypress to exit the launcher fixes #3097

* add placeholder text for profile name fixes #3101

* Fixed issue with properties, assets, and keybindings multiline readout, fixes #3098

* Change tab order of properties, assets, and keybindings: text area -> edit button,  fixes #3099

* Add prompt to user warning of unsaved changes in profile editor

* Add error message dialog fixes #3100

* Removed unused code

* Remove hardcoded color for information text in cameradialog

* Don't compare profile files but profiles instead

* Add same focus outline to all buttons in launcher

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-10-11 10:13:32 +02:00
Alexander Bock
16484dc295 Doxygen cleanup and moving functions in SceneGraphNodes 2024-08-28 11:50:39 +02:00
Emma Broman
6e6f425a0a Issue/3337 Custom UI group ordering (#3363)
* remove code for controlling group sorting in ImGui

We only use this for debug and the sorting here is no longer relevant

* Add feature to add custom ordering to UI groups

* Tiny cleanup

* Add numerical ordering for night sky planets

* Update Lua function name and create an event when ordering updated

* Set top-level ordering

* Add function documentation

* Add a custom ordering that previously was hardcoded in UI

* Apply suggestions from code review

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

* Rename GUI ordering function

* Update GUI hash

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-08-22 16:51:28 +02:00
Emma Broman
cca2f7e272 Add possiblity to sort SGNs in GUI based on numerical value (#3340)
* Add possiblity to sort SGNs in GUI based on numerical value

And apply to grids

* Fix mistake in docs

* Apply suggestions from code review

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>

* Rename Order -> Ordering and remove unused getter functions

* Update GUI hash to match the UI changes

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2024-07-17 09:54:59 +02:00
Emma Broman
19f0f707dc Issue/2174 - Show items with no GUI tag in asset in the GUI (#3133)
* Always add GUI properties, even if tag is not in the asset

To make objects wihtout GUI tag be included in the UI

* Hide the hover circle, to clean up scene menu list a little

* set root node gui hidden property to true

* Properly add the gui properties for all scene graph nodes (even root)

* Update GUI hash
2024-04-03 09:23:49 +02:00
Ylva Selling
b347659510 Merge branch 'master' into issue/2645
# Conflicts:
#	src/documentation/documentationengine.cpp
#	src/properties/propertyowner.cpp
#	src/scripting/scriptengine.cpp
#	src/util/factorymanager.cpp
2024-03-25 11:14:09 +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
b77e03dce2 Some general cleanup 2024-03-04 13:03:40 +01:00
Ylva Selling
1ceb3d1f5a Merge remote-tracking branch 'origin/master' into issue/2645 2024-03-04 10:55:49 +01:00
Alexander Bock
7a2efc66d6 Simplify profile loading and handling of the loading screen 2024-02-28 00:19:06 +01:00
Ylva Selling
3fdac4a6d0 Move function from SceneLicenseWriter to DocumentationEngine and remove SceneLicenseWriter files 2024-02-26 09:10:52 +01:00
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock
902da116e7 Remove interesting times (closes #2991) 2024-01-09 15:34:54 +01:00
Emma Broman
b41c48861b Add property for actual bounding and interaction sphere value (#2967)
* Add property for actual bounding and interaction sphere value

* Apply suggestions from code review (no "Read Only" in name)

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-12-01 10:00:42 +01:00
Alexander Bock
7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +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
Alexander Bock
aad8beb60c Remove warnings 2023-09-07 19:00:26 +02:00
Alexander Bock
ecb8b06df6 Add new Lua function to remove all loaded assets (closes #2812). Fix crash that would occur when trying to unload an asset that requires a root asset 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
Ylva Selling
d6ddd86a35 Rewrite asset json function to nlohmann::json 2023-04-26 17:30:51 -04:00
Ylva Selling
9a1e6b8002 Remove old json functions 2023-04-26 16:58:55 -04:00
Ylva Selling
d267bc0dad Remove documentation generator 2023-04-25 16:44:10 -04:00
Ylva Selling
948fdd024b Remove generateJson function from the DocumentationGenerator and move sortJson function to json_helper 2023-04-25 16:32:04 -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
4de3713107 Add a central function to create an identifier from string, and also expose it through Lua 2023-04-03 11:40:19 +02:00
Gene Payne
00c8543306 Switch to std::list for adding & removing assets in deterministic order (#2543) 2023-03-17 16:07:17 -06:00
Alexander Bock
a711591c09 Update Doxygen (#2537)
* Modernizing Doxygen
* Remove warnings for Doxygen
2023-03-06 23:41:24 +01:00
Ylva Selling
c645fa81b6 Merge remote-tracking branch 'origin/master' into feature/documentation-overhaul
# Conflicts:
#	src/properties/propertyowner.cpp
#	src/scripting/scriptengine.cpp
2023-03-02 11:28:33 -05:00
Alexander Bock
35a92b6e4d Add the ability to start a profile paused (closes #2228). Bump profile version to 1.2 2023-02-27 18:03:35 +01:00
Emma Broman
352c9dd5ec Touch module code cleanup (#2465)
* Remove unused feature that allowed us to "pick" nodes using touch (it didn't really work and had some nasty hardcoded and costly implementation). Fixes Touch interaction picking refactor #1041

* General refactoring of code and removing redundant code

* Make touch markers prettier (change default color and smoothen edges)

* Add module property to control which renderable types are "directly touchable"

* Add SGN property to control which individual nodes are "directly touchable" ("SupportsDirectInteraction")

* Fix stuttering when zooming in closer than the orbitalnavigator allows
2023-02-14 13:55:24 +01:00
Alexander Bock
26d5ed0a08 Add the ability to pass a script to the setPropertyValue function that is called after interpolation has finished 2023-01-22 14:45:56 +01:00
Alexander Bock
2926250be9 Add function to return a list of all tags 2023-01-21 21:02:02 +01:00
Alexander Bock
59a8a006ee Correctly deinitialize scenegraph nodes that are added at runtime 2023-01-21 16:52:14 +01:00
Ylva Selling
38fee89eec Use nlohmann::json for all documentation.
The printout is verified to be the same as before, except for 1) some escape characters which are no longer necessary and 2) strings that contained arrays have now become arrays in the json
2023-01-10 17:20:20 -05:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +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
811c4a3138 Add the ability to pass a boolean value into the require function that gets passed into the loaded asset as a enabled property (#2187)
* Add the ability to pass a boolean value into the require function that gets passed into the loaded asset as a `enabled` property
2022-08-02 13:12:07 +02:00