Jonathan Bosson
|
1ca9b144fc
|
allow for spinning on directTouchMode if global/local rot was big enough
|
2017-05-09 13:38:04 -06:00 |
|
Jonathan Bosson
|
b312eb308d
|
activate _guiON if gui is shown (F1), added doubleTap tracking (used for select node/zoom)
|
2017-05-05 15:10:11 -06:00 |
|
Jonathan Bosson
|
437550505e
|
The imgui can now be controlled by touch by emulating the mouse in '_guiON'
|
2017-05-05 14:08:17 -06:00 |
|
Jonathan Bosson
|
824cd1be05
|
guiMode infrastructure, just need to emulate mouse correctly
|
2017-05-04 17:29:30 -06:00 |
|
Jonathan Bosson
|
f3bf3fb5c7
|
start of guiMode implementation
|
2017-05-02 16:08:01 -06:00 |
|
Jonathan Bosson
|
7f7b40d736
|
solve snapping bug by not overwriting selected surface coordinates in case levmarq doesn't converge.
|
2017-05-02 15:25:22 -06:00 |
|
Jonathan Bosson
|
8f36159cba
|
add prints of gradient if verbose
|
2017-05-02 15:24:42 -06:00 |
|
Jonathan Bosson
|
11c2d063c0
|
decrease velocity as we get closer to the planet more smoothly, fixed 'lose-focusnode'-bug with direct touch
|
2017-04-27 15:49:34 -06:00 |
|
Jonathan Bosson
|
bbe99f1a11
|
fix misinterpreted taps
|
2017-04-27 14:32:35 -06:00 |
|
Jonathan Bosson
|
c54f485b0d
|
first pass on scaling _sensitivities with screen size
|
2017-04-27 14:03:33 -06:00 |
|
Jonathan Bosson
|
86d02fc98b
|
Refactor TouchInteraction class (removed unneeded variables/functions and went back to switch-case for interpret()
|
2017-04-27 12:44:32 -06:00 |
|
Jonathan Bosson
|
9111151913
|
Using slerp to interpolate to new local rotation when choosing new focusnode, tried central difference on gradient calc to resolve zoom/roll bug
|
2017-04-26 16:10:23 -06:00 |
|
Jonathan Bosson
|
b5a058121d
|
put direct-manipulation in its own function, dynamic time step for all but the zoom-DOF
|
2017-04-25 17:06:46 -06:00 |
|
Jonathan Bosson
|
556e81afeb
|
fix diagonal-orbit-only bug and cleanup of code
|
2017-04-25 13:11:40 -06:00 |
|
Jonathan Bosson
|
b8e6e06aef
|
include both interaction modes
|
2017-04-24 08:38:16 -06:00 |
|
Jonathan Bosson
|
3157ac4378
|
minimization method now finds best-fit values that manipulates the camera state such a way that the error in screen-space is < epsilon
|
2017-04-21 16:35:56 -06:00 |
|
Jonathan Bosson
|
c54039225d
|
Rotation now uses euler angles and modulus to make use of camera rotational axis, 4th DOF is set to be roll
|
2017-04-21 13:20:02 -06:00 |
|
Jonathan Bosson
|
c129bf1112
|
find minimum vector q that applies to the transform in camera space
|
2017-04-20 17:02:19 -06:00 |
|
Jonathan Bosson
|
0542e7cef5
|
Levmarq gives right q values, need to transform them to camera space correctly
|
2017-04-20 15:22:53 -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
|
0e1b399458
|
instead of projecting to screen-space the error is now calculated in modelspace (tracing current viewplane pos to surface coordinates)
|
2017-04-18 16:52:16 -06:00 |
|
Jonathan Bosson
|
58796ca390
|
func in levmarq now handles the distance between two screen points (one projected from the spheres surface), need to define gradient correctly
|
2017-04-18 15:57:07 -06:00 |
|
Jonathan Bosson
|
4c19391f63
|
found potential reasons for why par returns small values, might want to swap to rotate instead of trans on low DOF cases
|
2017-04-14 17:00:46 -06:00 |
|
Jonathan Bosson
|
9c6ecdc6d3
|
debugging camera transform for manipulation
|
2017-04-14 15:24:15 -06:00 |
|
Jonathan Bosson
|
581f29ba95
|
Using levmarq correctly now, need to double check if grad is the partial derivative of s(xi,q). Added name on credits
|
2017-04-14 14:58:11 -06:00 |
|
Jonathan Bosson
|
3635bbcefc
|
start testing levmarq use
|
2017-04-14 12:02:11 -06:00 |
|
Jonathan Bosson
|
626c39b62e
|
fix number of iterations
|
2017-04-13 16:59:34 -06:00 |
|
Jonathan Bosson
|
99c5956588
|
merge with feature/planetradius for boundingSphere
|
2017-04-13 16:56:55 -06:00 |
|
Jonathan Bosson
|
47535e38f9
|
func and grad should now be defined correctly, needs to be tested
|
2017-04-13 16:20:20 -06:00 |
|
Jonathan Bosson
|
f2aebcd880
|
one step closer, need to figure out gradient of func and how to send cam/node/aspectratio with void* fdata
|
2017-04-12 16:54:13 -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
|
53f679ae92
|
crash fix, _camera and _focusNode now have to be declared outside the constructor
|
2017-04-11 15:15:13 -06:00 |
|
Jonathan Bosson
|
60849e266b
|
small cleanup
|
2017-04-10 21:03:55 -06:00 |
|
Jonathan Bosson
|
d749d864a1
|
attempted to make zooming velocities smoother
|
2017-04-07 16:30:40 -06:00 |
|
Jonathan Bosson
|
2f6fede0ed
|
build fix
|
2017-04-07 11:30:54 -06:00 |
|
Jonathan Bosson
|
1c1570e854
|
defined a function to go from modelview to screen space view, comments on step-by-step method for the direct-touch solution
|
2017-04-07 11:12:02 -06:00 |
|
Jonathan Bosson
|
31e175232a
|
the point on the surface of a body can now be described in spherical coordinates
|
2017-04-06 15:16:25 -06:00 |
|
Jonathan Bosson
|
cbc8a2cb7e
|
touch is more snappy, nice
|
2017-04-06 14:06:40 -06:00 |
|
Jonathan Bosson
|
4416707931
|
find traced rays intersection point on boundingsphere for direct touch interaction
|
2017-04-04 13:36:35 -06:00 |
|
Jonathan Bosson
|
c6b8917d4b
|
rotation correction when selecting new node
|
2017-03-31 16:27:06 -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
|
a5873c3002
|
tracing now works correctly with panning, there's an issue when OpenSpace aspect Ratio is not the same as the touch interface aspect ratio
|
2017-03-30 16:28:51 -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
|
15450d9a9c
|
all contact points are now traced into the scene to find a selection (distance calc still iffy with the rotation quat)
|
2017-03-29 15:16:05 -06:00 |
|
Jonathan Bosson
|
31f0960c42
|
improvements to the interpret function so the interaction is more intuitive (now using an immobile finger as the centroid on roll)
|
2017-03-29 12:38:49 -06:00 |
|
Jonathan Bosson
|
0ea349a70c
|
convert cursor coordinates to ray direction in world space and calculate the distance from planets to the ray to get picking
|
2017-03-28 14:15:23 -06:00 |
|
Jonathan Bosson
|
bc46190711
|
invert panning interaction after feedback
|
2017-03-17 14:43:09 -06:00 |
|
Jonathan Bosson
|
8c9027c6e5
|
allow for multiple interaction modes (mostly roll and zoom)
|
2017-03-17 12:11:08 -06:00 |
|
Jonathan Bosson
|
6a6b01096d
|
cleanup of unneeded variables and working version of angle interpretation on roll
|
2017-03-17 11:29:49 -06:00 |
|
Jonathan Bosson
|
5fc52a3936
|
trying to use c.getAngles(centroid) for roll feature, not done yet
|
2017-03-16 17:02:16 -06:00 |
|