class ExpressionNS::expHead

The main Expression Class.

Public Fields

[more] Pointers to the meshes that the system controls
[more] Data used for the channels of data
[more]EXPMAP expMap
associative map for looking up expressions
[more] tags lists data
[more] muscle list data
[more] current animation and editing values
[more] expressions

Public Methods

[more] constructors
[more] Event handing
[more] animation functions
[more] special functions for extra channels
[more] drawing functions
[more] for query interface for talking to outside world


Documentation

The main Expression Class. expHead Holds all data for the facial animation system.
o Pointers to the meshes that the system controls

oExpMeshAdapter* face
pointer to the face mesh interface

oExpMeshAdapter* jawroot
pointer to the dummy object that acts as the root of the jaw rotation

oExpMeshAdapter* tounge
pointer to the tounge interface

oExpMeshAdapter* righteye
pointer to the right eye interface

oExpMeshAdapter* lefteye
pointer to the left eye interface

o Data used for the channels of data

oint NUM_ADDED_CHANNELS
the number of additional channels in addition to the muscle channels

oEXPMAP channelMap
associative map for looking up channels

oint jaw_ID
id for the jaw open/close channel

oint jaw_slide_ID
id for the jaw right/left rotation channel

oint tounge_ID
id for the tounge up/down rotation channel

oint right_eyelid_ID
id for the right eyelid rotation channel

oint left_eyelid_ID
id for the rotation channel

oint right_eyex_ID
id for the right eye's x rotation channel

oint right_eyey_ID
id for the right eye's y rotation channel

oint left_eyex_ID
id for the left eye's x rotation channel

oint left_eyey_ID
id for the left eye's y rotation channel

oint headx_ID
id for the head's x rotation channel

oint heady_ID
id for the head's y rotation channel

oint headz_ID
id for the head's z rotation channel

oEXPMAP expMap
associative map for looking up expressions

o tags lists data

ostd::vector<Tag> jawtags
list of jaw tags

ostd::vector<Tag> eyelidtagR
list of eyelid

ostd::vector<Tag> eyelidtagL
list of eyelid

o muscle list data

ostd::vector<Muscle *> muscles
vector of muscles

o current animation and editing values

oint current_muscle
the current muscle to be activated

oint current_exp
numerical val of exp activated usefull for cycling thought the expressions

oint nmuscles
number of muscles in the face

ostd::string musclefile
name of muscle file so I can reload the file

oExpression* curExp
the current layer 1 facial expression

oExpression* curExpLayer2
the current layer 2 facial expression

oExpression* curExpLayer3
the current layer 3 facial expression

oExpression* outputExp
the current layer 1 output expression

oExpression* outputLayer2
the current layer 2 output expression

oExpression* outputLayer3
the current layer 3 output expression

o expressions

oint nexpressions
number of expressions in the face

ostd::vector<Expression *> expressions
vector of expressions

ostd::vector<cExpression *> compexp
vector of compound expressions

o constructors

o expHead(ExpMeshAdapter* head, ExpMeshAdapter* righteye, ExpMeshAdapter* lefteye, ExpMeshAdapter* itounge, ExpMeshAdapter* ijawroot, char* tags, char* muscle, std::vector <Morpher* >* morphlist, char* exp, char* compexp )
Constructor used with morph targets

o expHead(ExpMeshAdapter* head, ExpMeshAdapter* righteye, ExpMeshAdapter* lefteye, ExpMeshAdapter* itounge, ExpMeshAdapter* ijawroot, char* tags, char* muscle, char* exp, char* compexp )
Constructor used without a set of morph targets

o expHead(ExpMeshAdapter* head, ExpMeshAdapter* righteye, ExpMeshAdapter* lefteye, ExpMeshAdapter* itounge, ExpMeshAdapter* ijawroot, char* muscle)
Constructor used without animation data

o ~expHead()
Destructor

o Event handing

oint Event(expEvent* current)
the event processing function

o animation functions

ovoid reset(void )
resets all current data

ovoid ResetGeom(void )
resets all geometry

ovoid ActivateCurrentState()
composites layer data and deforms mesh

ovoid ActivateThisState(const Expression* state, bool compositeLayers)
deforms mesh based on state compositeLayers controls whether or not the other layers are composited in

ovoid InterpolateExpression(Expression* res, const Expression* start, const Expression* end, float percent)

ovoid OverlayExpression(Expression* res, const Expression* start, const Expression* end)
compositing code currently just adds and maxs most data

ovoid InterpolateKeyframes(Expression* res, cExpression* keyframes, float percent)
used for interpolating compound expressions

o special functions for extra channels

oint LocateExp(char* name)
Function used for locating a expression returns -1 on error

oint LocateChannel(char* name)
Function used for locating a animated channel returns -1 on error

ovoid RotateJaw(float vertical, float horizontal)

ovoid RotateRightEyelid(float angle)

ovoid RotateLeftEyelid(float angle)

ovoid RightEyeLookAt(int state, float w, float h)

ovoid LeftEyeLookAt(int state, float w, float h)

o drawing functions

ovoid DrawMuscles( void)

ovoid DrawTagged(void)

o for query interface for talking to outside world

oVertex* GetHeadRotation()
used if you are hooking system up into a skeletal animation system

ovoid PrintCurrentExpression(void)
output function prints the current channel values to stdout

oint GetNumberOfMuscles()
Gets the number of muscles

oint GetNumberOfExp()
Gets the number of Expressions

oint GetNumberOfCompoundExp()
Gets the number of compound Expressions

ostd::string GetMuscleName(int i)
Gets the name of muscle number i

ostd::string GetExpName(int i)
Gets the name of Expression number i

ostd::string GetCompoundExpName( int i)
Gets the name of compound Expression number i


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.