Commit Graph

57 Commits

Author SHA1 Message Date
Mikael Pettersson
43296979d8 Fixed rotation matrices in touch
Fixed rotation matrices in the touchmodule, while at it I also moved out
the lev-marq solver from the touchinteraction.cpp to its own file, in an
effort to make the code lighter to read.

Also changed some logic in how touch intersection is made with the
scenenodes.
2019-12-10 15:15:52 +01:00
Mikael Pettersson
a33057d830 Feature/integrated touchserver (#1015)
* WINDOWS: Touch server integrated into module

The touch server functionality has been integrated into the touch module
which is enabled by-default when the touch module is used on a windows
build.
The touch-hook checks for a connected digitizer (pen or touchscreen, but
I haven't tested pen)

This commit should also fix two potential low-risk race conditions in
the tuioear.cpp file.

* Added comment regarding which window we use

* Added copyright notice on the win32_touch files

Also changed from #pragma to #ifndef

* Fixes based on review

- Added anonymous namespace
- Put win32hook in openspace namespace
- Fixed indentations and linebreaks
- Fixed an issue regarding global state deinitialization
2019-12-02 14:09:15 +01:00
Emil Axelsson
c96794bf27 Update modules to call InteractionMonitor.markInteraction 2019-10-30 16:20:26 +01:00
liuloppan
da8beff8e9 Feature/interaction monitor (#999)
* interaction monitor first commit

* Renaming some member variables with underscore

* Interaction monitor registering mouse events and touch events

* Added setIdleTime

* Adding to CMakeLists

* Moved interactionmoitor.cpp to correct locatioN

* Cleanup after review. Removed interaction type string and fixed indentation

* Changed documentation description

* Renamed hasNewWebInput to processNewWebInput

* Some cleanup

* Rename registerInteraction to markInteraction
Add markInteraction calls to mouse and keyboard event sin OpenSpaceEngine
2019-10-30 13:18:46 +01:00
Emil Axelsson
0dcf65ce4f Feature/cef speedup (#806)
* Improve cmake errors
  * Calling doMessageLoopWork more often to increase gui performance
  * Introduce frequent callbacks
  * Restructure browser update callbacks
  * Cleanup cef speedup
  * Add flag to toggle updating browser between renderable calls
  * CEF should not be used in single process mode
  * Update CEF version
  * Postbuild step for finding framework from web helper
  * Load libcef dynamically to fix issue with CEF update
  * Only include dynamic library loader on mac
  * Improve keyboard mapping support on MacOS
  * Add arrow keys
  * Rename manifest
  * Fix bug with missing blinking cursor in text fields
  * Bump minimum cmake version
  * CEF fixes: Runtime and correct helper path
  * Be true to actual sandbox compatibility specified by CEF
  * Cleanup
2019-04-24 10:53:46 +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
Gene Payne
63c1ac89fb Changes to touch module to allow it to build with or without webbrowser module enabled (#808) 2019-03-07 11:15:45 +01:00
Gene Payne
c44290fe1f Feature/touch web gui support (#798)
* Added touch support for web GUI

* Code cleanup after master merge, no functionality changes

* Fixed alignment of function arguments
2019-02-21 07:35:47 -07:00
Emil Axelsson
2e71eaa4cb Feature/anchor and aim (#799)
Introduce the ability to navigate using an anchor and aim.
Example use: Set spacecraft as anchor and planet as aim to always look down at a planet, while followin the spacecraft in its orbit.
2019-02-19 18:46:58 +01: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
a3c849843f Feature/new formatting (#547)
* Change to new logging format (closes #542)
 * Adds a screenshots folder that uses the application startup time
 * Creating focus nodes for VRT files if the info files contain location information
 * Fix issue with removing virtual properties
 * Add a method for returning the cartesian coordinates for a geolocation on a planet
2018-03-07 18:10:32 -05:00
Alexander Bock
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Emil Axelsson
75cf6dcf71 Asset work in progress 2017-12-15 13:21:10 +01:00
Alexander Bock
afa1d6d33e Add strict test for whitespace at end of line
More work on coding style
2017-11-09 23:47:51 -05:00
Alexander Bock
b50b52d351 Cleanup for coding style
Add strict mode to check_style_guide script
2017-11-08 10:35:39 -06:00
Alexander Bock
a1505422d2 First step of turning touch classes into lower case 2017-07-18 15:52:26 -04:00
Alexander Bock
0e9edaeb12 Fix byte order mark commits
Update Ghoul
2017-07-17 15:54:00 -04:00
Alexander Bock
6a198c5d93 Started some warning cleanup 2017-07-14 14:21:01 -04:00
Kalle Bladin
2e4f31ded8 Interaction Updates (#353)
* Interaction speed is not dependent on framerate

* Split up interaction code in files and perform smooth interpolation when changing focus

* Abstract interaction code in to functions.

* Interpolation time is dependent on angle to focus node.

* Use correct delta time when interpolating

* Fix bug regarding decomposition of camera rotation.

* Make orbital interaction mode behave as globe browsing and no longer use interactiondepth below ellipsoid.

* Do not always rotate with object. Depending on distance

* Remove interaction depth below ellipsoid. Now able to interact without renderable

* Remove specification of interactionDepthBelowEllipsoid and cameraMinHeight

* Remove GlobeBrowsingInteractionMode

* Rename OrbitalInteractionMode to OrbitalNavigator and no longer extend interactionmode.

* Move properties from interaction handler to orbital navigator

* Use smooth step for follow rotation interpolator

* Rename KeyframeInteractionMode to KeyframeNavigator

* Rename files

* Clean up.

* Separate mousestate from orbitalnavigator

* Clean up

* Split keybindingmanager from interactionhandler interactionhandler

* Rename interactionhandler to navigationhandler

* Rename files

* Clean up

* Take back usage of gotochunk and gotogeo

* Rename lua library navigation

* Move functionality from navigationhandler to keyframenavigator

* Update scripts for navigation

* Comment code

* Clean up

* Solve but that caused NaN values for camera position when being in center of globe and setting focus to the globe.

* Update jenkins file to remove build folder before building.

* Fix error in jenkins script

* Update jenkins file

* Update jenkins file

* Revert jenkins file

* I hope this makes Jenkins happy.

* Line endings God damnit

* Line endings

* Clean up

* Fix compilation issue

* Take back default scene.

* Fix indentation

* Move functions goToGeo and goToChunk to GlobeBrowsingModule.

* Include algorithm for std::find

* Remove auto and other clean up
2017-07-14 17:17:17 +02:00
Jonathan Bosson
d9fa55581f changes from PR comments 2017-07-13 20:10:35 -06:00
Jonathan Bosson
c4e4e141af spaces instead of tabs 2017-07-13 13:09:25 -06:00
Jonathan Bosson
30e1b2b4f1 make touchmarkers render on render callback over postdraw 2017-07-12 11:18:55 -06:00
Jonathan Bosson
7f39ebb49c cleanup and commented all code 2017-06-20 15:06:38 -06:00
Jonathan Bosson
c53bcaac05 markers working, alpha and textures are not 2017-06-13 13:54:43 -06:00
Jonathan Bosson
d3f574ba23 render TouchMarkers, currently causes crash on runtime 2017-06-09 15:24:36 -06:00
Jonathan Bosson
c3e1f54b45 stubb for TouchMarker class to render where the contact points are on the screen 2017-05-24 16:25:16 -06:00
Jonathan Bosson
612b207d19 mute mouse input when we have touch input (for feedback on linux) 2017-05-18 19:19:26 -06:00
Jonathan Bosson
fb79cfe5f3 classes defined in module class and cleanup 2017-05-12 11:18:17 -06:00
Alexander Bock
3a6f2a54e5 Add some comments 2017-05-11 23:25:13 -04:00
Jonathan Bosson
cb3e31212a do a unit test on the LM algorithm and save the data to .csv 2017-05-11 13:37:45 -06:00
Jonathan Bosson
9bc653ec01 save lm data for plots later 2017-05-10 17:07:54 -06:00
Jonathan Bosson
08e3ac8a6b put constants into properties instead 2017-05-10 15:09:29 -06:00
Jonathan Bosson
556e81afeb fix diagonal-orbit-only bug and cleanup of code 2017-04-25 13:11:40 -06:00
Jonathan Bosson
099c343693 levmarq using correct gradient (finite derivative) and using the error to determine next delta step 2017-04-19 18:14:47 -06:00
Jonathan Bosson
ab877feaf9 first step for LM algorithm on screen-space points, camera/focusnode causes crashes if not initialized, where do we do this best? 2017-04-12 14:37:28 -06:00
Jonathan Bosson
cbc8a2cb7e touch is more snappy, nice 2017-04-06 14:06:40 -06:00
Jonathan Bosson
7b23c17b10 TuioEar can now detect a tap, implemented picking feature. If a selectable node is tapped at that is set as the new focusNode and the camera does a panning to that direction. If not will the camera zoom in towards the focusNode 2017-03-31 14:39:05 -06:00
Jonathan Bosson
55157ab429 Cleanup of TouchInteraction, selected can now only have one node per id 2017-03-30 13:05:10 -06:00
Jonathan Bosson
bc46190711 invert panning interaction after feedback 2017-03-17 14:43:09 -06:00
Jonathan Bosson
6f03e5fe80 Bugfix to losing focus node on fast zooming 2017-03-15 10:22:00 -06:00
Jonathan Bosson
1fa5220e3c minor changes during meeting 2017-03-14 12:44:43 -06:00
Jonathan Bosson
b1e507ce2b small cleanup and bugfix on gotNewInput() 2017-03-10 14:23:06 -07:00
Jonathan Bosson
fc2a9b03d2 zooming now uses velocity to move the camera, rotation works with one touch input although currently with a direct new position 2017-03-09 14:43:18 -07:00
Jonathan Bosson
cc269d6aff build fix on touchinteraction header file 2017-03-08 21:09:06 -07:00
Jonathan Bosson
9532e998b0 cleanup with using namespace in header files, start of new interaction class for touch input 2017-03-08 20:43:17 -07:00
Jonathan Bosson
436da23cd2 Include posix files in lubTUIO if its built on a UNIX unit. Small cleanup in touchmodule 2017-03-07 10:24:07 -07:00
Jonathan Bosson
dbc5f806f4 isMaster no longer exists 2017-03-02 15:57:36 -07:00
Jonathan Bosson
436d573c75 lastList is now a pair of id and the last frames TuioPoint. Makes check to only process if we get new input 2017-03-02 14:35:41 -07:00
Jonathan Bosson
36a7c62acb attempt to make rotation work well 2017-02-27 18:59:47 -07:00
Jonathan Bosson
89c985570c crude solution to zoom works, figuring out how to rotate around a focusNode with touch input 2017-02-23 20:34:18 -07:00