Commit Graph

99 Commits

Author SHA1 Message Date
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
Emma Broman
890c8ae25f Restructure helper function slightly (gotta find out where to place them later on) 2021-06-23 15:18:00 +02:00
Emma Broman
4ae70283a7 Add path rendering code to debugging module 2021-06-23 15:07:42 +02:00
Emma Broman
77bdfaefd6 Move camera path code into core and refactor navigation code a bit 2021-06-23 09:12:36 +02:00