Commit Graph

36 Commits

Author SHA1 Message Date
Alexander Bock
6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Alexander Bock
7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +01:00
Emma Broman
352c9dd5ec Touch module code cleanup (#2465)
* Remove unused feature that allowed us to "pick" nodes using touch (it didn't really work and had some nasty hardcoded and costly implementation). Fixes Touch interaction picking refactor #1041

* General refactoring of code and removing redundant code

* Make touch markers prettier (change default color and smoothen edges)

* Add module property to control which renderable types are "directly touchable"

* Add SGN property to control which individual nodes are "directly touchable" ("SupportsDirectInteraction")

* Fix stuttering when zooming in closer than the orbitalnavigator allows
2023-02-14 13:55:24 +01:00
Emma Broman
a0f9e88432 Feature/touch fixes (#2463)
* Add Ceres to touch interaction list (Forgotten in previous commit. OBS! This list will be removed)

* Small code updates (Logical ordering of functions, code standard)

* Fix compilation issue when using debug define

* Make touch navigation abort idle behavior

* Make reset a trigger property

* Fix some broken property sliders (the default step size was too big)

* Update interaction monitor state on touch interaction with WebGui

* Add some documentation of what "LM" means, and make unit test a developer property
2023-02-01 12:44:34 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock
d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock
24ce773da9 Update GLM version
Correctly initialize all values as they are no longer default-initialized
2020-02-10 00:09:31 +01:00
Mikael Pettersson
629597f3d0 Added TouchActive as a field in TouchModule
This can be used to inactivate navigational touch input
2020-01-13 15:48:38 +01:00
Mikael Pettersson
4e75b161db Feature/internal touchhandling (#1038)
* Removal of dead code and compiler warnings

* Added basic internal touch

This commit only adds the description-shell of the touch implementation

* Added callbacks and first WIP of internal touch

Makes use of the TouchInput/TouchInputs class in the TouchModule.
Internally we cache the TouchInputs as an input deque and utilizes it
for motion-vectors.
This commit has bugs and issues, which will be worked upon.

* Happy new year!

Bumped year on branch-local files

* Improvements to internal touch

Almost reached feature-parity with tuio-handled touch events

- Added most of the touch-logic to touchinteraction
- Added helper functions to new TouchInput/TouchInputs classes

* Naming changes to touch interface

* Translate TUIO to TouchInput

This commit translates TUIO messages to an internal TouchInput structure
while still trying to keep feature parity.
Removed TUIO-dependencies from many files.
Changed behavior on tuioear to lock-swap its content.

* Minor cleanup and fixes

- Should fix touch roll
- Simplified some functions

* Build fix

* Use internal touch in webgui

- Added consume-logic to touch callbacks
- Constrained touch-input to either webgui or 3D application as mouse is
  - This fixes some flaws with previous implementation,
    such as ghost inputs

- Initialize touchmodule through init-functions rather than constructor

* Cleanup of comments

* Simplified touch classes

Added timestamp through constructor meaning no more sprinkled timestamps
Renamed TouchInputs to TouchInputHolder for clarity
Added helper functions to the Holder to see if it holds an input
Remade addInput as tryAddInput which return true on successful insertion
+ other cleanup

* Code style cleanup and tweaks

Removed avoidable zero-comparison for code clarity
Cleanup of code style

* Added comments to DirectInputSolver

Clarifying the use of the DirectInputSolver.

* Changes for coding style
Change SGCT version to make it checkout-able

* Clarify magic bitmask

* const -> constexpr const for magic bitmasks

Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
2020-01-13 08:27:13 +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
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
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
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
Alexander Bock
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Alexander Bock
758e26789c More coding style conformance 2017-11-11 11:25:49 -05:00
Alexander Bock
4b3037144f Jenkins compile fix 2017-07-19 21:19:39 -04:00
Alexander Bock
0e9edaeb12 Fix byte order mark commits
Update Ghoul
2017-07-17 15:54:00 -04:00
Jonathan Bosson
c4e4e141af spaces instead of tabs 2017-07-13 13:09:25 -06:00
Jonathan Bosson
7f39ebb49c cleanup and commented all code 2017-06-20 15:06:38 -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
542e4c0fcb changes during feedback and cleanup 2017-05-12 15:55:20 -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
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
1fa5220e3c minor changes during meeting 2017-03-14 12:44:43 -06: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
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
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
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
a2ff460d78 small fix on processedList to lastList, TuioTime still not a good way to compare different timestamped inputs 2017-02-22 18:52:11 -07:00
Jonathan Bosson
2d223dc250 using std::mutex over boost, debug prints for touch input in touchmodule 2017-02-18 22:11:48 -07:00
Jonathan Bosson
92b480f708 registerModuleCallback from touchmodule to call interaction handler 2017-02-17 15:44:03 -07:00
Jonathan Bosson
5e84b7f6a2 new touch module with TUIO library to make OpenSpace tuio-aware 2017-02-16 12:52:39 -07:00