hmi.debug.animation
Class ProcAnimationDebugVisualisations

java.lang.Object
  extended by hmi.debug.animation.ProcAnimationDebugVisualisations

public class ProcAnimationDebugVisualisations
extends Object

Provides debug visualisations for ProcAnimations, in the form of a path of colored spheres. For now, only visualises end effector paths for left and right wrist.


Constructor Summary
ProcAnimationDebugVisualisations()
           
 
Method Summary
static VGLNode getStaticEndEffectorDebugVisualisation(EndEffector eff, VJoint humanoidRoot, VJoint worldRenderRoot, String type, ArrayList<GLRenderObject> renderStates, float factor)
          depending on whether the procanimation is global or local, the root vjoint of the resulting visualisation will be added either to the worldRenderRoot (for global end effectors) or the avatarRenderRoot (for local end effectors).
static VGLNode getStaticEndEffectorDebugVisualisation(ProcAnimationMU procAnim, String target, VJoint humanoidRoot, VJoint worldRenderRoot, VJoint avatarRenderRoot)
          get debug viz with a default material
static VGLNode getStaticEndEffectorDebugVisualisation(ProcAnimationMU procAnim, String target, VJoint humanoidRoot, VJoint worldRenderRoot, VJoint avatarRenderRoot, String type, ArrayList<GLRenderObject> renderStates, float factor)
          depending on whether the procanimation is global or local, the root vjoint of the resulting visualisation will be added either to the worldRenderRoot (for global end effectors) or the avatarRenderRoot (for local end effectors).
static VGLNode getStaticProcAnimationDebugVisualisation(ProcAnimationMU procAnim, VJoint humanoidRoot, VJoint worldRenderRoot, VJoint avatarRenderRoot)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProcAnimationDebugVisualisations

public ProcAnimationDebugVisualisations()
Method Detail

getStaticProcAnimationDebugVisualisation

public static VGLNode getStaticProcAnimationDebugVisualisation(ProcAnimationMU procAnim,
                                                               VJoint humanoidRoot,
                                                               VJoint worldRenderRoot,
                                                               VJoint avatarRenderRoot)

getStaticEndEffectorDebugVisualisation

public static VGLNode getStaticEndEffectorDebugVisualisation(ProcAnimationMU procAnim,
                                                             String target,
                                                             VJoint humanoidRoot,
                                                             VJoint worldRenderRoot,
                                                             VJoint avatarRenderRoot)
get debug viz with a default material


getStaticEndEffectorDebugVisualisation

public static VGLNode getStaticEndEffectorDebugVisualisation(ProcAnimationMU procAnim,
                                                             String target,
                                                             VJoint humanoidRoot,
                                                             VJoint worldRenderRoot,
                                                             VJoint avatarRenderRoot,
                                                             String type,
                                                             ArrayList<GLRenderObject> renderStates,
                                                             float factor)
depending on whether the procanimation is global or local, the root vjoint of the resulting visualisation will be added either to the worldRenderRoot (for global end effectors) or the avatarRenderRoot (for local end effectors). For the latter, you can use either the renderRootJoint of the avatar itself, or of a VJOint debug visualsiation of the avatar root Note that this method does NOT add the VGLNode anywhere to any VGLNode or scene or such: it is still your responsibility to call debugViz.glInit and glRender at some point!


getStaticEndEffectorDebugVisualisation

public static VGLNode getStaticEndEffectorDebugVisualisation(EndEffector eff,
                                                             VJoint humanoidRoot,
                                                             VJoint worldRenderRoot,
                                                             String type,
                                                             ArrayList<GLRenderObject> renderStates,
                                                             float factor)
depending on whether the procanimation is global or local, the root vjoint of the resulting visualisation will be added either to the worldRenderRoot (for global end effectors) or the avatarRenderRoot (for local end effectors). For the latter, you can use either the renderRootJoint of the avatar itself, or of a VJOint debug visualsiation of the avatar root Note that this method does NOT add the VGLNode anywhere to any VGLNode or scene or such: it is still your responsibility to call debugViz.glInit and glRender at some point! TODO: this is kinda ugly: it adds a joint to the animation VJoint structure for debug visualization of local end effectors. Also, it probably never removes the slave cloned VJoints from the worldRenderRoot.

Parameters:
eff - end effector path to visualize
humanoidRoot - animation VJoint of the human that is animated
worldRenderRoot - world root for rendering the debug visualization.
type - type of shape. For now, "sphere" and "box" are possible
renderStates - color and such for the debug viz objects
factor - By default, shapes are 1 cm big. Use factor to resize them.