org.jmol.multitouch.sparshui
Class TwoPointGesture
java.lang.Object
org.jmol.multitouch.sparshui.TwoPointGesture
- All Implemented Interfaces:
- com.sparshui.gestures.Gesture
public class TwoPointGesture
- extends Object
- implements com.sparshui.gestures.Gesture
TWO_POINT_GESTURE
This gesture requires two points of contact, but its type is not initially
defined. Instead, its type is determined on-the-fly to be one of ZOOM,
ROTATE, or 2-point DRAG based on the direction of motion and relative
positions of the starting points. Two traces are obtained, assuming nothing
about the ID of the incoming points from the input device but instead
operating from position on the screen.
v00 from pt(1,0) to pt(2,0)
ZOOM IN: <---- x -----> (at any angle)
ZOOM OUT: ----> x <----- (at any angle)
ROTATE CW: ^ |
| x | (at any angle, not implemented)
| V
ROTATE CCW: | ^
| x | (at any angle, not implemented)
V |
2-point drag:
--------->
x (any direction)
--------->
Bob Hanson 12/13/2009
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_myType
private int _myType
_offset
protected com.sparshui.common.Location _offset
_offsetCentroid
protected com.sparshui.common.Location _offsetCentroid
_traces1
private List _traces1
_traces2
private List _traces2
_id1
private int _id1
_id2
private int _id2
_nTraces
private int _nTraces
_scale
private float _scale
_rotation
private float _rotation
time
private long time
TwoPointGesture
public TwoPointGesture()
getName
public String getName()
- Description copied from interface:
com.sparshui.gestures.Gesture
- Get the name of this gesture.
- Specified by:
getName
in interface com.sparshui.gestures.Gesture
- Returns:
- The name of this gesture.
getGestureType
public int getGestureType()
- Description copied from interface:
com.sparshui.gestures.Gesture
- Get the integer value of this gesture type. Gesture values
are defined in GestureType.java.
- Specified by:
getGestureType
in interface com.sparshui.gestures.Gesture
- Returns:
- The gesture type.
processChange
public List processChange(List touchPoints,
com.sparshui.server.TouchPoint changedPoint)
- Description copied from interface:
com.sparshui.gestures.Gesture
- Process a touch point change in the gesture.
- Specified by:
processChange
in interface com.sparshui.gestures.Gesture
- Parameters:
touchPoints
- The list of touch points that currently belong to this gesture.changedPoint
- The touch point that has changed.
- Returns:
- A vector of events that will be delivered to the client.
processChangeSync
private List processChangeSync(List touchPoints,
com.sparshui.server.TouchPoint changedPoint)
processBirth
protected List processBirth(com.sparshui.server.TouchPoint touchPoint)
processDeath
protected List processDeath(com.sparshui.server.TouchPoint touchPoint)
processMove
protected List processMove(com.sparshui.server.TouchPoint touchPoint)
updateLocations
private boolean updateLocations(com.sparshui.server.TouchPoint touchPoint)
checkType
private void checkType()
updateParameters
private boolean updateParameters()