#include <fbcore.h>
Classes | |
class | GloveChannel |
Base GloveChannel. More... | |
Public Types | |
enum | kHandModelPart { kPartRoot, kPartPalm, kPartThumbA, kPartThumbB, kPartThumbC, kPartThumbD, kPartIndexA, kPartIndexB, kPartIndexC, kPartIndexD, kPartMiddleA, kPartMiddleB, kPartMiddleC, kPartMiddleD, kPartRingA, kPartRingB, kPartRingC, kPartRingD, kPartLittleA, kPartLittleB, kPartLittleC, kPartLittleD, kPartMax } |
Hand model parts. More... | |
Public Member Functions | |
FBDeviceGlove (const char *pName, HIObject pObject=NULL) | |
Constructor. | |
virtual void | RecordingInitAnimation (FBAnimationNode *pAnimationNode) |
When recording, initialize animation. | |
virtual void | RecordingDoneAnimation (FBAnimationNode *pAnimationNode) |
When recording, finish animation. | |
Public Attributes | |
FBArrayTemplate< GloveChannel * > | Channels |
Glove channels. | |
FBPropertyBool | LeftHand |
Read Write Property: Left or right hand glove. | |
Protected Member Functions | |
void | InitializeModelGeometry () |
Initialize the hand model geometry. | |
void | VectorToModelPartAngle (kHandModelPart pPartIndex, FBVector3d &pVector) |
Bring the vector in parameter to a valid angle range of rotation for a given part of the hand model. | |
FBAnimationNode * | GetModelRotationNode (kHandModelPart pPartIndex) |
Obtain the rotation animation node of a part of the hand model. |
enum kHandModelPart |
Hand model parts.
Definition at line 914 of file fbcore.h.
{ // Parents : kPartRoot, // No parent kPartPalm, // kPartRoot // Thumb kPartThumbA, // kPartPalm kPartThumbB, // kPartThumbA kPartThumbC, // kPartThumbB kPartThumbD, // kPartThumbC // Index kPartIndexA, // kPartPalm kPartIndexB, // kPartIndexA kPartIndexC, // kPartIndexB kPartIndexD, // kPartIndexC // Middle kPartMiddleA, // kPartPalm kPartMiddleB, // kPartMiddleA kPartMiddleC, // kPartMiddleB kPartMiddleD, // kPartMiddleC // Ring kPartRingA, // kPartPalm kPartRingB, // kPartRingA kPartRingC, // kPartRingB kPartRingD, // kPartRingC // Little kPartLittleA, // kPartPalm kPartLittleB, // kPartLittleA kPartLittleC, // kPartLittleB kPartLittleD, // kPartLittleC kPartMax };
FBDeviceGlove | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of device. |
pObject | For internal use only (default is NULL). |
virtual void RecordingInitAnimation | ( | FBAnimationNode * | pAnimationNode | ) | [virtual] |
When recording, initialize animation.
pAnimationNode | Animation node to read information from. |
Reimplemented from FBDevice.
virtual void RecordingDoneAnimation | ( | FBAnimationNode * | pAnimationNode | ) | [virtual] |
When recording, finish animation.
pAnimationNode | Animation node to write information to. |
Reimplemented from FBDevice.
void InitializeModelGeometry | ( | ) | [protected] |
Initialize the hand model geometry.
You should set the LeftHand property prior to using this method, so that the geometry gets initialized correctly. Also call this function if you changed the value of LeftHand property.
void VectorToModelPartAngle | ( | kHandModelPart | pPartIndex, |
FBVector3d & | pVector | ||
) | [protected] |
Bring the vector in parameter to a valid angle range of rotation for a given part of the hand model.
The input vector should have relative values between 0.0 (min) and 1.0 (max). The output vector is an euler local rotation vector with limits applied. This vector can then be used to constraint the rotation of the hand part model.
pPartIndex | The hand part. |
pVector | The vector to modify. |
FBAnimationNode* GetModelRotationNode | ( | kHandModelPart | pPartIndex | ) | [protected] |
Obtain the rotation animation node of a part of the hand model.
pPartIndex | The hand part. |
Read Write Property: Left or right hand glove.