Commit Graph

53 Commits

Author SHA1 Message Date
Alexander Bock 524b78f5d2 Add the ability to disablee keybindings (closes #2238) 2022-10-14 11:24:44 +02:00
Emma Broman 06a22c2592 Fix problem with camera path not finishing properly on skipToEnd 2022-10-07 09:17:58 +02:00
Emma Broman 8192292229 Move findNodeNearTarget function from path to pathnavigator
To reduce conflicts between wisdome installation branch and master
2022-10-06 22:25:27 +02:00
Emma Broman 5a970ee6e0 Add a function to skip immediately to the end of a playing camera path 2022-10-06 22:13:06 +02:00
Alexander Bock 163ac4dcef Cleanup of mostly asset files
- Fixes for all files
 - constexpr cleanup
 - Cosmetic changes
 - Remove punctuation from the end of messages
2022-07-28 17:21:59 +02:00
Alexander Bock c1252902c7 More Code Cleanup (#2192)
* Harmonizing ( and ) in function calls
* static const -> constexpr
* Fix compile issue
* Unify shader tab size
* Add _fs and _vs to shaders
* Harmonize spacing
2022-07-26 11:22:41 +02:00
Alexander Bock 9b1143f02f Ubuntu 22.04 and GCC11 fixes (#2163)
* Update CEF version
* Update Ghoul
* Update SGCT
* Update codegen
* Remove warnings happening on Ubuntu 22.04 with GCC 11
* AppleClang warning fixes
* Compile fix for Ubuntu and MacOS
* Add Qt 6.2.3 to the CMAKE_PREFIX_PATH
2022-06-28 00:46:01 +02:00
Malin E 102ceafd6f Add Lua function to list all connected joysticks 2022-04-13 15:32:03 +02:00
Emma Broman d0d918cdae Camera path updates (issue #1919 and #1947) (#1966)
* Use linear camera path when within target bounding sphere

And do a workaround for speed computation when bounding spheres are large
Closes #1910 (by at least making it so that the camera moves in an observable speed)

* Make linear paths rotate based on time rather than distance (closes #1947)
2022-04-06 17:34:36 +02:00
Emma Broman 2f29fcd9e2 Fix wrong order of path type enum, and make it enum class 2022-03-22 11:15:20 +01:00
Emma Broman 4e45f6634d Add helper function and timer to trigger idle behavior (#1898)
* Format property infos in orbital navigator more consistently

* Add helper function to trigger an idle behavior (issue #1833)

* Add timer to start idle behavior when camera is idle (issue #1730)
2022-03-15 10:06:24 +01:00
Emma Broman a0433c0419 Use largest of boudning and interaction sphere for creating camera path (closes #1897) 2022-03-02 10:52:03 +01:00
Emma Broman 6e751585b0 Add a property to change the default arrival distance for camera paths 2022-02-27 20:51:26 +01: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
Emma Broman 91b0581d39 Introduce engine modes to handle Camera path and session recording transitions
* Clarifies which system is control over time and camera at what time
* Fixes #1845
* Prevent invalid switching between session recoring and camera path playback
* Some cleanup, mosly of SessionRecording and NavigationHandler. Also, remove ExternInteraction and some other unused/nonexisting functions
2022-02-03 16:08:21 +01:00
Emma Broman 0da8afa550 Automatically pause simulation time when starting a camera path (adresses #1832) 2022-01-20 14:18:59 +01:00
Emma Broman c89599ab64 Add bool property to toggle follow anchor node rotation (#1839)
And make property title formatting more consistent

closes #1822
2022-01-18 14:08:26 +01:00
Alexander Bock d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Malin E 8299e4db22 Address PR comments 2021-11-30 10:46:44 +01:00
Malin E 78b1f2c6e1 Remove support for sticky axis and sensitivity to Property type 2021-11-17 16:57:05 +01:00
Emma Broman 3d3db47d76 Small include updates to adapt to inputstate changes 2021-11-12 14:07:07 +01:00
Malin E 3fdae48092 Exchange normalisation property for joysticks to JoystickType
* Joysticks can either be "JoystickLike" or "TriggerLike", where the
  triggers are normalized and have the deadzone close to -1 instead to 0

* Solves issue with zoom friction not to turn off for controllers
2021-11-12 11:46:17 +01:00
Malin E a515f85234 Add ability to bind a joystick axis to a property value 2021-11-11 09:27:54 +01:00
Malin E 3526e14e66 Add support for several joysticks at the smae time 2021-11-04 13:19:43 +01:00
Malin E 8bddf38f02 Split InputState into MouseInputState and KeyboardInputState 2021-11-03 15:28:37 +01:00
Alexander Bock 4a860fb01d Some code facelifting 2021-10-14 10:31:46 +02:00
Alexander Bock 76dd45e5ce Event System (#1741)
* Add implementation of the EventEngine to handle global event chains
* Add properties to SceneGraphNodes to determine two distance radii for camera-based events
2021-10-11 21:53:00 +02:00
GPayne 5b63fff944 Merge branch 'master' into feature/profileOverScene 2021-09-12 21:11:12 -06:00
GPayne 51f6c9d45b Rearranged profile initializations and verified that all init correctly 2021-09-12 21:05:00 -06:00
GPayne cd50c3e4cf Working non-assetized initializations for profile sections besides modules and interesting nodes 2021-09-07 21:55:44 -06:00
Emma Broman 5620cec153 Add an OrbitAroundUp IdleBehavior
Rotates around the y-axis of the node instead of the z-axis. Would be great if the nodes themselves knew about which axis of rotation would be to prefer.
2021-09-06 15:52:50 +02:00
Emma Broman 1516c066c9 Don't scale camera path speed if no duration was given
Just using the current distance for camera speed works better than setting a default duration based on the path length
2021-08-25 15:58:28 +02:00
Emma Broman 5d11af00dc Rename curve type to path type
And clarify documentation a little. "Path type" makes more sense to a user, who is never actually exposed to the concept of curves
2021-08-16 12:59:00 +02:00
Emma Broman a39dcf2567 Adress review comments 2021-08-15 19:34:10 +02:00
Emma Broman 4ccc47161c Add an AvoidCollisionWithLookAt curve
Same path as AvoidCollision, but with lookat rotation instead of slerp. Useful (needed) for some cases in the interactive installations, but should be replaced later on as it leads to fast rotations
2021-08-13 15:55:06 +02:00
Emma Broman 3fc4c50836 Group the linear flight properties together in the UI
Note that it does break any previous usage of the linear flight, due to a the new propertyowner leading to updated URIs
2021-07-16 15:44:17 +02:00
Emma Broman 8c7a2c5252 Also abort IdleBehavior when starting a session recording playback 2021-07-16 15:26:20 +02:00
Emma Broman cc2a255868 IdleBehavior interpolation for dampening and abort on more interactions
* Abort on: changing anchor, starting a path or navigating manually
* Add interpolation to dampen start and end of idle behavior motion
2021-07-14 16:34:50 +02:00
Emma Broman 2905fef7d9 Update camera scaling based on anchor pos even if path is playing
Previously this was only done hwen the Orbitalnavigator controlled the camera
2021-07-14 10:54:30 +02:00
Emma Broman be9df994c8 Allow applying idle behavior on path finish
Ideally we want to specify this per individual path, but for now do it with a property for the PathNavigator
2021-07-14 10:23:17 +02:00
Emma Broman 7ba319e52e Add option to orbit at constant latitude 2021-07-14 10:23:17 +02:00
Emma Broman 2241673b15 Abort idleBehavior on camera interaction 2021-07-14 10:23:16 +02:00
Emma Broman 8800f0b1cb Refactor and add a speed scale 2021-07-14 10:23:16 +02:00
Emma Broman aeb0a2cf7f Move StopBehavior to OrbitalNavigator and rename to IdleBehavior 2021-07-14 10:23:16 +02:00
Emma Broman de8005be4d Split up path helper functions to separate, more specific, files
Some in Ghoul and some in OpenSpace core util
2021-07-14 10:22:48 +02:00
Emma Broman 771aa46fcd Adress review comments 2021-07-09 15:35:14 +02:00
Emma Broman ee3e0c8ae0 Start cleaning up and document some helper functions 2021-07-02 11:23:15 +02:00
Emma Broman 0019360a2c Tiny navigation code cleanup 2021-07-02 09:43:04 +02:00
Emma Broman 6119b9b2a2 Make speed scale affect speed during path traversal 2021-06-24 15:04:25 +02:00
Emma Broman 43729ed911 Move path creation code into path class file 2021-06-23 15:58:48 +02:00