Commit Graph

30 Commits

Author SHA1 Message Date
Andreas Engberg ee56eb62e8 errorlogtopic send log messages as json object instead of a fixed string (#3639) 2025-05-14 12:28:46 +02:00
Ylva Selling e3f5b83f74 Feature/2025 UI rewrite (#3608)
* Remove Escape keybind; move gui keybind to F2

* Clear up keybinds properly

* Workaround for CEF focus bug

* Add TODO comment

* Guard against null ptr dereferencing

* Remove shift tab

* add additional keyboard mapping from glfw to cef

* Change dashboards to make prototype for first user test

* add mission added/removed event, disptached when a mission has been loaded/unloaded

* send missions as map instaed of array, rename missionName -> name

* Set keybind for toggling overlays to shift+f2

* Remove property for showing the title in the gui skybrowser module

* Remove default setting for skybrowser

* First implementation of setting the ui panel visibility from the launcher

* Add profile topic

* Coding style adjustment

* Add markNodes to the profiletopic

* Change format of additional data of options in engine

* Address PR comments

* map escape key from glfw to cef correctly

* fix issue with "Enter" key not working on buttons and other input fields in CEF

* Add test for new profile version

* Send skybrowser data although we are outside the solar system

* Update webgui to new ui

* Add name to profile topic

* Add cef variable to javascript context for when browser is in cef

* Use camelcase for cef variable

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way (#3590)

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way

* Fix strange error with file structure

* Address PR comments

* Address PR comments

* Address PR comments

* Make numbers in asset file prettier

* Rename name to identifier for missions event

* Clean up browser code

* Update UI hash (to fix the actions panel not working)

And update outdated comment. The backend is not part of this

* Feature/notify meta data change (#3605)

* Add notifyMetaDataChangeListener to topic

* First round of clean up the data passing

* Convert from string to json for metadata

* Update additional data to json

* Use nlohmann::json for additional data

* Pass meta data in new structure to topics

* Remove meta data method

* Fix mistake in merge

* Update src/properties/property.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove TODO comment that will be fixed by this PR

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comment

* Remove function for setting the endpoint

* Update frontend hash

* Remove enabled property from exoplanets module

* Remove enabled property from skybrowser module

* Update default UI panels json

* Remove setting of enabled properties for skybrowser and exoplanets

* Update gui hash

* Auto format json

---------

Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-29 15:43:56 +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
Alexander Bock 820e90eab4 Happy new year 2025-01-14 16:21:08 +01: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 c4c82483e0 Update copyright header in CMakeLists files 2024-07-31 10:57:10 +02:00
Andreas Engberg 04ff09814d Add event topic (#3010)
* Add event topic

Add ability to subscribe to events via js-api

* Apply suggestions from code review

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

* Output an error if no status or event object is passed to payload

* fixed typo

* Report a warning if user tries to unsubscribe to a non registered event/type combination

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-01-24 13:51:55 +01:00
Emma Broman 9c77a12269 Issue/2665 - Show timer for how long time left in camera path (#2980)
* Add a camera path topic and compute remaining time in path

* Remove unused parameter in function

* Include speed scale in estimation of time the path will take

* Includes cleanup and address review comments

* Round instead of ceil, to make countdown reach 0 in most cases

* Update GUI hash
2023-12-20 08:28:07 +01:00
Ylva Selling 99edcfc4e7 Merge remote-tracking branch 'origin/master' into feature/missions
# Conflicts:
#	data/assets/scene/solarsystem/missions/newhorizons/newhorizons.asset
#	data/assets/scene/solarsystem/missions/osirisrex/osirisrex.asset
#	data/assets/scene/solarsystem/missions/osirisrex/osirisrex.mission
#	data/assets/scene/solarsystem/missions/perseverance/perseverance.asset
#	include/openspace/mission/missionmanager.h
#	modules/server/src/connection.cpp
#	src/mission/missionmanager.cpp
#	src/mission/missionmanager_lua.inl
2023-03-21 12:03:10 -04:00
Alexander Bock 79ad5776cc CMake cleanup (#2489)
* CMake Cleanup
* Warning suppression with CEF
* Use SGCT tinyxml in skybrowser for now
* Disable warnings about missing field initializers
2023-02-05 23:24:12 +01:00
Alexander Bock 4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock 664eb60f4f Increase the compile times by including more precompiled headers (#2217)
* Define WIN32_LEAN_AND_MEAN and VC_EXTRALEAN globally
* Use forked version of TUIO, some more work on precompiled headers
* Improvements for the Kameleon module
2022-08-26 16:32:21 +02:00
Ylva Selling 817fad60c3 Add topic for geo position of camera 2022-06-01 15:08:14 -04:00
Ylva Selling 3e9a590ba8 Add SkyBrowser topic to server 2022-04-13 18:24:00 -04: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 d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Micah 0f0022b0ed adding mission topic 2021-05-04 00:48:23 -04:00
Alexander Bock 7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Emma Broman 157df5ff93 Clean-up: Include delta time steps in time topic 2020-08-25 08:55:30 +02:00
Emma Broman 4293fad3e9 Add server topic for delta times and send data to GUI 2020-08-24 11:32:31 +02:00
Alexander Bock d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock f2a0cb18b0 Feature/websocketnavigation (#882)
* Upgrade JSON Library
* Added support for navigation based on websocket communication
2019-07-31 11:07:25 +02:00
Gene Payne 32ebea9e06 Latest changes to session recording with support for new webGUI record/playback controls (#840)
* Added separate directory for session recording files
* Changed recording & playback paths to use RECORDINGS dir and prevent absolute or relative paths in filename.
* Updated .gitignore so that recordings directory is ignored.
* Added session recording topic for synchronization of rec/play state with web gui.
* Added support to sessionRecording for providing a list of available playback files to web GUI.
* Fixed problem with playback filenames in list
* Fixed problem with occasional large jump in camera pos/rotation after playback finishes.
* Fixed the remaining post-playback problem that was causing a jump in position and rotation.
* Fix path issue on mac
* Fixed bug with bad scale values in recordings saved in ascii format.
2019-05-17 14:05:03 +02:00
Emil Axelsson 53e07d90e1 Feature/documentation topic (#822)
- Implement documentation topic that can be used to query documentation using the network API.
- Implement a way to pass arguments to lua scripts using json (rather than formatting entire lua string clientside)
- Implement ability to attach callback to lua script executions
- Implement abillity to transport return values from lua scripts back to network API clients.
- Do not initialize server interface on slave nodes.
- Implement Dictionary -> json converter using nlohmann json library
2019-04-03 10:30:28 +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 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 4041bbb935 Cleanup (#600)
* General Code Cleanup
 * Add check for TABs to check_style_guide.py
 * Removing warnings
2018-04-19 13:27:15 -04:00
Emil Axelsson d64a0df5f6 Feature/thesis work merge (#566)
Web GUI from Klas Eskilson (three new modules: webgui, webbrowser and cefwebgui)
Parallel connection refactorization
Wormhole server added to the main repository
Transfer function editor work from Cristoffer Särevall
Update ghoul
2018-03-20 09:30:59 +01:00