#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 (char *pName, HIObject pObject=NULL) | |
Constructor. |
|
virtual void | RecordingInitAnimation (HFBAnimationNode pAnimationNode) |
When recording, initialize animation.
|
|
virtual void | RecordingDoneAnimation (HFBAnimationNode 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.
|
|
HFBAnimationNode | GetModelRotationNode (kHandModelPart pPartIndex) |
Obtain the rotation animation node of a part
of the hand model. |
enum kHandModelPart |
Hand model parts.
Definition at line 855 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 | ( | char * | pName, |
HIObject | pObject =
NULL |
||
) |
Constructor.
pName | Name of device. |
pObject | For internal use only (default is NULL). |
virtual void RecordingInitAnimation | ( | HFBAnimationNode | pAnimationNode | ) | [virtual] |
When recording, initialize animation.
pAnimationNode | Animation node to read information from. |
Reimplemented from FBDevice.
virtual void RecordingDoneAnimation | ( | HFBAnimationNode | 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. |
HFBAnimationNode 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.