Commit Graph

56 Commits

Author SHA1 Message Date
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
Jonathan Bosson
1f147b6a3e comparison of with TuioTime to find new points since last frame now works 2017-02-23 13:39:37 -07:00