hmi.faceanimation
Interface FaceController

All Known Implementing Classes:
HMIFaceController, StdOutFaceController

public interface FaceController

The FaceController is the access point for deforming the face of an avatar, just like VJoints are the accesspoint for deforming its body. For now, the FaceController provides access to two ways of controlling a face: - set morph targets - set FAPs Either method may do nothing at all if such manipulations are not supported. Because morph targets may also be non-face-related (body morphs), we only have add and remove morphtarget. The calling application is responsible for removing morph weights that it has added. The implementaion of FaceController must maintain an administration of previously added morph targets... FAPs are always only face related. Therefore, an implementation of FaceController can suffice with implementing setMPEG4Configuration. This abstract class implements the add & remove FAPs methods. Implementations of this interface may control the face of an avatar rendered in the HMI rendering environment, or send the commands onwards to another rendering environment such as Greta or Ogre. Note: to actually display the face configuration, you need to call copy()


Method Summary
 void addMorphTargets(String[] targetNames, float[] weights)
           
 void addMPEG4Configuration(MPEG4Configuration config)
           
 void copy()
          Do actually apply the current configs and morphs to the face, including the joint rotations for eye, neck, jaw
 ArrayList<String> getPossibleFaceMorphTargetNames()
           
 void removeMorphTargets(String[] targetNames, float[] weights)
           
 void removeMPEG4Configuration(MPEG4Configuration config)
           
 void setMPEG4Configuration(MPEG4Configuration config)
          Directly set a FAP configuration on the face.
 

Method Detail

setMPEG4Configuration

void setMPEG4Configuration(MPEG4Configuration config)
Directly set a FAP configuration on the face. FAPs that are assigned NULL values will not be modified at all. All other FAPs will be completely overwritten with the new configuration, i.e., no blending is done.


addMPEG4Configuration

void addMPEG4Configuration(MPEG4Configuration config)

removeMPEG4Configuration

void removeMPEG4Configuration(MPEG4Configuration config)

addMorphTargets

void addMorphTargets(String[] targetNames,
                     float[] weights)

removeMorphTargets

void removeMorphTargets(String[] targetNames,
                        float[] weights)

getPossibleFaceMorphTargetNames

ArrayList<String> getPossibleFaceMorphTargetNames()

copy

void copy()
Do actually apply the current configs and morphs to the face, including the joint rotations for eye, neck, jaw