hmi.elckerlyc.animationengine.gaze
Class DynamicEyeGazeMU

java.lang.Object
  extended by hmi.elckerlyc.animationengine.gaze.GazeMU
      extended by hmi.elckerlyc.animationengine.gaze.DynamicGazeMU
          extended by hmi.elckerlyc.animationengine.gaze.DynamicEyeGazeMU
All Implemented Interfaces:
KeyPositionManager, MotionUnit

public class DynamicEyeGazeMU
extends DynamicGazeMU


Field Summary
 
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
 
Constructor Summary
DynamicEyeGazeMU()
           
 
Method Summary
 DynamicEyeGazeMU copy(AnimationPlayer p)
          Create a copy of this motion unit and link it to the animationplayer
 MotionUnit getPredictor(VJoint predict)
          Creates a gaze predictor.
 double getPreferedDuration()
           
 void play(double t)
          Executes the motion unit, typically by rotating some VJoints
(package private)  void setEndRotation(float[] gazeDir, VJoint eye, float[] qEye)
           
 
Methods inherited from class hmi.elckerlyc.animationengine.gaze.GazeMU
addKeyPosition, createTMU, getKeyPosition, getKeyPositions, getOffsetRotation, getParameterValue, 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
 

Constructor Detail

DynamicEyeGazeMU

public DynamicEyeGazeMU()
Method Detail

copy

public DynamicEyeGazeMU 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 DynamicGazeMU

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 DynamicGazeMU
Parameters:
predict - VJoint to execute the prediction on
Returns:
predictor motion unit

getPreferedDuration

public double getPreferedDuration()
Specified by:
getPreferedDuration in interface MotionUnit
Overrides:
getPreferedDuration in class GazeMU
Returns:
Prefered duration (in seconds) of this motion unit, 0 means not determined/infinite

setEndRotation

void setEndRotation(float[] gazeDir,
                    VJoint eye,
                    float[] qEye)
              throws MUPlayException
Throws:
MUPlayException

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 DynamicGazeMU
Parameters:
t - execution time, 0 < t < 1
Throws:
MUPlayException - if the play fails for some reason