artisynth.core.femmodels
Class SkinMesh.FrameInfo

java.lang.Object
  extended by artisynth.core.femmodels.SkinMesh.BodyInfo
      extended by artisynth.core.femmodels.SkinMesh.FrameInfo
Enclosing class:
SkinMesh

public class SkinMesh.FrameInfo
extends SkinMesh.BodyInfo

Contains information for each frame controlling this SkinMesh.


Method Summary
 RigidTransform3d getBasePose()
          Returns the current base pose for this frame.
 DualQuaternion getBlendQuaternion()
          Returns the DualQuaternion representation of the transform returned by getDeltaPose().
 RigidTransform3d getDeltaPose()
          Returns the displacement from the base pose to the Frame's current pose.
 Frame getFrame()
          Returns the Frame component itself.
 PolygonalMesh getMesh()
          Returns the PolygonalMesh, if any, associated with this body.
 void setBasePose(RigidTransform3d T)
          Sets the base pose for this frame.
 void setFrame(Frame frame)
           
 void setIndex(int idx)
           
 void updateDualQuaternion()
           
 void updatePosState()
          Computes the quantities returned by getDeltaPose(), and, for non-linear blending, getBlendQuaternion().
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setIndex

public void setIndex(int idx)

getFrame

public Frame getFrame()
Returns the Frame component itself.


setFrame

public void setFrame(Frame frame)

getBasePose

public RigidTransform3d getBasePose()
Returns the current base pose for this frame. Skin displacements are computed with respect to the base pose.


setBasePose

public void setBasePose(RigidTransform3d T)
Sets the base pose for this frame.


getDeltaPose

public RigidTransform3d getDeltaPose()
Returns the displacement from the base pose to the Frame's current pose. If the base pose is XBW, and the current pose is XFW, then this is computed as
  XFW * inv(XBW)
 
The computation is done in


getBlendQuaternion

public DualQuaternion getBlendQuaternion()
Returns the DualQuaternion representation of the transform returned by getDeltaPose().


getMesh

public PolygonalMesh getMesh()
Description copied from class: SkinMesh.BodyInfo
Returns the PolygonalMesh, if any, associated with this body.

Specified by:
getMesh in class SkinMesh.BodyInfo

updatePosState

public void updatePosState()
Computes the quantities returned by getDeltaPose(), and, for non-linear blending, getBlendQuaternion(). This should be called, before these quantities are used, whenever the Frame's pose changes.


updateDualQuaternion

public void updateDualQuaternion()