fbsdk/fbcharacter.h Source File

fbcharacter.h
Go to the documentation of this file.
1 #ifndef __FBCHARACTER_H__
2 #define __FBCHARACTER_H__
3 /**************************************************************************
4  Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5  All Rights Reserved.
6 
7  The coded instructions, statements, computer programs, and/or related
8  material (collectively the "Data") in these files contain unpublished
9  information proprietary to Autodesk, Inc. and/or its licensors, which is
10  protected by Canada and United States of America federal copyright law
11  and by international treaties.
12 
13  The Data may not be disclosed or distributed to third parties, in whole
14  or in part, without the prior written consent of Autodesk, Inc.
15  ("Autodesk").
16 
17  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20  ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21  OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22  PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23  WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24  FREE.
25 
26  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28  EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29  DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30  OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31  DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32  LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33  LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34  DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35  BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
46 #include <kaydaradef.h>
47 #ifndef FBSDK_DLL
48 
51  #define FBSDK_DLL K_DLLIMPORT
52 #endif
53 
54 #include <fbsdk/fbconstraint.h>
57 
58 #ifdef FBSDKUseNamespace
59  namespace FBSDKNamespace {
60 #endif
61 
62 class FBCharacterSolver;
63 
66 {
121 };
122 
125 {
195  // -- New bones for 2.0 --
216 
227 
278 
289 
301 
303 
304  // -- HIK 2016.5 new leaf roll nodes --
305  // this should be consistent with HipsNodeId defined in kernel\humanik.h
306  // so HIKNodeTypeFromNodeId & HIKNodeIndexFromNodeId could map to correct
307  // data.
308  // kFBLastNodeId_Old represent last id before introduction of new roll bone for
309  // previous solvers. First new roll bone id equals to ensure continuity
319 
328 
337 
346 
355 
357 };
358 
360 const int kFBLastActorNodeId = ( kFBHeadNodeId + 1 );
361 
364 {
384  // -- New effector for 2.0 --
412 };
413 
416 {
433 };
434 
437 {
443 };
444 
447 {
461 };
462 
463 
464 
467 {
474 };
475 FB_DEFINE_ENUM( FBSDK_DLL, CharacterInputType );
476 
479 {
484 };
485 FB_DEFINE_ENUM( FBSDK_DLL, CharacterKeyingMode );
486 
489 {
493 };
494 
497 {
500 };
501 FB_DEFINE_ENUM( FBSDK_DLL, CharacterPlotWhere );
502 
505 {
509 };
510 FB_DEFINE_ENUM( FBSDK_DLL, CharacterHipsTranslationMode );
511 
514 {
518 };
519 FB_DEFINE_ENUM( FBSDK_DLL, CharacterRollSolver );
520 
523 {
528 };
529 FB_DEFINE_ENUM( FBSDK_DLL, CharacterContactBehaviour );
530 
533 {
537 };
538 FB_DEFINE_ENUM( FBSDK_DLL, ControlSetType );
539 
542 {
546 };
547 FB_DEFINE_ENUM( FBSDK_DLL, SkeletonTrackingState );
548 
551 {
555 };
556 FB_DEFINE_ENUM( FBSDK_DLL, SkeletonJointTrackingState );
557 
560 {
564 };
565 FB_DEFINE_ENUM( FBSDK_DLL, CalibrationState );
566 
569 {
574 };
575 FB_DEFINE_ENUM( FBSDK_DLL, VisibilityState );
576 
581 FBSDK_DLL const char* FBCharacterBodyNodeNameFromId( FBBodyNodeId pBodyNodeId );
582 
587 FBSDK_DLL const char* FBCharacterEffectorNameFromId( FBEffectorId pEffectorId );
588 
590 // FBMarkerSet - Marker set for an actor
595 
598 
604 {
605  //--- Open Reality declaration.
607 public:
613  FBMarkerSet(const char* pName, HIObject pObject=NULL);
614 
618  FBModel* GetReferenceModel( );
619 
623  void SetReferenceModel( FBModel* pReferenceModel );
624 
630  FBModel* GetMarkerModel( FBSkeletonNodeId pNodeId, int pMarkerIndex );
631 
637  void SetMarkerModel( FBSkeletonNodeId pNodeId, int pMarkerIndex, FBModel* pModel );
638 
643  bool SetMultipleMarkerModels( FBModelList* pModelList );
644 
650  const char* GetMarkerName( FBSkeletonNodeId pNodeId, int pMarkerIndex );
651 
657  void SetMarkerName( FBSkeletonNodeId pNodeId, int pMarkerIndex, const char* pMarkerName );
658 
660 
665  void GetMarkerTOffset( FBSkeletonNodeId pNodeId, int pMarkerIndex, FBTVector* pTOffset );
666  void SetMarkerTOffset( FBSkeletonNodeId pNodeId, int pMarkerIndex, FBTVector* pTOffset );
668 
670 
675  void GetMarkerROffset( FBSkeletonNodeId pNodeId, int pMarkerIndex, FBRVector* pROffset );
676  void SetMarkerROffset( FBSkeletonNodeId pNodeId, int pMarkerIndex, FBRVector* pROffset );
678 
684  bool GetMarkerOriented( FBSkeletonNodeId pNodeId, int pMarkerIndex );
685 
691  void SetMarkerOriented( FBSkeletonNodeId pNodeId, int pMarkerIndex, bool pIsOriented );
692 
698  bool GetMarkerUsed( FBSkeletonNodeId pNodeId, int pMarkerIndex );
699 
705  void SetMarkerUsed( FBSkeletonNodeId pNodeId, int pMarkerIndex, bool pUsed );
706 
711  int GetMarkerCount( FBSkeletonNodeId pNodeId = kFBSkeletonInvalidIndex );
712 
717  int GetUsedMarkerCount( FBSkeletonNodeId pNodeId = kFBSkeletonInvalidIndex );
718 
725  int AddMarker( FBSkeletonNodeId pNodeId, FBModel* pModel = NULL, bool pIsOriented = false );
726 
730  void SetMarkerSetVisibility(bool pVisibility);
731 
735  int GetMarkerSetVisibility();
736 
740  bool GetLinkToModelOk();
741 
745  void BeginTransaction( );
746 
750  void EndTransaction( );
751 
752 };
753 
755 // FBControlSet - Control set for an actor
759 
765 {
766  //--- Open Reality declaration.
768 public:
774  FBControlSet(const char* pName, HIObject pObject=NULL);
775 
779  FBModel* GetReferenceModel( );
780 
784  const char* GetReferenceName( );
785 
790  int GetIKEffectorIndex(FBModel* pModel);
796  FBModel* GetIKEffectorModel(FBEffectorId pEffectorIndex, int pPivotIndex = 0);
800  int GetIKEffectorPivotCount(FBEffectorId pEffectorIndex);
805  const char* GetIKEffectorName(FBEffectorId pEffectorIndex);
806 
807 
808 
813  int GetFKIndex(FBModel* pModel);
818  FBModel* GetFKModel(int pIndex);
823  const char* GetFKName(int pIndex);
824 
828  int GetFKCount();
829 
830 
831 
835 };
836 
843 {
844 public:
849  void GetNodeMatrix(FBBodyNodeId pNodeId, FBMatrix &pNodeGlobalMatrix);
850 };
851 
858 {
859 public:
864  void GetEffectorMatrix(FBEffectorId pEffectorId, FBMatrix &pEffectorGlobalMatrix);
865 
871  void GetReach(FBEffectorId pEffectorId, double &pReachT, double &pReachR);
872 };
873 
875 // FBCharacterMarkerSet - Marker set for an character
878 FB_DEFINE_COMPONENT( FBSDK_DLL, CharacterMarkerSet );
879 
885 {
886  //--- Open Reality declaration.
888 public:
894  FBCharacterMarkerSet(const char* pName, HIObject pObject=NULL);
895 
901  void ReadCtrlSetAndEffectorState(FBControlSetState* pFKState, FBEffectorSetState* pIKState, FBEvaluateInfo* pEvaluateInfo);
902 
906  FBProperty* GetMarkersProperty(FBBodyNodeId pNodeId);
907 
911  FBProperty* GetExtractionProperty(FBBodyNodeId pNodeId);
912 
917  FBProperty* GetSnapProperty(FBBodyNodeId pNodeId, FBModelTransformationType pWhat);
918 };
919 
926 {
927 public:
932  void GetNodeMatrix(FBSkeletonNodeId pSkeletonId, FBMatrix &pSkeletonGlobalMatrix);
933 };
934 
936 // FBActor - Representation of an actor
940 
943 {
946 };
947 
989 {
990  //--- Open Reality declaration.
992 public:
998  FBActor(const char* pName, HIObject pObject=NULL);
999 
1003  virtual void FBDelete();
1004 
1007 
1013 
1038 
1043 
1048 
1053 
1058 
1063 
1068 
1073 
1078 
1083 
1085 
1089  virtual bool Snap( FBRecalcMarkerSetOffset pRecalcOffset );
1090 
1091 
1095  void UpdateValues( FBEvaluateInfo* pEvalInfo );
1096 
1102  void SetDefinitionScaleVector( FBSkeletonNodeId pSkeletonId, FBVector3d pScaleVector, bool pSymmetricUpdate = true );
1103 
1108  void GetDefinitionScaleVector( FBSkeletonNodeId pSkeletonId, FBVector3d &pScaleVector );
1109 
1115  void SetDefinitionRotationVector( FBSkeletonNodeId pSkeletonId, FBVector3d pRotationVector, bool pSymmetricUpdate = true );
1116 
1120  void SetActorTranslation( FBVector3d pTranslationVector );
1121 
1125  FBSkeletonState* GetDefaultSkeletonState ();
1126 
1132  FBSkeletonState* GetCurrentSkeletonState (bool pResetOrientation=false);
1133 
1137  FBModel* GetLeftGloveReferenceModel( );
1138 
1142  void SetLeftGloveReferenceModel( FBModel* pReferenceModel );
1143 
1147  FBModel* GetRightGloveReferenceModel( );
1148 
1152  void SetRightGloveReferenceModel( FBModel* pReferenceModel );
1153 
1154 private:
1155  FBSkeletonState* mDefaultSkeletonState;
1156  FBSkeletonState* mCurrentSkeletonState;
1157 };
1158 
1165 {
1166 public:
1167 
1171  FBMocapJointsState(int pSkeletonJointsCount);
1172  ~FBMocapJointsState();
1173 
1181 };
1182 
1184 // FBCharacter - Representation of a character
1188 FB_DEFINE_COMPONENT( FBSDK_DLL, Character );
1189 
1230 {
1231  //--- Open Reality declaration.
1233 public:
1239  FBCharacter(const char* pName, HIObject pObject=NULL);
1240 
1241  IObject_Declare(K_IMPLEMENTATION); // Interface to IObject.
1242 
1246  virtual void FBDelete();
1247 
1249  FBCharacter* Clone();
1250 
1256 
1258 
1262  void CycleAnalysisCurrentCharacter();
1263 
1267  FBCycleAnalysisNode* GetCycleAnalysisNode();
1268 
1272  void AddCharacterExtension(FBCharacterExtension* pExt);
1273 
1277  void RemoveCharacterExtension(FBCharacterExtension* pExt);
1278 
1282  FBModel* GetModel( FBBodyNodeId pBodyNodeId );
1283 
1288  void GetSkinModelList( FBModelList& pSkinModelList );
1289 
1293  FBBodyNodeId GetIndexByModel( FBModel* pModel );
1294 
1298  FBModel* GetCtrlRigModel( FBBodyNodeId pBodyNodeId );
1299 
1303  FBBodyNodeId GetCtrlRigIndexByModel( FBModel* pModel );
1304 
1310  FBModel* GetEffectorModel( FBEffectorId pEffectorId, FBEffectorSetID pEffectorSetID = FBEffectorSetDefault );
1311 
1316  FBModel* GetFloorContactModel( FBFloorContactID pMemberIndex );
1317 
1321  FBModel* GetGoalModel( FBBodyNodeId pBodyNodeId );
1322 
1323  /* Get The Translation Offset associated to the given BodyPart
1324  * \param pTVector The Translation Offset
1325  */
1326  void GetTOffset( FBBodyNodeId pBodyNodeId, FBTVector* pTVector );
1327 
1328  /* Get The Rotation Offset associated to the given BodyPart
1329  * \param pRVector The Rotation Offset
1330  */
1331  void GetROffset( FBBodyNodeId pBodyNodeId, FBRVector* pRVector );
1332 
1333  /* Get The Scaling Offset associated to the given BodyPart
1334  * \param pTVector The Scaling Offset
1335  */
1336  void GetSOffset( FBBodyNodeId pBodyNodeId, FBSVector* pSVector );
1337 
1338  /* Get The Transform Offset associated to the given BodyPart
1339  * \param pOffsetMatrix The Translation, Rotation and Scaling Offset
1340  */
1341  void GetTransformOffset( FBBodyNodeId pBodyNodeId, FBMatrix *pOffsetMatrix );
1342 
1343  /* Get The Parent Rotation Offset associated to the given BodyPart
1344  * \param pRVector The Rotation Offset
1345  */
1346  void GetParentROffset( FBBodyNodeId pBodyNodeId, FBRVector* pRVector );
1347 
1353  virtual bool PlotAnimation( FBCharacterPlotWhere pPlotWhere, FBPlotOptions* pPlotOptions );
1354 
1358  bool ReadyForRetarget();
1359 
1363  void Retarget( bool pOnBaseLayer );
1364 
1367  void CopyAnimation();
1368 
1372  virtual void ResetProperties( FBCharacterResetProperties pType );
1373 
1380  void SelectModels( bool pSelect, bool pApplyToCharacter, bool pApplyToRig, bool pApplyToExtensions );
1381 
1386  void GoToStancePose( bool pPushUndo = false, bool pIncludeCharacterExtensions = true );
1387 
1391  void SetMocapCalibrationState(FBCalibrationState pState);
1392 
1396  FBCalibrationState GetMocapCalibrationState();
1397 
1405  void SetupDeviceMocap(FBDevice* pDevice, int pSkeletonJointsCount, FBBodyNodeId* pSkeletonJointsOrder );
1406 
1411  void SetSensorFloorOffset(double pSensorFloorOffset);
1412 
1417  void PassDeviceMocapData(FBMocapJointsState* pDeviceMocapData);
1418 
1423  bool SetCharacterizeOn( bool pSetAsBiped );
1424 
1428  const char * GetCharacterizeError();
1429 
1432  void SetCharacterizeOff();
1433 
1437  bool GetCharacterize();
1438 
1443  bool CreateControlRig(bool pSetFKIK);
1444 
1450  void ConnectControlRig(FBControlSet* pControlSet, bool pUpdateLimit, bool pResetHierarchy);
1451 
1454  void DisconnectControlRig();
1455 
1463  bool CreateAuxiliary(FBEffectorId pEffectorId, bool pPivot, double pAuxReachT=100, double pAuxReachR=100);
1464 
1469  FBControlSet * GetCurrentControlSet(bool pForce = false);
1470 
1475  bool CreateCharacterMarkerSet(bool pSetActive);
1476 
1481  FBCharacterMarkerSet * GetCharacterMarkerSet(bool pForce = false);
1482 
1487  bool IsParentNodeOffset( FBBodyNodeId pNodeId );
1488 
1492  FBCharacterSolver *GetExternalSolver();
1493 
1497  void SetExternalSolver(int pIndex);
1498 
1502  void SetExternalSolver(FBCharacterSolver* pSolver);
1503 
1507  void GetActiveBodyPart(bool* pActivePart);
1508 
1513  bool IsRotationPin(FBEffectorId pEffectorIndex);
1518  bool IsTranslationPin(FBEffectorId pEffectorIndex);
1519 
1523  bool IsCtrlSetReady();
1524 
1528  bool IsPlottingActorToCtrlRig();
1529 
1533  FBControlSetState* GetControlSetEvaluationCache(FBEvaluateInfo* pEvaluateInfo);
1534 
1538  FBEffectorSetState* GetEffectorEvaluationCache(FBEvaluateInfo* pEvaluateInfo);
1539 
1543  void MirrorCharacterExtensions(FBEvaluateInfo* pEvaluateInfo);
1544 
1548  FBVisibilityState GetIKVisibility();
1549 
1554  bool SetIKVisibility( bool pState );
1555 
1559  FBVisibilityState GetFKVisibility();
1560 
1565  bool SetFKVisibility( bool pState );
1566 
1570  FBVisibilityState GetSkeletonVisibility();
1571 
1576  bool SetSkeletonVisibility( bool pState );
1577 
1580 
1582  // ParamModifier
1598 
1603 
1607 };
1608 
1609 
1611 // Property List: MarkerSet
1613 
1618 {
1619 public:
1625  FBMarkerSet* operator[](int pIndex);
1630  virtual int Duplicate(int pIndex);
1631 };
1632 
1634 // Property List: CharacterMarkerSet
1636 
1641 {
1642 public:
1648  FBCharacterMarkerSet* operator[](int pIndex);
1649 };
1650 
1652 // Property List: ControlSet
1654 
1659 {
1660 public:
1666  FBControlSet* operator[](int pIndex);
1667 };
1668 
1670 // Property List: Actor
1672 
1677 {
1678  public:
1684  FBActor* operator[]( int pIndex );
1689  virtual int Duplicate( int pIndex );
1690 };
1691 
1692 
1694 // Property List: Character
1697 
1703 {
1704  public:
1710  FBCharacter* operator[]( int pIndex );
1715  virtual int Duplicate( int pIndex );
1716 };
1717 
1718 //Helpers
1719 
1724 
1730 
1736 
1742 
1747 
1752 
1757 
1762 
1767 
1772 FBSDK_DLL bool FBSetActorMarkerSetVisibility(bool pShow);
1773 
1774 
1775 
1776 #ifdef FBSDKUseNamespace
1777  }
1778 #endif
1779 #endif /* _FB_CHARACTER_H_ */
class FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate FBModelList;
Definition: fbcharacter.h:597
FBEffectorSetID
Effector ID identifier.
Definition: fbcharacter.h:415
FBPropertyAnimatableDouble LeftHandMiddleIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1044
Any object requested is visible.
Definition: fbcharacter.h:570
Model class.
Definition: fbmodel.h:273
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:132
FBCharacter * FBGetCharacterByAssociatedPart(FBComponent *pPart)
Get character by its associated IK/FK Marker or Bone.
FBPropertyAnimatableDouble LeftHandRingRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1051
FBPropertyAnimatableDouble RightHandRingIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1069
FBVisibilityState
Visibility state.
Definition: fbcharacter.h:568
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
Definition: fbproperties.h:139
class FBPropertyBaseEnum< enum FBCharacterRollSolver > FBPropertyCharacterRollSolver
Definition: fbcharacter.h:519
FBPropertyAnimatableDouble ScaleCompensation
Definition: fbcharacter.h:1599
FBTVector mSkeletonPosition
Position of the skeleton.
Definition: fbcharacter.h:1177
FBPropertyAnimatableDouble LeftHandIndexRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1041
Base class for constraints.
Definition: fbconstraint.h:134
FBPropertyVector3d LeftCollarPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1025
class FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
FBPropertyBool LockX
Read Write Property: Lock character skeleton in place on X axis.
Definition: fbcharacter.h:1604
FBPropertyCharacterRollSolver RollSolver
Read Write Property: Roll Solver selection.
Definition: fbcharacter.h:1596
FBPropertyAnimatableDouble LeftHandRingMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1050
FBPropertyVector3d HeadPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1034
FBPropertyAnimatableDouble LeftHandMiddlePinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1047
class FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
FBPropertyAnimatableDouble LeftHandIndexIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1039
FBPropertyVector3d RightCollarPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1029
Contraint classes.
FBPropertyVector3d RightFootPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1022
FBCharacterHipsTranslationMode
Character Hips Translation modes.
Definition: fbcharacter.h:504
Four x Four (double) Matrix.
Definition: fbtypes.h:289
FBPropertyBool SkeletonVisibility
Read Write Property: Show or Hide the Skeleton.
Definition: fbcharacter.h:1036
FBPropertyColor PivotColor
Read Write Property: The color of the pivot points of the actor.
Definition: fbcharacter.h:1010
Basic string class.
Definition: fbstring.h:66
FBPropertyAnimatableDouble LeftHandMiddleMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1045
class FBPropertyBaseComponent< FBMarkerSet * > FBPropertyMarkerSet
Definition: fbcharacter.h:593
FBPropertyVector3d WaistPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1023
int mSkeletonJointsCount
Number of joints according to specific motion capture device.
Definition: fbcharacter.h:1174
#define NULL
Definition: kaydara.h:169
Right Hand Body Part.
Definition: fbcharacter.h:457
FBPropertyVector3d RightWristPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1032
FBPropertyVector3d LeftWristPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1028
class FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
#define K_IMPLEMENTATION
Definition: iobject.h:53
AnimationNodeNotify evaluation information.
PropertyList: Actor.
Definition: fbcharacter.h:1676
const char * FBCharacterEffectorNameFromId(FBEffectorId pEffectorId)
Get the UI name associated with an effector.
class FBPropertyBaseComponent< FBActor * > FBPropertyActor
FBModelTransformationType
Types of transformation vector/matrices possible.
Definition: fbmodel.h:167
#define IObject_Declare(IsPure)
Definition: iobject.h:75
FBPropertyVector3d RightHipPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1019
void FBSetCharacterFingerTipsVisibility(bool pShow)
Sets visibility of the finger-tips of the current character.
Control set class.
Definition: fbcharacter.h:764
FBPropertyBool SyncMode
Read Write Property: is character in sync mode.
Definition: fbcharacter.h:1591
FBPropertyCharacter InputCharacter
Read Write Property: The index of the character used for the input.
Definition: fbcharacter.h:1254
PropertyList: MarkerSet.
Definition: fbcharacter.h:1658
Character marker set class.
Definition: fbcharacter.h:884
FBPropertyAnimatableDouble FKFingerTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered finger tip phalanges...
Definition: fbcharacter.h:1080
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:148
FBPropertyAnimatableDouble LeftHandPinkyMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1055
FBPropertyBool LockZ
Read Write Property: Lock character skeleton in place on Z axis.
Definition: fbcharacter.h:1606
MotionBuilder SDK base class.
Definition: fbcomponent.h:668
FBEffectorId
All effector nodes.
Definition: fbcharacter.h:363
FBFloorContactID
Floor contact for the given index.
Definition: fbcharacter.h:436
FBPropertyCharacterHipsTranslationMode HipsTranslationMode
Read Write Property: Hips Translation Mode.
Definition: fbcharacter.h:1589
FBPropertyAnimatableDouble RightHandPinkyRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1076
bool FBGetCharacterFloorContactsVisibility()
Queries visibility of the floor contacts of the current character.
FBPropertyAnimatableDouble LeftHandPinkyPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1057
PropertyList: CharacterMarkerSet.
Definition: fbcharacter.h:1640
FBCharacterKeyingMode
Character keying modes.
Definition: fbcharacter.h:478
bool FBGetActorMarkerSetVisibility()
Queries visibility of the marker set of the current actor.
const char * FBCharacterBodyNodeNameFromId(FBBodyNodeId pBodyNodeId)
Get the UI name associated with a body node.
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBPropertyAnimatableDouble RightHandRingRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1071
Character extension interface for FBSDK.
FBPropertyVector3d RightShoulderPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1030
FBPropertyBool InverseLeftElbow
Read Write Property: Is left elbow inverted.
Definition: fbcharacter.h:1594
double mFloorClipPlaneW
Floor Clip Plane W value for camera reposition.
Definition: fbcharacter.h:1175
FBPropertyColor SkeletonColor
Read Write Property: The color of the skeleton of the actor.
Definition: fbcharacter.h:1009
FBPropertyBool UseAxis
Read Write Property: is using axis.
Definition: fbcharacter.h:833
FBPropertyAnimatableDouble LeftHandRingIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1049
All objects requested are visible.
Definition: fbcharacter.h:571
FBPropertyAnimatableDouble LeftHandPinkyRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1056
FBPropertyCharacterContactBehaviour ContactBehaviour
Read Write Property: Contact Behavior selection.
Definition: fbcharacter.h:1597
FBPropertyAnimatableDouble LeftHandIndexMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1040
FBSkeletonTrackingState
Device Mocap skeleton tracking state.
Definition: fbcharacter.h:541
Three dimensional scaling vector.
Definition: fbtypes.h:565
class FBPropertyBaseAnimatable< bool, kFBPT_bool > FBPropertyAnimatableBool
FBPropertyAnimatableBool type definition.
Character extension property list.
const int kFBLastActorNodeId
Last Actor NodeId.
Definition: fbcharacter.h:360
FBCharacterRollSolver
Character Roll Solver version.
Definition: fbcharacter.h:513
FBBodyNodeId
All body nodes.
Definition: fbcharacter.h:124
FBPropertyBool InverseLeftKnee
Read Write Property: Is left knee inverted.
Definition: fbcharacter.h:1592
FBPropertyBool LeftElbowKillPitch
Read Write Property: is Pitch used for Left elbow.
Definition: fbcharacter.h:1587
FBPropertyAnimatableDouble AnkleHeightCompensation
Definition: fbcharacter.h:1601
FBPropertyAnimatableDouble RightHandPinkyMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1075
FBPropertyActor InputActor
Read Write Property: The index of the actor used for the input.
Definition: fbcharacter.h:1253
FBBodyPartId FBGetEffectorBodyPart(FBEffectorId pEffectorId)
return BodyPart ID from Effector.
Base Device class. Cannot be instantiated from Python.
Definition: fbcore.h:777
FBPropertyAnimatableBool HumanFingerLimits
Read Write Property: Enables/Disables human finger limits during actor solve.
Definition: fbcharacter.h:1082
FBPropertyBool InverseRightKnee
Read Write Property: Is right knee inverted.
Definition: fbcharacter.h:1593
FBPropertyBool RightElbowKillPitch
Read Write Property: is Pitch used for Right elbow.
Definition: fbcharacter.h:1588
FBPropertyAnimatableDouble FKThumbTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered thumb tip phalanges...
Definition: fbcharacter.h:1081
FBCharacterResetProperties
Character Reset Properties Type.
Definition: fbcharacter.h:488
Option parameters for plotting.
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:553
FBPropertyVector3d LeftShoulderPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1026
FBPropertyVector3d ChestPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1024
FBPropertyAnimatableDouble RightHandRingMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1070
Invalid visibility request.
Definition: fbcharacter.h:573
class FBPropertyBaseEnum< enum FBCharacterHipsTranslationMode > FBPropertyCharacterHipsTranslationMode
Definition: fbcharacter.h:510
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
FBPropertyAnimatableDouble RightHandRingPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1072
Property: Base property class.
Definition: fbproperties.h:192
FBTVector * mSkeletonJointsPositions
Positions of each joint.
Definition: fbcharacter.h:1178
Template class to contain an array of items.
Definition: fbarray.h:77
FBPropertyAnimatableDouble RightHandIndexMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1060
FBPropertyAnimatableDouble LeftHandPinkyIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1054
FBBodyPartId
Body part for character.
Definition: fbcharacter.h:446
FBString mCharacterizeError
Used to store SetCharacterizeOn errors and warnings.
Definition: fbcharacter.h:1579
class FBVector3< double > FBVector3d
3D vector.
Definition: fbtypes.h:438
FBPropertyAnimatableDouble LeftHandRingPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1052
class FBPropertyBaseEnum< enum FBCharacterInputType > FBPropertyCharacterInputType
Definition: fbcharacter.h:475
class FBPropertyBaseEnum< enum FBCharacterKeyingMode > FBPropertyCharacterKeyingMode
Definition: fbcharacter.h:485
FBPropertyDouble PivotSize
Read Write Property: The size of the pivot points of the actor.
Definition: fbcharacter.h:1012
FBCharacterContactBehaviour
Character Contact Behaviour.
Definition: fbcharacter.h:522
Some objects (at least one, but not all) requested are visible.
Definition: fbcharacter.h:572
A character is the link between a motion source and a character model.
Definition: fbcharacter.h:1229
#define FBSDKNamespace
FBSDKNamespace define.
Definition: fbversion.h:64
FBPropertyListCharacterExtension CharacterExtensions
List: Character Extensions in the character.
Definition: fbcharacter.h:1257
FBPropertyAnimatableDouble RightHandMiddlePinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1067
FBCharacterInputType
Character Input/Output types.
Definition: fbcharacter.h:466
FBPropertyDouble FKOpacity
Read Write Property: Opacity value used on FK (between 0 and 100).
Definition: fbcharacter.h:834
FBCharacterKeyingMode FBGetCharactersKeyingMode()
return Character Manipulation/Keying Mode
FBPropertyColor BodyColor
Read Write Property: The color of the body of the actor.
Definition: fbcharacter.h:1008
FBPropertyAnimatableDouble RightHandPinkyIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1074
FBPropertyAnimatableDouble RightHandIndexRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1061
FBPropertyBool InverseRightElbow
Read Write Property: Is right elbow inverted.
Definition: fbcharacter.h:1595
FBPropertyAnimatableDouble RightHandIndexIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1059
FBActor is used to link motion data to a character.
Definition: fbcharacter.h:988
FBPropertyAnimatableDouble RightHandMiddleMiddle
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1065
FBPropertyVector3d LeftElbowPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1027
FBPropertyAnimatableDouble FKFingerMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered intermediate finger ...
Definition: fbcharacter.h:1079
FBPropertyBool LeftKneeKillPitch
Read Write Property: is Pitch used for Left knee.
Definition: fbcharacter.h:1585
FBPropertyBool ActiveInput
Read Write Property: Is the character input active?
Definition: fbcharacter.h:1255
PropertyList: MarkerSet.
Definition: fbcharacter.h:1617
FBSkeletonTrackingState mSkeletonTrackingState
State of the skeleton tracking.
Definition: fbcharacter.h:1176
FBPropertyVector3d HipsPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1014
FBPropertyVector3d LeftAnklePosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1017
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
FBControlSetType
Character ControlSet type.
Definition: fbcharacter.h:532
Recalculate MarkerSet offset for TR.
Definition: fbcharacter.h:944
Recalculate MarkerSet offset for R Only.
Definition: fbcharacter.h:945
FBPropertyBool WriteReference
Read Write Property: are we writing back on reference.
Definition: fbcharacter.h:1590
FBPropertyBool RightKneeKillPitch
Read Write Property: is Pitch used for Right knee.
Definition: fbcharacter.h:1586
FBPropertyAnimatableDouble HipsHeightCompensation
Definition: fbcharacter.h:1600
class FBPropertyBaseEnum< enum FBControlSetType > FBPropertyControlSetType
Definition: fbcharacter.h:538
FBSkeletonJointTrackingState * mSkeletonJointTrackingState
State of the skeleton joint tracking.
Definition: fbcharacter.h:1180
FBPropertyControlSetType ControlSetType
Read Property: the control Set Type (FKIK or IK).
Definition: fbcharacter.h:832
Right Foot Body Part.
Definition: fbcharacter.h:459
FBPropertyVector3d RightElbowPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1031
FBPropertyBool PivotPointsVisibility
Read Write Property: Show or Hide the Pivot Points.
Definition: fbcharacter.h:1037
FBMatrix * mSkeletonJointsGlobalOrientations
Global orientations of each bone.
Definition: fbcharacter.h:1179
Marker set class.
Definition: fbcharacter.h:603
FBPropertyVector3d RightKneePosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1020
bool FBGetCharacterFingerTipsVisibility()
Queries visibility of the finger-tips of the current character.
FBPropertyVector3d RightAnklePosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1021
FBPropertyAnimatableDouble LeftHandMiddleRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1046
FBPropertyBool Visibility
Read Write Property: Show or Hide the Actor Body.
Definition: fbcharacter.h:1035
FBRecalcMarkerSetOffset
Recalculate MarkerSet offset for?
Definition: fbcharacter.h:942
class FBPropertyBaseComponent< FBCharacter * > FBPropertyCharacter
FBPropertyBool IKManip
Read Write Property: Access to the IK Manip mode.
Definition: fbcharacter.h:1084
void FBSetCharacterFloorContactsVisibility(bool pShow)
Sets visibility of the floor contacts of the current character.
FBPropertyCharacterInputType InputType
Read Write Property: The input type for the character (ex: Actor).
Definition: fbcharacter.h:1251
FBPropertyAnimatableDouble RightHandMiddleIndex
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1064
FBPropertyMarkerSet OutputMarkerSet
Read Write Property: Associated output marker set.
Definition: fbcharacter.h:1006
class FBPropertyBaseEnum< enum FBCharacterContactBehaviour > FBPropertyCharacterContactBehaviour
Definition: fbcharacter.h:529
FBPropertyAnimatableDouble RightHandPinkyPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1077
class FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
FBPropertyVector3d NeckPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1033
FBPropertyAnimatableDouble ShoulderCorrection
Read Write Property: shoulder correction values.
Definition: fbcharacter.h:1584
FBPropertyBool MirrorMode
Read Write Property: is in mirror mode.
Definition: fbcharacter.h:1583
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fbcharacter.h:51
FBCalibrationState
Device Mocap character calibration state.
Definition: fbcharacter.h:559
FBPropertyDouble MarkerSetSize
Read Write Property: The size of the markers of the actor.
Definition: fbcharacter.h:1011
FBPropertyVector3d LeftHipPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1015
FBPropertyCharacterKeyingMode KeyingMode
Read Write Property: The current keying mode.
Definition: fbcharacter.h:1252
FBPropertyVector3d LeftFootPosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1018
FBSkeletonJointTrackingState
Device Mocap skeleton joint tracking state.
Definition: fbcharacter.h:550
FBBodyPartId FBGetBodyNodeBodyPart(FBBodyNodeId pBodyNodeId)
return BodyPart ID from Bones.
Required, Spine 0.
Definition: fbcharacter.h:136
FBCharacterPlotWhere
Where to plot a character.
Definition: fbcharacter.h:496
FBPropertyAnimatableDouble AnkleProximityCompensation
Definition: fbcharacter.h:1602
FBPropertyMarkerSet MarkerSet
Read Write Property: Associated marker set.
Definition: fbcharacter.h:1005
PropertyList: Character.
Definition: fbcharacter.h:1702
FBPropertyAnimatableDouble RightHandIndexPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1062
FBPropertyVector3d LeftKneePosition
Read Write Property: Body part pivot of the actor.
Definition: fbcharacter.h:1016
FBPropertyAnimatableDouble RightHandMiddleRing
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1066
FBSkeletonNodeId
All Skeleton nodes.
Definition: fbcharacter.h:65
FBPropertyBool LockY
Read Write Property: Lock character skeleton in place on Y axis.
Definition: fbcharacter.h:1605
FBPropertyAnimatableDouble LeftHandIndexPinky
Read Write Property: Used to set blending coefficients.
Definition: fbcharacter.h:1042
bool FBSetActorMarkerSetVisibility(bool pShow)
Sets visibility of the marker set of the current actor.