hmi.elckerlyc.animationengine
Class AdditiveRotationBlend

java.lang.Object
  extended by hmi.elckerlyc.animationengine.AdditiveRotationBlend

public class AdditiveRotationBlend
extends Object

Does an additive blend of the rotations of two joints and all their children:
qOut = q1 * q2

Author:
welberge

Nested Class Summary
private static class AdditiveRotationBlend.Blender
           
 
Field Summary
private  ArrayList<AdditiveRotationBlend.Blender> blenders
           
private  float[] q1
           
private  float[] q2
           
private  float[] qOut
           
 
Constructor Summary
AdditiveRotationBlend(VJoint v1, VJoint v2, VJoint vOut)
          Constructor Assumes that v1.getParts(), v2.getParts() and vOut.getParts() yield part lists of equal size and joint ids
 
Method Summary
 void blend()
          Does an additive blend of the rotations of input joints 1 with input joints 2 and stores the result to the output joints Blending is done according to qOut = q1 * q2
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

blenders

private ArrayList<AdditiveRotationBlend.Blender> blenders

q1

private float[] q1

q2

private float[] q2

qOut

private float[] qOut
Constructor Detail

AdditiveRotationBlend

public AdditiveRotationBlend(VJoint v1,
                             VJoint v2,
                             VJoint vOut)
Constructor Assumes that v1.getParts(), v2.getParts() and vOut.getParts() yield part lists of equal size and joint ids

Parameters:
v1 - input joints 1
v2 - input joints 2
vOut - output joint
Method Detail

blend

public void blend()
Does an additive blend of the rotations of input joints 1 with input joints 2 and stores the result to the output joints Blending is done according to qOut = q1 * q2