Commit Graph

232 Commits

Author SHA1 Message Date
Alexander Bock af617d1d10 Feature/lua function cleanup (#1719)
General cleanup of Lua functions and handling of variable extract from a Lua state
2021-08-19 16:02:14 +02:00
Alexander Bock 5b3a66156c Remove unnecessary template specification for lock_guard 2021-07-30 14:48:08 +02:00
Alexander Bock a13f94da21 Add ability to print all types of information in the printInfo/... functions (closes #1635) 2021-07-27 11:26:41 +02:00
Alexander Bock 7abc964b0e Add the ability to read files from disk (closes #1636) 2021-07-26 13:35:20 +02:00
Alexander Bock e5b88ead92 Make it possible to pass any number of arguments to the print functions (#1635) 2021-07-26 11:52:43 +02:00
Alexander Bock 87da9a27ab Feature/path normalization (#1674)
* Path normalization (making sure there are fewer cases of '"..."'
* Using more std::filesystem::path instead of std::string
* Update Ghoul
2021-07-01 23:46:22 +02:00
Alexander Bock 741ed2ac05 Remove remnant of scriptlogtype in log message 2021-06-18 09:16:15 +02:00
Malin Ejdbo 139d1f7dd5 Make luaError function return null to waiting javascript 2021-05-31 15:35:26 +02:00
Alexander Bock 63cbf270ee Adapt to changes in codegen that require specifying the identifier in the codegen::doc function 2021-05-25 23:10:12 +02:00
GPayne e374eef72d Fixed merge conflicts with master 2021-05-20 19:55:49 -06:00
Alexander Bock 92432caed2 Adapt to changes in Ghoul that made absPath return a std::filesystem::path instead of a std::string 2021-05-17 00:23:15 +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
Emma Broman 804444e267 Simplify Property code (#1575)
* Remove the PropertyDelegate

* Remove some unused and redundant property types

* Use helper functions for Lua/Json conversion

* Solve a bug in SelectionProperty that occurred when re-setting options

* General simplification and refactoring of the code
2021-05-04 09:32:29 +02:00
GPayne 6b1be04b3c Merge branch 'master' into feature/session-recording-addons 2021-04-16 14:29:24 -06:00
GPayne b00e1cc5ab Switched to using timeline in memory during recording 2021-04-09 11:28:15 -06:00
Alexander Bock 4ca82fff19 Remove warnings on Apple clang 2021-03-29 23:16:15 +02:00
Alexander Bock 612b9bbc7f Moving more documentation to use codegen (#1549)
- Make use of more codegen in more classes
- Fix verifier for Color4Verifier
2021-03-29 21:50:26 +02:00
Alexander Bock 3d74d6051e Remove Dictionary use in script scheduling with struct 2021-01-02 23:24:15 +01:00
Alexander Bock 7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock 067c0f4b27 Introduction of new Dictionary class (#1446)
* Adapting to introduction of new Dictionary class in Ghoul
 * Mainly replacing usage of float instead of doubles as expected
 * Adjust to the lack of the hasKeyAndValue function
2021-01-02 15:07:11 +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 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 f1fe2f197b General code cleanup 2020-04-14 15:48:58 +02:00
Alexander Bock 5e29145395 Coding style cleanup 2020-02-14 19:37:06 +01:00
Alexander Bock c8799dcc80 Cherrypick remaining changes from the feature/catch2 branch sans the big switch to SGCT 3.0 2020-02-11 00:21:42 +01:00
Alexander Bock 9cb1169d58 Merge pull request #1063 from OpenSpace/bug/macosbuild
macos compile and build (still needs ring shader const fix)
2020-02-10 23:39:39 +01:00
Alexander Bock d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Micah Acinapura db8a0d16c9 Merge branch 'master' into bug/macosbuild 2020-02-10 15:43:44 -05:00
Alexander Bock 49c793d976 Update Ghoul version
Add initial Tracy profiling macros
2020-02-10 14:50:41 +01:00
Micah Acinapura 12b04f38bd macos compile and build (still needs ring shader const fix) 2020-01-29 21:43:06 -05:00
Micah Acinapura 8864620367 only allow saving setPropertyValue to profiles 2019-09-16 15:37:33 -04:00
Micah Acinapura 2a75a88195 fix for profile change saving on windows 2019-09-16 15:18:05 -04:00
Micah Acinapura 334b8d1269 fixing property change order profile save 2019-09-08 21:33:56 -04:00
Micah Acinapura a4e0ad8b08 added lua function for saving change to profile; added empty base for profile; updated frontend hash; 2019-09-05 14:57:01 -04:00
Micah Acinapura 1149a61dce resurrecting consolidated documentation (#897)
* Resurrecting consolidated documentation, lots to improve still but better then before
2019-06-03 06:19:45 -06: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
Emil Axelsson 4ef0bdc0a5 Fix bug with generating lua scripting documentation file 2019-04-02 17:37:54 +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
Alexander Bock c7a96a6b59 Address clang tidy complaints
Update Ghoul repository
Update SGCT repository
2018-11-30 15:34:09 -05:00
Alexander Bock cba6201b67 Minor coding style changes 2018-11-07 13:49:33 -05:00
Alexander Bock 7a3a8a5cf6 Misc coding style cleanups 2018-11-06 12:02:56 -05: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 932413cf53 Prevent accidental walking of the current working directory when starting OpenSpace that could cause non Lua script files to be loaded as .info files 2018-11-05 16:30:47 -05:00
Gene Payne b671ad35e6 Feature/session recording (#737)
* In progress with new version of session recording

* Session recording coding pass for both record and playback, not building yet.

* Working on getting first build of prototype

* Code changes to get playback working with all 3 timing modes

* Fixing session recording interactions with the timemanager

* Bug fixes for newly discovered timing issues, mothballing recording of timing updates

* Fixed camera jitter issue

* Updated new reference to latest ghoul

* Got session recording/playback working with changes made in master

* Added threshold for differences in camera movement as criteria for saving to recording file

* Added support for binary file for session recording/playback

* Minor changes with handling timeManager keyframes in playback

* New timeline structure & keyframes specific to session recording

* Fixed bug with fixed-script size

* Switched to new timeline specific to session recording, bug fixes, currently debugging camera position & rotation

* Formatting changes only

* Fixed scripts not working after timeline change

* Add session recording test scene

* Fixed problem with re-running the same playback multiple times

* Fixed problems with camera interpolation

* Fixed detection of camera playback finishing, and improved camera interpolation

* Added comments for interface of externInteraction include

* Fixed view frustum culling issues in session playback due to not appropiate camera scaling. Also made function in datamessagestructures to read and write this data to streams.

* Added camera scaling fix to code that supports Ascii format

* Added startPlayback default command for playing back while forcing simulation time to match the recording

* Fixed camera jump in sessionRecording after playback finished. Cleanup in playback of camera to re-use same functionality in keyframenavigator.

* Superb fix to sessionRecording. Realized focusNode of globalNavigationHandler needed to be activly update when camera change for either position of camera to be accurate or for rendered objects to be calculated without precision issues. Can now achieve a correct playback, even close to chunks/renderable, which was not possible before.

* sessionRecording cleanup, fixed all warnings and renamed files to lowercase to match current standards.

* Added error handling for bad input playback filename, protection from corrupted playback file

* Implemented code review changes on pull request #737 for sessionRecording
2018-11-01 18:24:10 -06: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 74fd38c260 Adapt to Ghoul change (use ghoul::to_string instead of std::to_string) 2018-07-20 13:56:15 -04:00
Alexander Bock d99a59a28a Compile fix 2018-06-11 17:37:31 +02:00
Alexander Bock 770daf4225 Fix Lua-based operating system detection to use only general names 2018-06-11 16:49:03 +02:00
Alexander Bock 8d16611e9a Adapt to new Ghoul change with luaError 2018-06-11 16:33:32 +02: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