Go to the
documentation of this file.
00001 #ifndef __FBCHARACTERFACE_H__
00002 #define __FBCHARACTERFACE_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00046 #include <kaydaradef.h>
00047 #ifndef FBSDK_DLL
00048
00051 #define FBSDK_DLL K_DLLIMPORT
00052 #endif
00053
00054 #include <fbsdk/fbcomponent.h>
00055 #include <fbsdk/fbconstraint.h>
00056
00057 #ifdef FBSDKUseNamespace
00058 namespace FBSDKNamespace {
00059 #endif
00060
00061
00063
00065 __FB_FORWARD( FBActor );
00066 __FB_FORWARD( FBActorFace );
00067 FB_DEFINE_COMPONENT( FBSDK_DLL, ActorFace );
00068
00073 class FBSDK_DLL FBActorFace : public FBComponent
00074 {
00075
00076 __FBClassDeclare( FBActorFace, FBComponent );
00077 public:
00083 FBActorFace(char* pName, HIObject pObject = NULL);
00084
00088 virtual bool PlotAnimation( );
00089
00090 IObject_Declare(Implementation);
00091
00095 virtual void FBDelete();
00096 };
00097
00098
00100
00102 __FB_FORWARD( FBCharacterFace );
00103 FB_DEFINE_COMPONENT( FBSDK_DLL, Character );
00104
00109 class FBSDK_DLL FBCharacterFace : public FBConstraint
00110 {
00111
00112 __FBClassDeclare( FBCharacterFace, FBConstraint );
00113 public:
00119 FBCharacterFace(char* pName, HIObject pObject = NULL);
00120
00121 IObject_Declare(Implementation);
00122
00123 FBPropertyActorFace InputActorFace;
00124 FBPropertyBool ActiveInput;
00125
00129 virtual bool PlotAnimation( );
00130
00134 virtual void FBDelete();
00135
00138 void GotoRest();
00139
00145 bool ShapeGroupAdd( FBModelList* pList, char* pName = NULL );
00146
00151 bool ShapeGroupRemove( int pShapeGrpId );
00152
00157 int ShapeGroupFindByName( char* pName );
00158
00162 int ShapeGroupGetCount();
00163
00168 char* ShapeGroupGetName( int pShapeGrpId );
00169
00175 bool ShapeGroupSetName( int pShapeGrpId, char* pName );
00176
00182 int ShapeFindByName( int pShapeGrpId, char* pName );
00183
00188 int ShapeGetCount( int pShapeGrpId );
00189
00195 char* ShapeGetName( int pShapeGrpId, int pShapeId );
00196
00203 bool ShapeSetName( int pShapeGrpId, int pShapeId, char* pName );
00204
00210 int ClusterGroupAdd( FBModelList* pList, char* pName = NULL );
00211
00216 bool ClusterGroupRemove( int pClusterGrpId );
00217
00222 int ClusterGroupFindByName( char* pName );
00223
00227 int ClusterGroupGetCount();
00228
00233 char* ClusterGroupGetName( int pClusterGrpId );
00234
00240 bool ClusterGroupSetName( int pClusterGrpId, char* pName );
00241
00246 bool ClusterGroupSnapRest( int pClusterGrpId );
00247
00253 int ClusterShapeAdd( int pClusterGrpId, char* pName = NULL );
00254
00260 bool ClusterShapeRemove( int pClusterGrpId, int pClusterShapeId );
00261
00267 int ClusterShapeFindByName( int pClusterGrpId, char* pName );
00268
00273 int ClusterShapeGetCount( int pClusterGrpId );
00274
00280 char* ClusterShapeGetName( int pClusterGrpId, int pClusterShapeId );
00281
00288 bool ClusterShapeSetName( int pClusterGrpId, int pClusterShapeId, char* pName );
00289
00295 bool ClusterShapeSnap( int pClusterGrpId, int pClusterShapeId );
00296
00301 int ExpressionAdd( char* pName );
00302
00307 bool ExpressionRemove( int pExpressionId );
00308
00313 int ExpressionFindByName( char* pName );
00314
00318 int ExpressionGetCount();
00319
00324 char* ExpressionGetName( int pExpressionId );
00325
00331 bool ExpressionSetName( int pExpressionId, char* pName );
00332
00340 bool ExpressionSetShapeWeight( int pExpressionId, int pGrpId, int pShapeId, float pValue = 0.0f );
00341 };
00342
00343
00344
00346
00348
00352 class FBSDK_DLL FBPropertyListActorFace : public FBPropertyListComponent
00353 {
00354 public:
00355 FBPropertyListActorFace();
00360 FBActorFace* operator[]( int pIndex );
00361 };
00362
00363
00365
00367
00371 class FBSDK_DLL FBPropertyListCharacterFace : public FBPropertyListComponent
00372 {
00373 public:
00374 FBPropertyListCharacterFace();
00379 FBCharacterFace* operator[]( int pIndex );
00380 };
00381
00382
00383 #ifdef FBSDKUseNamespace
00384 }
00385 #endif
00386 #endif