Commit Graph

2460 Commits

Author SHA1 Message Date
Micah Acinapura
b2889f9b8e Merge branch 'master' into thesis/2022/software-integration 2025-02-03 16:39:13 -05:00
Emma Broman
3d3580fa65 Polish and docs for RenderableDistanceLabel and docs for RenderableNodeLine (#3485)
* Update add add documentation for `RenderableDistanceLabel`

* Move distancelabel to `base` module and remove now empty `vislab` module

* Add examples for `RenderableNodeLine` and `RenderableDistanceLabel`

* Fix faultily formatted documentation ID for `RenderableNodeLine`

* Make `RenderableDistanceLabel` unit use units from distanceconversion file

And simplify how the different names for a unit are specified

* Use new distanceUnitList() function for other classes that uses the units

* Change default unit to correct option according to documentation

* Make the text property readonly for `RenderableDistanceLabel`

* Add property to specify the precision of the number

distance label precision to docs

* Add examples with different units and descriptors

* Add docs description to `RenderableNodeLine`

* Update name in one of the examples

* Remove redundant switch cases

* Apply suggestions from code review

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

---------

Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
2025-01-29 16:11:47 +01:00
Alexander Bock
c01ce9b09d Add the ability to schedule scripts based on wallclock time (closes #1773) 2025-01-15 12:05:12 +01:00
Alexander Bock
0bc2c4a9ee Coding style fixes 2025-01-14 16:34:42 +01:00
Alexander Bock
820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Andreas Engberg
c00e8e40ba Set B.C. to start of time string if year < 1000 B.C
This is to make it faster to check for B.C years on the frontend so we can properly show years < 0
2024-11-04 15:15:41 +01:00
Malin E
40578ebc81 Update string versions of distance and time units, start with capital
letter

* Update RenderableModel to better make use of these predefined units
2024-10-29 17:02:48 +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
Andreas Engberg
0fc9265837 Feature/assetvalidation (#3396)
# To run the script
Make sure to install the latest Python API version `openspace-api 0.1.2`
The script is located in `OpenSpace/support/assetvalidation`, the main script takes a few command line arguments

`--dir` - specify the OpenSpace directory 
`--filter` - optionally supply a regex string to filter which assets to validate
`--verbose` - flag to print debug info to log and also console (default off), if off only warnings and errors are logged
`--start` - flag to start OpenSpace as a subprocess (default on) if this is off it assumes OpenSpace is already running, useful if you want to run OpenSpace via Visual Studio for example. 
`--at` - specify an index to start at a specific asset

run eg: 
`python main.py --dir="C:/User/Desktop/OpenSpace" --filter="examples" --verbose=True --start=False --at=35`
2024-10-10 15:55:53 +02:00
Alexander Bock
ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Malin E
9582d81fb6 Sync out the anchor node, issue 2854 (#3398)
* Sync out anchor node to all connected clients

* Remove warning in case anchor node is nullptr

* Always sync out the anchor node to nodes
2024-10-09 10:39:13 +02:00
Alexander Bock
56a9d6ae8c Add the ability to query RAM and VRAM usage (#3427) 2024-09-28 13:19:29 +02:00
Alexander Bock
db23148af0 Add ability to schedule Lua scripts (#3416) 2024-09-23 11:34:51 +02:00
Ylva Selling
8ad84b6d35 Make useAcceleratedRendering a uniform for screenspace renderables 2024-09-17 17:17:46 +02:00
Emma Broman
b351f80298 Fix broken Earth radius distance constant 2024-09-13 11:05:30 +02:00
Alexander Bock
e24cff1d19 Handle warnings and coding style adaptations 2024-09-12 16:30:09 +02:00
Alexander Bock
b6819fc22e Fixes for unit tests.
- Fix issue where a propertyowner would not report its uri correctly
  - Fix inconsistency with number->string conversions
  - Adapt SPICE tests to now baked-in leap seconds kernel
  - Disable CreateSingleColorImage test as it requires an OpenGL context
2024-09-11 10:51:00 +02:00
Alexander Bock
fd64fe7c96 Improvements to the ScriptLog logging (#3389)
* Restructuring the queueScript function
* Don't log the contents of actions that are triggered.  Add the ability to do verbose logging in the scriptlog
2024-09-09 21:16:57 +02:00
Joakim Kilby
ed39d4fc68 Add possibility to capture, edit & replay camera-keyframes (#2785)
* Add possibility to capture, edit & replay camera-keyframes

* fix compilation on non-windows systems

* use cbegin/cend instead of std::views

* Coding style adaptions

* Member variable names

* add Keyframe struct, fix pr suggestions

* add function to remove keyframes

* add lua function to fetch keyframes

* Update lua documentation

* add constexpr keys for json entries

* Add log info messages, input checks and general pr suggestions

* update comments to doxygen style

* batch of pr suggestions

* add jump to keyframe function

* update docs

---------

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
2024-08-30 10:25:38 +02:00
Alexander Bock
16484dc295 Doxygen cleanup and moving functions in SceneGraphNodes 2024-08-28 11:50:39 +02:00
Ylva Selling
aed2c0b0c8 Issue/2244 different mouse cursors (#3388)
* Update CEF version number

* Set OpenSpace_Helper version of C++ to 20

* Update C++ syntax to v 20

* Remove deprecated function (now default)

* Set the cache folder for cef

* Make static function in webbrowsermodule that determines if we can use accelerated rendering

* Add flag for accelerated rendering to webrenderhandler

* Use accelerated rendering

* Implement function to see if gui should absorb click

* Adhere to 80 char linewidth

* Make only the UI GPU accelerated

* Use dirty rects size for the texture to remove crash

* Better comments

* Make has content function work for GPU acceleration

* Make it so all browsers can be accelerated

Tried making it so only the gui was accelerated for simplicity. Performance plummeted, so reverted that

* Tidy up

* Add accelerated rendering flag to the screenspacerenderable shader

* Add temporary fix to make the sky browser work

* Remove flag from gui render handler

* Enable webgl in a nicer way

* Unbind texture in screenspacerenderable

* Add better comments for error handling

* Tidy up

* Address PR comments

* Make the acceleration Windows only

* Remove unnecessary setting of shader dictionary

* Add display handler to browser client

* Make glfw change mouse cursor depending on cef cursor

* formatting

* Add switch to main

* Update modules/webbrowser/src/browserclient.cpp

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

* Address comments on PR

* Update again

* Update modules/webbrowser/src/browserclient.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comments

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-28 10:44:17 +02:00
Ylva Selling
11bb8e7ac5 GPU accelerate CEF (#3386)
* Update CEF version number

* Set OpenSpace_Helper version of C++ to 20

* Update C++ syntax to v 20

* Remove deprecated function (now default)

* Set the cache folder for cef

* Make static function in webbrowsermodule that determines if we can use accelerated rendering

* Add flag for accelerated rendering to webrenderhandler

* Use accelerated rendering

* Implement function to see if gui should absorb click

* Adhere to 80 char linewidth

* Make only the UI GPU accelerated

* Use dirty rects size for the texture to remove crash

* Better comments

* Make has content function work for GPU acceleration

* Make it so all browsers can be accelerated

Tried making it so only the gui was accelerated for simplicity. Performance plummeted, so reverted that

* Tidy up

* Add accelerated rendering flag to the screenspacerenderable shader

* Add temporary fix to make the sky browser work

* Remove flag from gui render handler

* Enable webgl in a nicer way

* Unbind texture in screenspacerenderable

* Add better comments for error handling

* Tidy up

* Address PR comments

* Make the acceleration Windows only

* Remove unnecessary setting of shader dictionary

* Allow web dev tools to connect to CEF

* Update modules/webbrowser/include/browserinstance.h

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update modules/webbrowser/include/webrenderhandler.h

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Apply suggestions from code review

Co-authored-by: Emma Broman <emma.broman@liu.se>

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-23 09:37:01 +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
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
43ada7fa1f Add the ability to feather borders of screenspace renderables 2024-08-13 13:37:39 +02:00
Alexander Bock
aec4f473dc No longer specify an inaccurate version number on the master branch. 2024-08-06 10:51:26 +02:00
Ylva Selling
952f177c54 UI updates (#3358)
* Remove events for scenegraphnodes and screenspacerenderables

* Add events for updating the property tree

* Remove duplicate function calls

* Update src/properties/propertyowner.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comments and make helper functions with better comments

* Make uri function not return the identifier if the uri is not valid

* Rename fullyQualifiedIdentifier to uri

* Update gui hash

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
2024-08-02 16:30:07 +02:00
Emma Broman
c0b4103d46 Change default value for IsLocal for actions to false (closes #3194) 2024-07-18 15:26:27 +02:00
Andreas Engberg
91cf916321 Add server name to parallelpeer authentication, used as unique identifier on wormhole server 2024-07-18 13:26:03 +02:00
Alexander Bock
6337b8e5aa Move the statistics and frame info rendering from the RenderEngine into the debugging module (closes #1248) 2024-07-17 13:17:03 +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
Alexander Bock
0707829c7b Reducing compiler warnings (#3341) 2024-06-28 14:16:06 +02:00
Alexander Bock
78e7c7e321 Add the ability to scale th statistics graphs 2024-06-26 21:12:09 -04:00
Ylva Selling
059ab70218 Add events for adding and removing actions and publishing events when an action is added (#3325)
* Remove unused shortcut manager
* Add events for adding and removing actions
* Publish event when an action is added
* Add get_action event to shortcut topic which sends requested action to the topic
* Add better comments to events
* Publish event action removed when removing an action
* Rename actions to shortcuts in the json object
* Remove subscriptions and rename action to shortcut
2024-06-14 20:48:13 +02:00
Alexander Bock
866aad2187 Global pass over the coding style 2024-06-12 14:51:25 +02:00
Ylva Selling
1cae99ebfc Issue/2000 automatically update gui (#3289)
* Make it possible to query a propertyowner by uri with the getpropertytopic

* Remove automatic reloading of ui from drag and drop script

* Add function for uri for propertyowners

* Add uri to the to_json for the propertyowner

* Add comment for the propertyOwner function and update the comment for the property function to clearer distinguish between uris and identifiers

* Go back to the old events but with uris instead as their member

* Apply feedback from PR

* Address PR comments

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
2024-06-04 18:32:41 +02:00
Alexander Bock
6edea5cae7 Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables. Change the screenspace's own gamma value into an offset (#3293)
* Apply the hue, value, saturation, and gamma values from the renderengine to screenspace renderables.  Change the screenspace's own gamma value into an offset

* Make it clearer that the gamma correction is now an offset
2024-06-04 16:28:52 +02:00
Emma Broman
09a40f62dc Rename goToGeo -> jumpToGeo (#3296)
* Remove unused bool argument in globebrowsing functions
* Refactor some globe browsing functions
* Start updating goToGeo function to fade instead of just jump
* Add choice for whtehr to use default or arrival height when flying to a geo2
* Update / add docs for fly-to and go-to functions
* Rename function and add deprecated version of `goToGeo`
2024-06-04 16:18:03 +02:00
Alexander Bock
be5aeda195 Write out ascii-based session recording files in scientific notation instead. Also store position and rotation in higher precision (closes #3050) 2024-06-01 16:57:01 +02:00
Ylva Selling
2dd1b2f46f Remove default argument for write documentation function in the DocumentationEngine
Should have been done in PR but was missed
2024-05-22 09:46:57 +02:00
Ylva Selling
098bae18b2 Create a tiny app for writing the documentation jsons (#3239)
* Add simple app for writing the documentation (only asset components and lua scripting)

* Update apps/DocsWriter/CMakeLists.txt

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update apps/DocsWriter/main.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update apps/DocsWriter/main.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update apps/DocsWriter/main.cpp

Co-authored-by: Emma Broman <emma.broman@liu.se>

* Update apps/DocsWriter/CMakeLists.txt

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

* Update apps/DocsWriter/main.cpp

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

---------

Co-authored-by: Ylva Selling <ylva.selling@liu.se>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-05-21 11:22:14 +02:00
Emma Broman
075f6c8f65 Properly fix useCaching for point cloud colormaps
Forgot the update function in 1092948518, oops
2024-05-02 13:56:48 +02:00
Emma Broman
1092948518 Make useCaching for point cloud also affect color map
Makes it so that changes can be done to the color map file without having to delete the cache, and decreases confusion about that one file is cached when the other isn't
2024-05-02 11:08:59 +02:00
Ylva Selling
7757ec7976 Merge pull request #3212 from OpenSpace/issue/2996
Issue/2996 - documentation engine rewrite
2024-04-30 16:11:13 +02:00
Ylva Selling
708143d06e Make json file printout a separate function 2024-04-30 15:49:23 +02:00
Alexander Bock
203cff04cc Make use of the new uniform cache method that uses the variable names as uniform names (#3217) 2024-04-30 08:12:33 +02:00
Alexander Bock
58bc1bd29d Publish event when a scheduled script is executed (closes #1892) 2024-04-19 13:27:15 +02:00
Ylva Selling
7e94f7610e Merge branch 'master' into issue/2996 2024-04-08 13:24:36 +02:00
Alexander Bock
4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00