artofillusion.animation
Class MeshGesture

java.lang.Object
  extended by artofillusion.animation.MeshGesture
All Implemented Interfaces:
Gesture, Keyframe
Direct Known Subclasses:
Curve.CurveKeyframe, SplineMesh.SplineMeshKeyframe, TriangleMesh.TriangleMeshKeyframe, Tube.TubeKeyframe

public abstract class MeshGesture
extends java.lang.Object
implements Gesture

This abstract class represents a Gesture for a Mesh.


Constructor Summary
MeshGesture()
           
 
Method Summary
 Gesture blend(Gesture[] p, double[] weight)
          Return a new keyframe which is the weighted average of an arbitrary list of keyframes, averaged about this pose.
 void blendSkeleton(MeshGesture average, MeshGesture[] p, double[] weight)
          Modify the skeleton of a Gesture to be a weighted average of an arbitrary list of Gestures, averaged about this pose.
 void blendSurface(MeshGesture average, MeshGesture[] p, double[] weight)
          Modify the mesh surface of a Gesture to be a weighted average of an arbitrary list of Gestures, averaged about this pose.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface artofillusion.animation.Gesture
getSkeleton, getTextureParameter, setSkeleton, setTextureParameter, textureChanged
 
Methods inherited from interface artofillusion.animation.Keyframe
blend, blend, blend, duplicate, duplicate, equals, getGraphValues, setGraphValues, writeToStream
 

Constructor Detail

MeshGesture

public MeshGesture()
Method Detail

blend

public Gesture blend(Gesture[] p,
                     double[] weight)
Return a new keyframe which is the weighted average of an arbitrary list of keyframes, averaged about this pose.

Specified by:
blend in interface Gesture

blendSkeleton

public void blendSkeleton(MeshGesture average,
                          MeshGesture[] p,
                          double[] weight)
Modify the skeleton of a Gesture to be a weighted average of an arbitrary list of Gestures, averaged about this pose. This affects only the skeleton, not the vertex positions or texture parameters.

Parameters:
average - the Gesture to modify to be an average of other Gestures
p - the list of Gestures to average
weight - the weights for the different Gestures

blendSurface

public void blendSurface(MeshGesture average,
                         MeshGesture[] p,
                         double[] weight)
Modify the mesh surface of a Gesture to be a weighted average of an arbitrary list of Gestures, averaged about this pose. This method only modifies the vertex positions and texture parameters, not the skeleton, and all vertex positions are based on the offsets from the joints they are bound to.

Parameters:
average - the Gesture to modify to be an average of other Gestures
p - the list of Gestures to average
weight - the weights for the different Gestures


Copyright © 1999-2011 by Peter Eastman.