hmi.elckerlyc.animationengine.gaze
Class DynamicGazeMU
java.lang.Object
hmi.elckerlyc.animationengine.gaze.GazeMU
hmi.elckerlyc.animationengine.gaze.DynamicGazeMU
- All Implemented Interfaces:
- KeyPositionManager, MotionUnit
- Direct Known Subclasses:
- DynamicEyeGazeMU
public class DynamicGazeMU
- extends GazeMU
Very simple dynamic gaze tracker, does not use any prediction. Interpolates
between current neck pose and desired (moving) neck pose with interpolation
weight timestep/remainingduration when t < 0.25 Perfectly tracks target
when 0.25 < t < 0.75
- Author:
- welberge
| Fields inherited from class hmi.elckerlyc.animationengine.gaze.GazeMU |
lEye, neck, offsetAngle, offsetDirection, player, preparationDuration, qGaze, qStart, qStartLeftEye, qStartRightEye, qTemp, ready, relax, relaxDuration, rEye, target, tmp, vecTemp, woManager, woTarget |
| Methods inherited from class hmi.elckerlyc.animationengine.gaze.GazeMU |
addKeyPosition, createTMU, getKeyPosition, getKeyPositions, getOffsetRotation, getParameterValue, getPreferedDuration, getReplacementGroup, removeKeyPosition, setEndRotation, setEndRotation, setKeyPositions, setParameterValue, setParameterValue, setStartPose, setTarget, setTimeManipulator |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
targetPosCurr
private float[] targetPosCurr
qCurr
private float[] qCurr
qEndCurr
private float[] qEndCurr
DynamicGazeMU
public DynamicGazeMU()
copy
public DynamicGazeMU copy(AnimationPlayer p)
- Description copied from interface:
MotionUnit
- Create a copy of this motion unit and link it to the animationplayer
- Specified by:
copy in interface MotionUnit- Overrides:
copy in class GazeMU
getPredictor
public MotionUnit getPredictor(VJoint predict)
- Creates a gaze predictor. The gaze predictor starts at whatever start
pose the first call to play on its TMU will set. This also locks the
target pos. Since the GazeMU allows flexible start poses, it's not very
handy nor needed to use a prediction on any time before the ready sync.
- Specified by:
getPredictor in interface MotionUnit- Overrides:
getPredictor in class GazeMU
- Parameters:
predict - VJoint to execute the prediction on
- Returns:
- predictor motion unit
play
public void play(double t)
throws MUPlayException
- Description copied from interface:
MotionUnit
- Executes the motion unit, typically by rotating some VJoints
- Specified by:
play in interface MotionUnit- Overrides:
play in class GazeMU
- Parameters:
t - execution time, 0 < t < 1
- Throws:
MUPlayException - if the play fails for some reason