Open Reality Reference Guide
 
Loading...
Searching...
No Matches
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
51 #define FBSDK_DLL K_DLLIMPORT
52#endif
53
54#include <fbsdk/fbconstraint.h>
55#include <fbsdk/fbcycleanalysisnode.h>
57
58#ifdef FBSDKUseNamespace
59 namespace FBSDKNamespace {
60#endif
61
63
66{
67 kFBSkeletonInvalidIndex = -1,
68 kFBSkeletonHipsIndex = 0,
69 kFBSkeletonLeftHipIndex,
70 kFBSkeletonLeftKneeIndex,
71 kFBSkeletonLeftAnkleIndex,
72 kFBSkeletonLeftFootIndex,
73 kFBSkeletonRightHipIndex,
74 kFBSkeletonRightKneeIndex,
75 kFBSkeletonRightAnkleIndex,
76 kFBSkeletonRightFootIndex,
77 kFBSkeletonWaistIndex,
78 kFBSkeletonChestIndex,
79 kFBSkeletonLeftCollarIndex,
80 kFBSkeletonLeftShoulderIndex,
81 kFBSkeletonLeftElbowIndex,
82 kFBSkeletonLeftWristIndex,
83 kFBSkeletonRightCollarIndex,
84 kFBSkeletonRightShoulderIndex,
85 kFBSkeletonRightElbowIndex,
86 kFBSkeletonRightWristIndex,
87 kFBSkeletonNeckIndex,
88 kFBSkeletonHeadIndex,
89 kFBSkeletonLeftThumbAIndex,
90 kFBSkeletonLeftThumbBIndex,
91 kFBSkeletonLeftThumbCIndex,
92 kFBSkeletonLeftIndexAIndex,
93 kFBSkeletonLeftIndexBIndex,
94 kFBSkeletonLeftIndexCIndex,
95 kFBSkeletonLeftMiddleAIndex,
96 kFBSkeletonLeftMiddleBIndex,
97 kFBSkeletonLeftMiddleCIndex,
98 kFBSkeletonLeftRingAIndex,
99 kFBSkeletonLeftRingBIndex,
100 kFBSkeletonLeftRingCIndex,
101 kFBSkeletonLeftPinkyAIndex,
102 kFBSkeletonLeftPinkyBIndex,
103 kFBSkeletonLeftPinkyCIndex,
104 kFBSkeletonRightThumbAIndex,
105 kFBSkeletonRightThumbBIndex,
106 kFBSkeletonRightThumbCIndex,
107 kFBSkeletonRightIndexAIndex,
108 kFBSkeletonRightIndexBIndex,
109 kFBSkeletonRightIndexCIndex,
110 kFBSkeletonRightMiddleAIndex,
111 kFBSkeletonRightMiddleBIndex,
112 kFBSkeletonRightMiddleCIndex,
113 kFBSkeletonRightRingAIndex,
114 kFBSkeletonRightRingBIndex,
115 kFBSkeletonRightRingCIndex,
116 kFBSkeletonRightPinkyAIndex,
117 kFBSkeletonRightPinkyBIndex,
118 kFBSkeletonRightPinkyCIndex,
119 kFBSkeletonReferenceIndex,
120 kFBSkeletonLastIndex
121};
122
125{
126 kFBInvalidNodeId = -1,
131 kFBLeftFootNodeId,
135 kFBRightFootNodeId,
138 kFBLeftCollarNodeId,
142 kFBRightCollarNodeId,
146 kFBNeckNodeId,
148 kFBLeftHipRollNodeId,
149 kFBLeftKneeRollNodeId,
150 kFBRightHipRollNodeId,
151 kFBRightKneeRollNodeId,
152 kFBLeftShoulderRollNodeId,
153 kFBLeftElbowRollNodeId,
154 kFBRightShoulderRollNodeId,
155 kFBRightElbowRollNodeId,
156 kFBSpine2NodeId,
157 kFBSpine3NodeId,
158 kFBSpine4NodeId,
159 kFBSpine5NodeId,
160 kFBSpine6NodeId,
161 kFBSpine7NodeId,
162 kFBSpine8NodeId,
163 kFBSpine9NodeId,
164 kFBLeftThumbANodeId,
165 kFBLeftThumbBNodeId,
166 kFBLeftThumbCNodeId,
167 kFBLeftIndexANodeId,
168 kFBLeftIndexBNodeId,
169 kFBLeftIndexCNodeId,
170 kFBLeftMiddleANodeId,
171 kFBLeftMiddleBNodeId,
172 kFBLeftMiddleCNodeId,
173 kFBLeftRingANodeId,
174 kFBLeftRingBNodeId,
175 kFBLeftRingCNodeId,
176 kFBLeftPinkyANodeId,
177 kFBLeftPinkyBNodeId,
178 kFBLeftPinkyCNodeId,
179 kFBRightThumbANodeId,
180 kFBRightThumbBNodeId,
181 kFBRightThumbCNodeId,
182 kFBRightIndexANodeId,
183 kFBRightIndexBNodeId,
184 kFBRightIndexCNodeId,
185 kFBRightMiddleANodeId,
186 kFBRightMiddleBNodeId,
187 kFBRightMiddleCNodeId,
188 kFBRightRingANodeId,
189 kFBRightRingBNodeId,
190 kFBRightRingCNodeId,
191 kFBRightPinkyANodeId,
192 kFBRightPinkyBNodeId,
193 kFBRightPinkyCNodeId,
194 kFBReferenceNodeId,
195 // -- New bones for 2.0 --
196 kFBLeftThumbInNodeId,
197 kFBLeftThumbDNodeId,
198 kFBLeftIndexInNodeId,
199 kFBLeftIndexDNodeId,
200 kFBLeftMiddleInNodeId,
201 kFBLeftMiddleDNodeId,
202 kFBLeftRingInNodeId,
203 kFBLeftRingDNodeId,
204 kFBLeftPinkyInNodeId,
205 kFBLeftPinkyDNodeId,
206 kFBRightThumbInNodeId,
207 kFBRightThumbDNodeId,
208 kFBRightIndexInNodeId,
209 kFBRightIndexDNodeId,
210 kFBRightMiddleInNodeId,
211 kFBRightMiddleDNodeId,
212 kFBRightRingInNodeId,
213 kFBRightRingDNodeId,
214 kFBRightPinkyInNodeId,
215 kFBRightPinkyDNodeId,
216
227
228 kFBLeftFootThumbInNodeId,
229 kFBLeftFootThumbANodeId,
230 kFBLeftFootThumbBNodeId,
231 kFBLeftFootThumbCNodeId,
232 kFBLeftFootThumbDNodeId,
233 kFBLeftFootIndexInNodeId,
234 kFBLeftFootIndexANodeId,
235 kFBLeftFootIndexBNodeId,
236 kFBLeftFootIndexCNodeId,
237 kFBLeftFootIndexDNodeId,
238 kFBLeftFootMiddleInNodeId,
239 kFBLeftFootMiddleANodeId,
240 kFBLeftFootMiddleBNodeId,
241 kFBLeftFootMiddleCNodeId,
242 kFBLeftFootMiddleDNodeId,
243 kFBLeftFootRingInNodeId,
244 kFBLeftFootRingANodeId,
245 kFBLeftFootRingBNodeId,
246 kFBLeftFootRingCNodeId,
247 kFBLeftFootRingDNodeId,
248 kFBLeftFootPinkyInNodeId,
249 kFBLeftFootPinkyANodeId,
250 kFBLeftFootPinkyBNodeId,
251 kFBLeftFootPinkyCNodeId,
252 kFBLeftFootPinkyDNodeId,
253 kFBRightFootThumbInNodeId,
254 kFBRightFootThumbANodeId,
255 kFBRightFootThumbBNodeId,
256 kFBRightFootThumbCNodeId,
257 kFBRightFootThumbDNodeId,
258 kFBRightFootIndexInNodeId,
259 kFBRightFootIndexANodeId,
260 kFBRightFootIndexBNodeId,
261 kFBRightFootIndexCNodeId,
262 kFBRightFootIndexDNodeId,
263 kFBRightFootMiddleInNodeId,
264 kFBRightFootMiddleANodeId,
265 kFBRightFootMiddleBNodeId,
266 kFBRightFootMiddleCNodeId,
267 kFBRightFootMiddleDNodeId,
268 kFBRightFootRingInNodeId,
269 kFBRightFootRingANodeId,
270 kFBRightFootRingBNodeId,
271 kFBRightFootRingCNodeId,
272 kFBRightFootRingDNodeId,
273 kFBRightFootPinkyInNodeId,
274 kFBRightFootPinkyANodeId,
275 kFBRightFootPinkyBNodeId,
276 kFBRightFootPinkyCNodeId,
277 kFBRightFootPinkyDNodeId,
278
289
290 kFBLeftHandNodeId,
291 kFBRightHandNodeId,
292 kFBNeck1NodeId,
293 kFBNeck2NodeId,
294 kFBNeck3NodeId,
295 kFBNeck4NodeId,
296 kFBNeck5NodeId,
297 kFBNeck6NodeId,
298 kFBNeck7NodeId,
299 kFBNeck8NodeId,
300 kFBNeck9NodeId,
301
302 kFBHipsTranslationNodeId,
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
310 kFBLastNodeId_Old,
311 kFBLeftHipRollNode1Id = kFBLastNodeId_Old,
319
328
337
346
355
356 kFBLastNodeId
357};
358
361
364{
365 kFBInvalidEffectorId = -1,
366 kFBHipsEffectorId = 0,
367 kFBLeftAnkleEffectorId,
368 kFBRightAnkleEffectorId,
369 kFBLeftWristEffectorId,
370 kFBRightWristEffectorId,
371 kFBLeftKneeEffectorId,
372 kFBRightKneeEffectorId,
373 kFBLeftElbowEffectorId,
374 kFBRightElbowEffectorId,
375 kFBChestOriginEffectorId,
376 kFBChestEndEffectorId,
377 kFBLeftFootEffectorId,
378 kFBRightFootEffectorId,
379 kFBLeftShoulderEffectorId,
380 kFBRightShoulderEffectorId,
381 kFBHeadEffectorId,
382 kFBLeftHipEffectorId,
383 kFBRightHipEffectorId,
384 // -- New effector for 2.0 --
385 kFBLeftHandEffectorId,
386 kFBRightHandEffectorId,
387 kFBLeftHandThumbEffectorId,
388 kFBLeftHandIndexEffectorId,
389 kFBLeftHandMiddleEffectorId,
390 kFBLeftHandRingEffectorId,
391 kFBLeftHandPinkyEffectorId,
392 kFBLeftHandExtraFingerEffectorId,
393 kFBRightHandThumbEffectorId,
394 kFBRightHandIndexEffectorId,
395 kFBRightHandMiddleEffectorId,
396 kFBRightHandRingEffectorId,
397 kFBRightHandPinkyEffectorId,
398 kFBRightHandExtraFingerEffectorId,
399 kFBLeftFootThumbEffectorId,
400 kFBLeftFootIndexEffectorId,
401 kFBLeftFootMiddleEffectorId,
402 kFBLeftFootRingEffectorId,
403 kFBLeftFootPinkyEffectorId,
404 kFBLeftFootExtraFingerEffectorId,
405 kFBRightFootThumbEffectorId,
406 kFBRightFootIndexEffectorId,
407 kFBRightFootMiddleEffectorId,
408 kFBRightFootRingEffectorId,
409 kFBRightFootPinkyEffectorId,
410 kFBRightFootExtraFingerEffectorId,
411 kFBLastEffectorId
412};
413
416{
417 FBEffectorSetDefault = 0,
418 FBEffectorSetAux1,
419 FBEffectorSetAux2,
420 FBEffectorSetAux3,
421 FBEffectorSetAux4,
422 FBEffectorSetAux5,
423 FBEffectorSetAux6,
424 EFBffectorSetAux7,
425 FBEffectorSetAux8,
426 FBEffectorSetAux9,
427 FBEffectorSetAux10,
428 FBEffectorSetAux11,
429 FBEffectorSetAux12,
430 FBEffectorSetAux13,
431 FBEffectorSetAux14,
432 FBLastEffectorSetIndex
433};
434
437{
438 FBLeftHandMemberIndex,
439 FBRightHandMemberIndex,
440 FBLeftFootMemberIndex,
441 FBRightFootMemberIndex,
442 FBLastCharacterMember
443};
444
447{
462
463
464
467{
468 kFBCharacterInputActor,
469 kFBCharacterInputCharacter,
470 kFBCharacterInputMarkerSet,
471 kFBCharacterOutputMarkerSet,
472 kFBCharacterInputStance,
473 kFBCharacterInputMoCap
474};
475FB_DEFINE_ENUM( FBSDK_DLL, CharacterInputType );
476
479{
480 kFBCharacterKeyingFullBody,
481 kFBCharacterKeyingBodyPart,
482 kFBCharacterKeyingSelection,
483 kFBCharacterKeyingFullBodyNoPull,
484};
485FB_DEFINE_ENUM( FBSDK_DLL, CharacterKeyingMode );
486
489{
490 kFBCharacterResetPropertiesAll,
491 kFBCharacterResetPropertiesSolving,
492 kFBCharacterResetPropertiesDefinition
493};
494
497{
498 kFBCharacterPlotOnControlRig,
499 kFBCharacterPlotOnSkeleton
500};
501FB_DEFINE_ENUM( FBSDK_DLL, CharacterPlotWhere );
502
505{
506 kFBParamHipsTranslationWorldRigid = 0,
507 kFBParamHipsTranslationBodyRigid,
508 kFBLastHipsTranslationMode
509};
510FB_DEFINE_ENUM( FBSDK_DLL, CharacterHipsTranslationMode );
511
514{
515 kFBParamRollSolver70 = 0,
516 kFBParamRollSolver75,
517 kFBLastRollSolver
518};
519FB_DEFINE_ENUM( FBSDK_DLL, CharacterRollSolver );
520
523{
524 kFBParamContactNeverSync = 0,
525 kFBParamContactSyncOnKey,
526 kFBParamContactAlwaysSync,
527 kFBLastContactBehaviour
528};
529FB_DEFINE_ENUM( FBSDK_DLL, CharacterContactBehaviour );
530
533{
534 kFBControlSetTypeNone = 0,
535 kFBControlSetTypeFKIK,
536 kFBControlSetTypeIKOnly
537};
538FB_DEFINE_ENUM( FBSDK_DLL, ControlSetType );
539
542{
543 kFBSkeletonNotTracked = 0,
544 kFBSkeletonPositionOnly,
545 kFBSkeletonTracked
546};
547FB_DEFINE_ENUM( FBSDK_DLL, SkeletonTrackingState );
548
551{
552 kFBSkeletonJointNotTracked = 0,
553 kFBSkeletonJointInferred,
554 kFBSkeletonJointTracked
555};
556FB_DEFINE_ENUM( FBSDK_DLL, SkeletonJointTrackingState );
557
560{
561 FBCalibrationNoRequest = 0,
562 FBCalibrationInProcessing,
563 FBCalibrationSuccessfully
564};
565FB_DEFINE_ENUM( FBSDK_DLL, CalibrationState );
566
569{
575FB_DEFINE_ENUM( FBSDK_DLL, VisibilityState );
576
582
588
590// FBMarkerSet - Marker set for an actor
593FB_DEFINE_COMPONENT( FBSDK_DLL, MarkerSet );
595
598
604{
605 //--- Open Reality declaration.
607public:
613 FBMarkerSet(const char* pName, HIObject pObject=NULL);
614
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
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
736
741
746
751
752};
753
755// FBControlSet - Control set for an actor
758FB_DEFINE_COMPONENT( FBSDK_DLL, ControlSet );
759
765{
766 //--- Open Reality declaration.
768public:
774 FBControlSet(const char* pName, HIObject pObject=NULL);
775
780
784 const char* GetReferenceName( );
785
791
797 FBModel* GetIKEffectorModel(FBEffectorId pEffectorIndex, int pPivotIndex = 0);
798
804
809 const char* GetIKEffectorName(FBEffectorId pEffectorIndex);
810
811
812
817 int GetFKIndex(FBModel* pModel);
818
823 FBModel* GetFKModel(int pIndex);
824
829 const char* GetFKName(int pIndex);
830
835
836
837
838 FBPropertyControlSetType ControlSetType;
841};
842
849{
850public:
855 void GetNodeMatrix(FBBodyNodeId pNodeId, FBMatrix &pNodeGlobalMatrix);
856};
857
864{
865public:
870 void GetEffectorMatrix(FBEffectorId pEffectorId, FBMatrix &pEffectorGlobalMatrix);
871
877 void GetReach(FBEffectorId pEffectorId, double &pReachT, double &pReachR);
878};
879
881// FBCharacterMarkerSet - Marker set for an character
884FB_DEFINE_COMPONENT( FBSDK_DLL, CharacterMarkerSet );
885
891{
892 //--- Open Reality declaration.
894public:
900 FBCharacterMarkerSet(const char* pName, HIObject pObject=NULL);
901
908
913
918
924};
925
932{
933public:
938 void GetNodeMatrix(FBSkeletonNodeId pSkeletonId, FBMatrix &pSkeletonGlobalMatrix);
939};
940
942// FBActor - Representation of an actor
946
949{
953
995{
996 //--- Open Reality declaration.
998public:
1004 FBActor(const char* pName, HIObject pObject=NULL);
1005
1009 virtual void FBDelete() override;
1010
1011 FBPropertyMarkerSet MarkerSet;
1012 FBPropertyMarkerSet OutputMarkerSet;
1013
1019
1044
1049
1054
1059
1064
1069
1074
1079
1084
1089
1092
1095
1098
1101
1104
1107
1110
1113
1116
1119
1122
1125
1128
1131
1134
1137
1140
1143
1146
1149
1152
1159
1166
1173
1180
1187
1194
1201
1208
1215
1222
1224
1226
1230
1234 virtual bool Snap( FBRecalcMarkerSetOffset pRecalcOffset );
1235
1236
1240 void UpdateValues( FBEvaluateInfo* pEvalInfo );
1241
1247 void SetDefinitionScaleVector( FBSkeletonNodeId pSkeletonId, FBVector3d pScaleVector, bool pSymmetricUpdate = true );
1248
1253 void GetDefinitionScaleVector( FBSkeletonNodeId pSkeletonId, FBVector3d &pScaleVector );
1254
1260 void SetDefinitionRotationVector( FBSkeletonNodeId pSkeletonId, FBVector3d pRotationVector, bool pSymmetricUpdate = true );
1261
1266 void GetDefinitionRotationVector( FBSkeletonNodeId pSkeletonId, FBVector3d &pRotationVector );
1267
1273 void SetDefinitionTranslationVector( FBSkeletonNodeId pSkeletonId, FBVector3d pTranslationVector, bool pSymmetricUpdate = true );
1274
1279 void GetDefinitionTranslationVector( FBSkeletonNodeId pSkeletonId, FBVector3d &pTranslationVector );
1280
1284 void SetActorTranslation( FBVector3d pTranslationVector );
1285
1290
1296 FBSkeletonState* GetCurrentSkeletonState (bool pResetOrientation=false);
1297
1302
1306 void SetLeftGloveReferenceModel( FBModel* pReferenceModel );
1307
1312
1316 void SetRightGloveReferenceModel( FBModel* pReferenceModel );
1317
1318private:
1319 FBSkeletonState* mDefaultSkeletonState;
1320 FBSkeletonState* mCurrentSkeletonState;
1321};
1322
1329{
1330public:
1331
1335 FBMocapJointsState(int pSkeletonJointsCount);
1337
1345};
1346
1348// FBCharacter - Representation of a character
1352FB_DEFINE_COMPONENT( FBSDK_DLL, Character );
1353
1394{
1395 //--- Open Reality declaration.
1397public:
1403 FBCharacter(const char* pName, HIObject pObject=NULL);
1404
1405 IObject_Declare(override); // Interface to IObject.
1406
1410 virtual void FBDelete() override;
1411
1413 FBCharacter* Clone() override;
1414
1415 FBPropertyCharacterInputType InputType;
1416 FBPropertyCharacterKeyingMode KeyingMode;
1417 FBPropertyActor InputActor;
1418 FBPropertyCharacter InputCharacter;
1420
1422
1427
1432
1437
1442
1447
1452 void GetSkinModelList( FBModelList& pSkinModelList );
1453
1458
1463
1468
1474 FBModel* GetEffectorModel( FBEffectorId pEffectorId, FBEffectorSetID pEffectorSetID = FBEffectorSetDefault );
1475
1481
1486
1487 /* Get The Translation Offset associated to the given BodyPart
1488 * \param pTVector The Translation Offset
1489 */
1490 void GetTOffset( FBBodyNodeId pBodyNodeId, FBTVector* pTVector );
1491
1492 /* Get The Rotation Offset associated to the given BodyPart
1493 * \param pRVector The Rotation Offset
1494 */
1495 void GetROffset( FBBodyNodeId pBodyNodeId, FBRVector* pRVector );
1496
1497 /* Get The Scaling Offset associated to the given BodyPart
1498 * \param pTVector The Scaling Offset
1499 */
1500 void GetSOffset( FBBodyNodeId pBodyNodeId, FBSVector* pSVector );
1501
1502 /* Get The Transform Offset associated to the given BodyPart
1503 * \param pOffsetMatrix The Translation, Rotation and Scaling Offset
1504 */
1505 void GetTransformOffset( FBBodyNodeId pBodyNodeId, FBMatrix *pOffsetMatrix );
1506
1507 /* Get The Parent Rotation Offset associated to the given BodyPart
1508 * \param pRVector The Rotation Offset
1509 */
1510 void GetParentROffset( FBBodyNodeId pBodyNodeId, FBRVector* pRVector );
1511
1518 virtual bool PlotAnimation( FBCharacterPlotWhere pPlotWhere, FBPlotOptions* pPlotOptions );
1519
1524
1528 void Retarget( bool pOnBaseLayer );
1529
1533
1538
1545 void SelectModels( bool pSelect, bool pApplyToCharacter, bool pApplyToRig, bool pApplyToExtensions );
1546
1551 void GoToStancePose( bool pPushUndo = false, bool pIncludeCharacterExtensions = true );
1552
1557
1562
1570 void SetupDeviceMocap(FBDevice* pDevice, int pSkeletonJointsCount, FBBodyNodeId* pSkeletonJointsOrder );
1571
1576 void SetSensorFloorOffset(double pSensorFloorOffset);
1577
1583
1588 bool SetCharacterizeOn( bool pSetAsBiped );
1589
1593 const char * GetCharacterizeError();
1594
1598
1603
1608 bool CreateControlRig(bool pSetFKIK);
1609
1615 void ConnectControlRig(FBControlSet* pControlSet, bool pUpdateLimit, bool pResetHierarchy);
1616
1620
1628 bool CreateAuxiliary(FBEffectorId pEffectorId, bool pPivot, double pAuxReachT=100, double pAuxReachR=100);
1629
1634 FBControlSet * GetCurrentControlSet(bool pForce = false);
1635
1640 bool CreateCharacterMarkerSet(bool pSetActive);
1641
1647
1653
1658
1662 void SetExternalSolver(int pIndex);
1663
1668
1672 void GetActiveBodyPart(bool* pActivePart);
1673
1678 bool IsRotationPin(FBEffectorId pEffectorIndex);
1679
1685 bool SetRotationPin(FBEffectorId pEffectorIndex, bool pValue);
1686
1691 bool IsTranslationPin(FBEffectorId pEffectorIndex);
1692
1698 bool SetTranslationPin(FBEffectorId pEffectorIndex, bool pValue);
1699
1704
1709
1714
1719
1724
1729
1734 bool SetIKVisibility( bool pState );
1735
1740
1745 bool SetFKVisibility( bool pState );
1746
1751
1756 bool SetSkeletonVisibility( bool pState );
1757
1760
1762 // ParamModifier
1769 FBPropertyCharacterHipsTranslationMode HipsTranslationMode;
1776 FBPropertyCharacterRollSolver RollSolver;
1777 FBPropertyCharacterContactBehaviour ContactBehaviour;
1778
1779 FBPropertyAnimatableDouble ScaleCompensation;
1780 FBPropertyAnimatableDouble HipsHeightCompensation;
1781 FBPropertyAnimatableDouble AnkleHeightCompensation;
1782 FBPropertyAnimatableDouble AnkleProximityCompensation;
1783
1787
1792
1797
1802
1807
1812
1817
1822
1827
1832};
1833
1834
1836// Property List: MarkerSet
1838
1843{
1844public:
1855 virtual int Duplicate(int pIndex);
1856};
1857
1859// Property List: CharacterMarkerSet
1861
1866{
1867public:
1874};
1875
1877// Property List: ControlSet
1879
1884{
1885public:
1892};
1893
1895// Property List: Actor
1897
1902{
1903 public:
1909 FBActor* operator[]( int pIndex );
1914 virtual int Duplicate( int pIndex );
1915};
1916
1917
1919// Property List: Character
1922
1928{
1929 public:
1935 FBCharacter* operator[]( int pIndex );
1940 virtual int Duplicate( int pIndex );
1941};
1942
1943//Helpers
1944
1949
1955
1961
1967
1972
1977
1982
1987
1992
1998
2003FBSDK_DLL bool FBLoadCharacterPinningPreset( const char* pPresetName );
2004
2010FBSDK_DLL bool FBSaveCharacterPinningPreset( const char* pPresetName, bool pAllowOverwriting = false );
2011
2016FBSDK_DLL bool FBDeleteCharacterPinningPreset( const char* pPresetName );
2017
2022
2027
2028
2029#ifdef FBSDKUseNamespace
2030 }
2031#endif
2032#endif /* _FB_CHARACTER_H_ */
FBActor is used to link motion data to a character.
FBPropertyAnimatableDouble LeftHandPinkyPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyVector3d HipsPosition
Read Write Property: Body part pivot of the actor.
FBPropertyColor PivotColor
Read Write Property: The color of the pivot points of the actor.
FBPropertyBool SymmetryEditTranslation
Read Write Property: Symmetry Edit (Translation) mode state. Only effective when IKManip property is ...
FBPropertyAnimatableDouble RightHandIndexIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandPinkyRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandMiddleMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightThumbAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightWristOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d NeckPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d RightCollarOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyVector3d LeftShoulderPosition
Read Write Property: Body part pivot of the actor.
void UpdateValues(FBEvaluateInfo *pEvalInfo)
Update Internal Values to be corresponding to the Given Evaluate Information.
FBPropertyAnimatableVector3d LeftPinkyCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
void GetDefinitionScaleVector(FBSkeletonNodeId pSkeletonId, FBVector3d &pScaleVector)
Get Actor Scaling Definition.
FBPropertyAnimatableDouble LeftHandIndexRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyVector3d RightElbowPosition
Read Write Property: Body part pivot of the actor.
FBModel * GetRightGloveReferenceModel()
Get the reference model associated with right hand.
FBPropertyColor BodyColor
Read Write Property: The color of the body of the actor.
FBPropertyAnimatableVector3d RightIndexCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandPinkyMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyVector3d LeftKneePosition
Read Write Property: Body part pivot of the actor.
FBPropertyBool SkeletonVisibility
Read Write Property: Show or Hide the Skeleton.
FBPropertyAnimatableDouble LeftHandIndexIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightThumbBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightPinkyAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightMiddleBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightPinkyBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightKneeOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBModel * GetLeftGloveReferenceModel()
Get the reference model associated with left hand.
FBPropertyAnimatableVector3d RightElbowOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble LeftHandRingPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandIndexMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftPinkyBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBActor(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyAnimatableDouble LeftHandMiddlePinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandPinkyRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftAnkleOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftWristOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyBool SymmetryEditScaling
Read Write Property: Symmetry Edit (Scaling) mode state. Only effective when IKManip property is set ...
FBPropertyAnimatableVector3d LeftElbowOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightIndexCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
virtual void FBDelete() override
Actual Actor destructor.
FBPropertyAnimatableDouble LeftHandPinkyMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftMiddleBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandIndexMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftMiddleCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftWristOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftKneeOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandPinkyIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBSkeletonState * GetCurrentSkeletonState(bool pResetOrientation=false)
Return the Current Skeleton State.
FBPropertyAnimatableVector3d HipsOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBSkeletonState * GetDefaultSkeletonState()
Return the Default Skeleton State.
FBPropertyAnimatableVector3d RightRingCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d RightHipPosition
Read Write Property: Body part pivot of the actor.
FBPropertyVector3d HeadPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableDouble RightHandMiddleRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d NeckOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d RightShoulderPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d LeftShoulderOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d LeftHipPosition
Read Write Property: Body part pivot of the actor.
FBPropertyColor SkeletonColor
Read Write Property: The color of the skeleton of the actor.
FBPropertyAnimatableVector3d LeftThumbCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightAnkleOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
virtual bool Snap(FBRecalcMarkerSetOffset pRecalcOffset)
Snap the marker set of the actor.
FBPropertyAnimatableVector3d RightMiddleBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandMiddlePinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightKneeOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandRingRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftPinkyAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightMiddleAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d HeadOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble LeftHandMiddleRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightHipOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftRingAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d RightCollarPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableDouble LeftHandRingIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightPinkyCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d ChestPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d RightHipOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
void SetRightGloveReferenceModel(FBModel *pReferenceModel)
Set a model to be the right glove reference.
FBPropertyAnimatableBool HumanFingerLimits
Read Write Property: Enables/Disables human finger limits during actor solve.
FBPropertyAnimatableDouble LeftHandIndexPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightRingBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandRingIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandPinkyIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftHipOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightFootOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftRingBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyVector3d LeftElbowPosition
Read Write Property: Body part pivot of the actor.
FBPropertyBool Visibility
Read Write Property: Show or Hide the Actor Body.
FBPropertyBool PivotPointsVisibility
Read Write Property: Show or Hide the Pivot Points.
FBPropertyAnimatableVector3d LeftElbowOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyVector3d LeftFootPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d LeftKneeOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftFootOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyDouble PivotSize
Read Write Property: The size of the pivot points of the actor.
FBPropertyAnimatableVector3d RightRingAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftShoulderOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble FKFingerTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered finger tip phalanges...
FBPropertyAnimatableVector3d LeftHipOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftPinkyCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d ChestOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandRingPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandMiddleIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d RightRingBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightPinkyBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightAnkleOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightThumbCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
void SetDefinitionScaleVector(FBSkeletonNodeId pSkeletonId, FBVector3d pScaleVector, bool pSymmetricUpdate=true)
Set Actor Scaling Definition.
FBPropertyAnimatableVector3d LeftMiddleCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble LeftHandRingRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandMiddleIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyBool SymmetryEditRotation
Read Write Property: Symmetry Edit (Rotation) mode state. Only effective when IKManip property is set...
FBPropertyAnimatableVector3d RightMiddleAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftThumbAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftRingBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyBool ManipulateOffsets
Read Write Property: Flag to compute offsets while manipulating. If it is set to false,...
FBPropertyAnimatableVector3d RightIndexAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightRingCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightMiddleCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftAnkleOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightFootOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d RightAnklePosition
Read Write Property: Body part pivot of the actor.
FBPropertyVector3d WaistPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d LeftCollarOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
void GetDefinitionRotationVector(FBSkeletonNodeId pSkeletonId, FBVector3d &pRotationVector)
Get Actor Rotation Definition.
FBPropertyAnimatableVector3d RightIndexBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightMiddleCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d WaistOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandMiddleMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d HeadOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightRingAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftThumbAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightElbowOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftMiddleAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandPinkyPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyDouble MarkerSetSize
Read Write Property: The size of the markers of the actor.
FBPropertyAnimatableVector3d RightThumbAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d NeckOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightCollarOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftPinkyAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftPinkyBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftCollarOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightWristOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyBool IKManip
Read Write Property: Access to the IK Manip mode. This property is shared for all actors.
FBPropertyAnimatableVector3d WaistOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftThumbBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d ChestOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightIndexBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightThumbCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandRingMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
void SetLeftGloveReferenceModel(FBModel *pReferenceModel)
Set a model to be the left glove reference.
FBPropertyAnimatableVector3d LeftMiddleAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightPinkyCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyVector3d RightFootPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d RightShoulderOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d HipsOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftRingAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandIndexPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyVector3d LeftAnklePosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d LeftMiddleBOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableDouble LeftHandRingMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableVector3d LeftFootOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableDouble RightHandIndexRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyVector3d RightWristPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d LeftThumbCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyVector3d RightKneePosition
Read Write Property: Body part pivot of the actor.
void SetActorTranslation(FBVector3d pTranslationVector)
Translate Actor, similar to moving the hips of the Actor in the UI.
FBPropertyVector3d LeftWristPosition
Read Write Property: Body part pivot of the actor.
FBPropertyAnimatableVector3d RightThumbBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightPinkyAOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyMarkerSet MarkerSet
Read Write Property: Associated marker set.
FBPropertyAnimatableVector3d RightIndexAOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftIndexCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
void SetDefinitionRotationVector(FBSkeletonNodeId pSkeletonId, FBVector3d pRotationVector, bool pSymmetricUpdate=true)
Set Actor Rotation Definition.
FBPropertyAnimatableVector3d LeftThumbBOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
void SetDefinitionTranslationVector(FBSkeletonNodeId pSkeletonId, FBVector3d pTranslationVector, bool pSymmetricUpdate=true)
Set Actor Translation Definition.
FBPropertyVector3d LeftCollarPosition
Read Write Property: Body part pivot of the actor.
void GetDefinitionTranslationVector(FBSkeletonNodeId pSkeletonId, FBVector3d &pTranslationVector)
Get Actor Translation Definition.
FBPropertyAnimatableDouble FKThumbTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered thumb tip phalanges.
FBPropertyMarkerSet OutputMarkerSet
Read Write Property: Associated output marker set.
FBPropertyAnimatableDouble FKFingerMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered intermediate finger ...
FBPropertyAnimatableVector3d LeftRingCOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
FBPropertyAnimatableVector3d LeftRingCOffsetT
Read Write Property: Local translation offset that is applied after the actor solve
FBPropertyAnimatableVector3d RightShoulderOffsetR
Read Write Property: Local rotation offset that is applied after the actor solve
Template class to contain an array of items.
Definition fbarray.h:78
Objects Grouping class.
A character is the link between a motion source and a character model.
FBPropertyAnimatableDouble LeftHandPinkyPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble ShoulderCorrection
Read Write Property: shoulder correction values.
FBPropertyAnimatableDouble RightHandIndexIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandPinkyRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandMiddleMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
void GoToStancePose(bool pPushUndo=false, bool pIncludeCharacterExtensions=true)
Set the character in stance pose.
FBPropertyBool RightKneeKillPitch
Read Write Property: is Pitch used for Right knee.
FBPropertyCharacterKeyingMode KeyingMode
Read Write Property: The current keying mode.
FBPropertyAnimatableDouble LeftHandIndexRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyBool LockY
Read Write Property: Lock character skeleton in place on Y axis.
bool ReadyForRetarget()
Test if character is ready for the Retarget operation (basically, is it in character input ?...
FBPropertyAnimatableDouble RightHandPinkyMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBControlSet * GetCurrentControlSet(bool pForce=false)
Obtain Input ControlSet.
FBPropertyBool ActiveInput
Read Write Property: Is the character input active?
FBControlSetState * GetControlSetEvaluationCache(FBEvaluateInfo *pEvaluateInfo)
Return pointer to evaluation cache that is dedicated for control set and given pEvaluateInfo.
FBPropertyAnimatableDouble LeftHandIndexIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBBodyNodeId GetCtrlRigIndexByModel(FBModel *pModel)
Get the index of the model associated with each body part in the Control Rig of the character.
FBPropertyBool MirrorMode
Read Write Property: is in mirror mode.
bool IsParentNodeOffset(FBBodyNodeId pNodeId)
Check if there is an offset on Parent.
FBPropertyBool InverseRightKnee
Read Write Property: Is right knee inverted.
FBPropertyAnimatableDouble LeftHandRingPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandIndexMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
bool SetCharacterizeOn(bool pSetAsBiped)
Set the Characterize flag on.
FBPropertyBool LockX
Read Write Property: Lock character skeleton in place on X axis.
FBPropertyAnimatableDouble LeftHandMiddlePinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandPinkyRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
bool GetCharacterize()
Get Characterize flag.
void CopyAnimation()
Copy the animation from the input character to us.
FBModel * GetCtrlRigModel(FBBodyNodeId pBodyNodeId)
Get the model associated with each body part in the Control Rig of the character.
void SetSensorFloorOffset(double pSensorFloorOffset)
SetSensorFloorOffset.
FBCycleAnalysisNode * GetCycleAnalysisNode()
Get the Cycle Analysis Node from the current character.
virtual void FBDelete() override
Actual Character destructor.
FBPropertyAnimatableDouble LeftHandPinkyMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandIndexMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
void SetExternalSolver(int pIndex)
Set character external solver.
FBPropertyBool LeftKneeKillPitch
Read Write Property: is Pitch used for Left knee.
bool CreateControlRig(bool pSetFKIK)
Create the Control-Rig.
FBPropertyBool RightElbowKillPitch
Read Write Property: is Pitch used for Right elbow.
bool SetTranslationPin(FBEffectorId pEffectorIndex, bool pValue)
Set the object Pinned in Translation (Manipulation) status.
FBPropertyBool LockZ
Read Write Property: Lock character skeleton in place on Z axis.
FBPropertyAnimatableDouble RightHandPinkyIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyBool SyncMode
Read Write Property: is character in sync mode.
void ConnectControlRig(FBControlSet *pControlSet, bool pUpdateLimit, bool pResetHierarchy)
Connect a Control-Rig to the character.
bool IsPlottingActorToCtrlRig()
Return true if the Actor is currently being plot to the Control Rig.
FBBodyNodeId GetIndexByModel(FBModel *pModel)
Get the index associated with Given Model.
FBPropertyAnimatableDouble RightHandMiddleRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBCharacterSolver * GetExternalSolver()
Get a pointer to the external solver of a character, or NULL is no external solver is used on the cha...
bool SetFKVisibility(bool pState)
Set the FK visibility state.
void GetActiveBodyPart(bool *pActivePart)
Get the active body part array.
void SetExternalSolver(FBCharacterSolver *pSolver)
Set character solver.
FBPropertyAnimatableDouble RightHandMiddlePinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandRingRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
bool SetIKVisibility(bool pState)
Set the IK visibility state.
FBPropertyAnimatableDouble LeftHandMiddleRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
bool CreateAuxiliary(FBEffectorId pEffectorId, bool pPivot, double pAuxReachT=100, double pAuxReachR=100)
Create auxiliary on effector.
FBPropertyBool WriteReference
Read Write Property: are we writing back on reference.
FBCalibrationState GetMocapCalibrationState()
Get Mocap calibration state.
FBPropertyAnimatableDouble LeftHandRingIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBModel * GetEffectorModel(FBEffectorId pEffectorId, FBEffectorSetID pEffectorSetID=FBEffectorSetDefault)
Get the model associated with each effector in the Control Rig of the character.
void CycleAnalysisCurrentCharacter()
Run Cycle Analysis on current character.
FBPropertyAnimatableBool HumanFingerLimits
Read Write Property: Enables/Disables human finger limits during actor solve.
void GetSkinModelList(FBModelList &pSkinModelList)
Get the skin model associated with character bones.
FBPropertyAnimatableDouble LeftHandIndexPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandRingIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandPinkyIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
void PassDeviceMocapData(FBMocapJointsState *pDeviceMocapData)
PassDeviceMocapData.
bool SetRotationPin(FBEffectorId pEffectorIndex, bool pValue)
Set the object Pinned in Rotation (Manipulation) status.
FBPropertyBool InverseLeftKnee
Read Write Property: Is left knee inverted.
bool IsRotationPin(FBEffectorId pEffectorIndex)
Return true if the object is Pinned in Rotation (Manipulation).
void SelectModels(bool pSelect, bool pApplyToCharacter, bool pApplyToRig, bool pApplyToExtensions)
Select the objects that make a character.
FBString mCharacterizeError
Used to store SetCharacterizeOn errors and warnings.
FBPropertyAnimatableDouble FKFingerTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered finger tip phalanges...
FBPropertyAnimatableDouble RightHandRingPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandMiddleIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyCharacterInputType InputType
Read Write Property: The input type for the character (ex: Actor).
void SetCharacterizeOff()
Set Characterize flag off.
FBPropertyAnimatableDouble LeftHandRingRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandMiddleIndex
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
bool SetSkeletonVisibility(bool pState)
Set the skeleton visibility state.
virtual bool PlotAnimation(FBCharacterPlotWhere pPlotWhere, FBPlotOptions *pPlotOptions)
Plot the animation of the character.
FBVisibilityState GetFKVisibility()
Get the FK visibility state.
void SetMocapCalibrationState(FBCalibrationState pState)
Set the Mocap calibration state.
FBModel * GetModel(FBBodyNodeId pBodyNodeId)
Get the model associated with each body part of the character.
void DisconnectControlRig()
Disconnect the Control-Rig from the character.
const char * GetCharacterizeError()
Get error message for the previous SetCharacterizeOn operation.
FBPropertyListCharacterExtension CharacterExtensions
List: Character Extensions in the character.
FBPropertyAnimatableDouble RightHandMiddleMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
void SetupDeviceMocap(FBDevice *pDevice, int pSkeletonJointsCount, FBBodyNodeId *pSkeletonJointsOrder)
SetupDeviceMocap.
FBCharacter(const char *pName, HIObject pObject=NULL)
Constructor.
bool CreateCharacterMarkerSet(bool pSetActive)
Create the Character Marker Set.
FBPropertyCharacterRollSolver RollSolver
Read Write Property: Roll Solver selection.
FBPropertyAnimatableDouble RightHandPinkyPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
virtual void ResetProperties(FBCharacterResetProperties pType)
Reset the properties of the character.
void AddCharacterExtension(FBCharacterExtension *pExt)
AddCharacterExtension.
void Retarget(bool pOnBaseLayer)
Retarget the animation from the input character to us.
FBModel * GetFloorContactModel(FBFloorContactID pMemberIndex)
Get the model associated with the floor contact ID.
FBCharacter * Clone() override
Clone the character.
FBPropertyCharacterHipsTranslationMode HipsTranslationMode
Read Write Property: Hips Translation Mode.
FBPropertyAnimatableDouble RightHandRingMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble RightHandIndexPinky
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyAnimatableDouble LeftHandRingMiddle
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyActor InputActor
Read Write Property: The index of the actor used for the input.
FBEffectorSetState * GetEffectorEvaluationCache(FBEvaluateInfo *pEvaluateInfo)
Return pointer to evaluation cache that is dedicated for effector set and given pEvaluateInfo.
FBVisibilityState GetSkeletonVisibility()
Get the skeleton visibility state.
FBPropertyBool LeftElbowKillPitch
Read Write Property: is Pitch used for Left elbow.
FBPropertyAnimatableDouble RightHandIndexRing
Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4...
FBPropertyCharacter InputCharacter
Read Write Property: The index of the character used for the input.
bool IsTranslationPin(FBEffectorId pEffectorIndex)
Return true if the object is Pinned in Translation (Manipulation).
FBPropertyCharacterContactBehaviour ContactBehaviour
Read Write Property: Contact Behavior selection.
FBVisibilityState GetIKVisibility()
Get the IK visibility state.
void MirrorCharacterExtensions(FBEvaluateInfo *pEvaluateInfo)
Mirror character extensions.
FBPropertyAnimatableDouble FKThumbTipMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered thumb tip phalanges.
void RemoveCharacterExtension(FBCharacterExtension *pExt)
Get the model associated with each body part of the character.
FBPropertyAnimatableDouble FKFingerMultiplier
Read Write Property: Used to augment the amount of FK propagation for unmarkered intermediate finger ...
FBPropertyBool InverseRightElbow
Read Write Property: Is right elbow inverted.
FBPropertyBool InverseLeftElbow
Read Write Property: Is left elbow inverted.
FBCharacterMarkerSet * GetCharacterMarkerSet(bool pForce=false)
Obtain Input CharacterMarkerSet.
FBModel * GetGoalModel(FBBodyNodeId pBodyNodeId)
Get the goal model associated with each body part in the Character Marker Set of the character.
bool IsCtrlSetReady()
Return true Ctrl Set is Ready to be used.
Character marker set class.
FBCharacterMarkerSet(const char *pName, HIObject pObject=NULL)
Constructor.
FBProperty * GetSnapProperty(FBBodyNodeId pNodeId, FBModelTransformationType pWhat)
Get the snap property associated with each body part of the character for given transformation.
FBProperty * GetMarkersProperty(FBBodyNodeId pNodeId)
Get the marker property associated with each body part of the character.
FBProperty * GetExtractionProperty(FBBodyNodeId pNodeId)
Get the extraction property associated with each body part of the character.
void ReadCtrlSetAndEffectorState(FBControlSetState *pFKState, FBEffectorSetState *pIKState, FBEvaluateInfo *pEvaluateInfo)
Read FK and IK state from goals.
Constraint class.
MotionBuilder SDK base class.
Base class for constraints.
Control set class.
int GetIKEffectorPivotCount(FBEffectorId pEffectorIndex)
Return the number of IK Effector pivot.
const char * GetFKName(int pIndex)
Return the name of FK model at the given index.
int GetFKIndex(FBModel *pModel)
Return the index of the given FK model.
FBPropertyDouble FKOpacity
Read Write Property: Opacity value used on FK (between 0 and 100).
const char * GetIKEffectorName(FBEffectorId pEffectorIndex)
Return the name of the IK Effector.
FBModel * GetReferenceModel()
Get the reference model associated with this Control Set.
FBPropertyBool UseAxis
Read Write Property: is using axis.
FBModel * GetIKEffectorModel(FBEffectorId pEffectorIndex, int pPivotIndex=0)
Return the IK Effector model associated to the given indices.
FBPropertyControlSetType ControlSetType
Read Property: the control Set Type (FKIK or IK).
const char * GetReferenceName()
Get the reference name associated with this Control Set.
FBModel * GetFKModel(int pIndex)
Return the FK model associated to the given index.
int GetFKCount()
Return the number of FK models.
FBControlSet(const char *pName, HIObject pObject=NULL)
Constructor.
int GetIKEffectorIndex(FBModel *pModel)
Return the index of the given IK Effector model.
void GetNodeMatrix(FBBodyNodeId pNodeId, FBMatrix &pNodeGlobalMatrix)
Returned global matrix associated to the given Index.
Cycle Analysis class.
Base Device class.
Definition fbcore.h:805
void GetReach(FBEffectorId pEffectorId, double &pReachT, double &pReachR)
Returned translation and rotation reach associated to the given Index.
void GetEffectorMatrix(FBEffectorId pEffectorId, FBMatrix &pEffectorGlobalMatrix)
Returned global matrix associated to the given Index.
AnimationNodeNotify evaluation information.
Marker set class.
void GetMarkerROffset(FBSkeletonNodeId pNodeId, int pMarkerIndex, FBRVector *pROffset)
Get/Set a marker rotation.
void EndTransaction()
Specify that you are done calling a group of functions.
int GetMarkerCount(FBSkeletonNodeId pNodeId=kFBSkeletonInvalidIndex)
Get the number of marker in the set.
const char * GetMarkerName(FBSkeletonNodeId pNodeId, int pMarkerIndex)
Get the name of marker at index pMarkerIndex.
FBMarkerSet(const char *pName, HIObject pObject=NULL)
Constructor.
bool GetMarkerOriented(FBSkeletonNodeId pNodeId, int pMarkerIndex)
Is marker orientated ?
void SetMarkerSetVisibility(bool pVisibility)
Set the marker set visibility.
void SetMarkerUsed(FBSkeletonNodeId pNodeId, int pMarkerIndex, bool pUsed)
Set marker to be used or not.
void GetMarkerTOffset(FBSkeletonNodeId pNodeId, int pMarkerIndex, FBTVector *pTOffset)
Get/Set a marker translation.
FBModel * GetMarkerModel(FBSkeletonNodeId pNodeId, int pMarkerIndex)
Get the model associated with a marker.
bool GetLinkToModelOk()
Get the marker set association correctness.
FBModel * GetReferenceModel()
Get the reference model associated with this marker set.
void SetMarkerName(FBSkeletonNodeId pNodeId, int pMarkerIndex, const char *pMarkerName)
Set the name of marker at index pMarkerIndex.
void BeginTransaction()
Specify that you are about to call a group of functions.
bool GetMarkerUsed(FBSkeletonNodeId pNodeId, int pMarkerIndex)
Is marker used ?
void SetMarkerModel(FBSkeletonNodeId pNodeId, int pMarkerIndex, FBModel *pModel)
Associate a model to a marker.
void SetMarkerOriented(FBSkeletonNodeId pNodeId, int pMarkerIndex, bool pIsOriented)
Set marker to be oriented or not.
int GetMarkerSetVisibility()
Get the marker set visibility.
int AddMarker(FBSkeletonNodeId pNodeId, FBModel *pModel=NULL, bool pIsOriented=false)
Add a marker to the marker set.
void SetReferenceModel(FBModel *pReferenceModel)
Associate a model to a marker.
bool SetMultipleMarkerModels(FBModelList *pModelList)
Associate multiple models to markers, matching them by name.
int GetUsedMarkerCount(FBSkeletonNodeId pNodeId=kFBSkeletonInvalidIndex)
Get the number of used marker in the set.
Four x Four (double) Matrix.
Definition fbtypes.h:290
int mSkeletonJointsCount
Number of joints according to specific motion capture device.
FBMocapJointsState(int pSkeletonJointsCount)
Constructor.
FBMatrix * mSkeletonJointsGlobalOrientations
Global orientations of each bone.
FBSkeletonTrackingState mSkeletonTrackingState
State of the skeleton tracking.
FBTVector * mSkeletonJointsPositions
Positions of each joint.
FBTVector mSkeletonPosition
Position of the skeleton.
double mFloorClipPlaneW
Floor Clip Plane W value for camera reposition.
FBSkeletonJointTrackingState * mSkeletonJointTrackingState
State of the skeleton joint tracking.
Model class.
Definition fbmodel.h:274
Option parameters for plotting.
Property: Base property class.
PropertyList: Actor.
FBActor * operator[](int pIndex)
Get the actor at pIndex.
virtual int Duplicate(int pIndex)
Duplicate an actor.
Character extension property list.
PropertyList: Character.
FBCharacter * operator[](int pIndex)
Get the Character at pIndex.
virtual int Duplicate(int pIndex)
Duplicate a Character.
PropertyList: CharacterMarkerSet.
FBCharacterMarkerSet * operator[](int pIndex)
Get the character marker set at pIndex.
PropertyList: Concrete class for PropertyList of component
PropertyList: MarkerSet.
FBControlSet * operator[](int pIndex)
Get the marker set at pIndex.
PropertyList: MarkerSet.
virtual int Duplicate(int pIndex)
Duplicate a marker set.
FBMarkerSet * operator[](int pIndex)
Get the marker set at pIndex.
Three dimensional scaling vector.
Definition fbtypes.h:566
void GetNodeMatrix(FBSkeletonNodeId pSkeletonId, FBMatrix &pSkeletonGlobalMatrix)
Returned global matrix associated to the given Index.
Basic string class.
Definition fbstring.h:67
K_DLLIMPORT const char * FBCharacterEffectorNameFromId(FBEffectorId pEffectorId)
Get the UI name associated with an effector.
FBEffectorId
All effector nodes.
K_DLLIMPORT bool FBSetActorMarkerSetVisibility(bool pShow)
Sets visibility of the marker set of the current actor.
K_DLLIMPORT bool FBGetActorMarkerSetVisibility()
Queries visibility of the marker set of the current actor.
FBEffectorSetID
Effector ID identifier.
FBCharacterHipsTranslationMode
Character Hips Translation modes.
K_DLLIMPORT bool FBGetCharacterFingerTipsVisibility()
Queries visibility of the finger-tips of the current character.
FBSkeletonJointTrackingState
Device Mocap skeleton joint tracking state.
K_DLLIMPORT FBBodyPartId FBGetEffectorBodyPart(FBEffectorId pEffectorId)
return BodyPart ID from Effector.
FBVisibilityState
Visibility state.
@ kFBVisibilityAny
Any object requested is visible.
@ kFBVisibilitySome
Some objects (at least one, but not all) requested are visible.
@ kFBVisibilityInvalid
Invalid visibility request.
@ kFBVisibilityAll
All objects requested are visible.
FBCharacterResetProperties
Character Reset Properties Type.
FBCharacterInputType
Character Input/Output types.
FBCharacterPlotWhere
Where to plot a character.
K_DLLIMPORT bool FBLoadCharacterPinningPreset(const char *pPresetName)
Loads a pinning preset in the Character Controls Tool.
FBBodyPartId
Body part for character.
@ kFBCtrlSetPartRightLeg
Right Leg Body Part.
@ kFBCtrlSetPartHead
Head Body Part.
@ kFBCtrlSetPartLeftLeg
Left Leg Body Part.
@ kFBCtrlSetPartHips
Hips Body Part.
@ kFBCtrlSetPartNone
No part selected.
@ kFBCtrlSetPartRightFoot
Right Foot Body Part.
@ kFBCtrlSetPartRightArm
Right Arm Body Part.
@ kFBCtrlSetPartLeftHand
Left Hand Body Part.
@ kFBCtrlSetPartLeftFoot
Left Foot Body Part.
@ kFBCtrlSetPartLeftArm
Left Arm Body Part.
@ kFBLastCtrlSetPartIndex
Part count.
@ kFBCtrlSetPartChest
Chest Body Part.
@ kFBCtrlSetPartRightHand
Right Hand Body Part.
K_DLLIMPORT bool FBSaveCharacterPinningPreset(const char *pPresetName, bool pAllowOverwriting=false)
Saves a pinning preset from the current pinning values in the Character Controls Tool.
K_DLLIMPORT void FBSetCharacterFingerTipsVisibility(bool pShow)
Sets visibility of the finger-tips of the current character.
K_DLLIMPORT bool FBGetCharacterFloorContactsVisibility()
Queries visibility of the floor contacts of the current character.
K_DLLIMPORT FBBodyPartId FBGetBodyNodeBodyPart(FBBodyNodeId pBodyNodeId)
return BodyPart ID from Bones.
FBCharacterKeyingMode
Character keying modes.
FBCharacterContactBehaviour
Character Contact Behaviour.
const int kFBLastActorNodeId
Last Actor NodeId.
K_DLLIMPORT void FBSetCharacterFloorContactsVisibility(bool pShow)
Sets visibility of the floor contacts of the current character.
FBControlSetType
Character ControlSet type.
K_DLLIMPORT FBCharacterKeyingMode FBGetCharactersKeyingMode()
return Character Manipulation/Keying Mode
FBFloorContactID
Floor contact for the given index.
K_DLLIMPORT bool FBDeleteCharacterPinningPreset(const char *pPresetName)
Deletes a pinning preset from the Character Controls Tool.
FBCharacterRollSolver
Character Roll Solver version.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
FBBodyNodeId
All body nodes.
@ kFBRightShoulderRollNode1Id
New leaf roll bone.
@ kFBLeftKneeRollNode2Id
New leaf roll bone.
@ kFBRightHipRollNode5Id
New leaf roll bone.
@ kFBLeftWristNodeId
Required.
@ kFBRightHipNodeId
Required.
@ kFBLeftElbowRollNode5Id
New leaf roll bone.
@ kFBLeftKneeNodeId
Required.
@ kFBLeftHipNodeId
Required.
@ kFBRightHipRollNode2Id
New leaf roll bone.
@ kFBRightShoulderRollNode2Id
New leaf roll bone.
@ kFBRightExtraFingerANodeId
New extra finger bone.
@ kFBRightShoulderRollNode5Id
New leaf roll bone.
@ kFBRightKneeNodeId
Required.
@ kFBRightExtraFingerInNodeId
New extra finger bone.
@ kFBHeadNodeId
Required.
@ kFBRightElbowRollNode5Id
New leaf roll bone.
@ kFBLeftKneeRollNode5Id
New leaf roll bone.
@ kFBRightExtraFingerDNodeId
New extra finger bone.
@ kFBLeftHipRollNode3Id
New leaf roll bone.
@ kFBLeftKneeRollNode1Id
New leaf roll bone.
@ kFBRightExtraFingerBNodeId
New extra finger bone.
@ kFBRightKneeRollNode5Id
New leaf roll bone.
@ kFBLeftExtraFootFingerCNodeId
New extra finger bone.
@ kFBLeftShoulderRollNode1Id
New leaf roll bone.
@ kFBRightWristNodeId
Required.
@ kFBRightShoulderRollNode3Id
New leaf roll bone.
@ kFBRightElbowRollNode2Id
New leaf roll bone.
@ kFBRightKneeRollNode2Id
New leaf roll bone.
@ kFBLeftKneeRollNode4Id
New leaf roll bone.
@ kFBRightShoulderNodeId
Required.
@ kFBLeftExtraFingerInNodeId
New extra finger bone.
@ kFBLeftShoulderRollNode3Id
New leaf roll bone.
@ kFBWaistNodeId
Required, Spine 0.
@ kFBLeftElbowRollNode3Id
New leaf roll bone.
@ kFBRightExtraFootFingerInNodeId
New extra finger bone.
@ kFBLeftShoulderRollNode2Id
New leaf roll bone.
@ kFBRightExtraFootFingerANodeId
New extra finger bone.
@ kFBRightHipRollNode4Id
New leaf roll bone.
@ kFBRightKneeRollNode3Id
New leaf roll bone.
@ kFBLeftExtraFingerDNodeId
New extra finger bone.
@ kFBLeftExtraFootFingerBNodeId
New extra finger bone.
@ kFBLeftExtraFootFingerDNodeId
New extra finger bone.
@ kFBLeftShoulderRollNode4Id
New leaf roll bone.
@ kFBLeftElbowNodeId
Required.
@ kFBLeftElbowRollNode4Id
New leaf roll bone.
@ kFBRightElbowNodeId
Required.
@ kFBHipsNodeId
Required.
@ kFBLeftElbowRollNode1Id
New leaf roll bone.
@ kFBRightElbowRollNode3Id
New leaf roll bone.
@ kFBLeftExtraFingerANodeId
New extra finger bone.
@ kFBLeftAnkleNodeId
Required.
@ kFBLeftHipRollNode2Id
New leaf roll bone.
@ kFBRightElbowRollNode4Id
New leaf roll bone.
@ kFBRightHipRollNode1Id
New leaf roll bone.
@ kFBLeftHipRollNode4Id
New leaf roll bone.
@ kFBLeftKneeRollNode3Id
New leaf roll bone.
@ kFBLeftExtraFingerCNodeId
New extra finger bone.
@ kFBChestNodeId
Spine 1.
@ kFBLeftShoulderRollNode5Id
New leaf roll bone.
@ kFBLeftExtraFingerBNodeId
New extra finger bone.
@ kFBRightAnkleNodeId
Required.
@ kFBLeftHipRollNode1Id
New leaf roll bone.
@ kFBRightHipRollNode3Id
New leaf roll bone.
@ kFBRightShoulderRollNode4Id
New leaf roll bone.
@ kFBLeftHipRollNode5Id
New leaf roll bone.
@ kFBRightExtraFootFingerDNodeId
New extra finger bone.
@ kFBRightExtraFootFingerBNodeId
New extra finger bone.
@ kFBLeftExtraFootFingerANodeId
New extra finger bone.
@ kFBRightElbowRollNode1Id
New leaf roll bone.
@ kFBLeftShoulderNodeId
Required.
@ kFBRightExtraFootFingerCNodeId
New extra finger bone.
@ kFBRightExtraFingerCNodeId
New extra finger bone.
@ kFBLeftElbowRollNode2Id
New leaf roll bone.
@ kFBRightKneeRollNode4Id
New leaf roll bone.
@ kFBLeftExtraFootFingerInNodeId
New extra finger bone.
@ kFBRightKneeRollNode1Id
New leaf roll bone.
FBRecalcMarkerSetOffset
Recalculate MarkerSet offset for?
@ kFBRecalcMarkerSetOffsetTR
Recalculate MarkerSet offset for TR.
@ kFBRecalcMarkerSetOffsetROnly
Recalculate MarkerSet offset for R Only.
FBSkeletonTrackingState
Device Mocap skeleton tracking state.
FBSkeletonNodeId
All Skeleton nodes
Definition fbcharacter.h:66
K_DLLIMPORT double FBGetCharacterComparisonThresholdValue()
Return the Character comparison threshold value used when comparing two characters (e....
K_DLLIMPORT const char * FBCharacterBodyNodeNameFromId(FBBodyNodeId pBodyNodeId)
Get the UI name associated with a body node.
K_DLLIMPORT FBCharacter * FBGetCharacterByAssociatedPart(FBComponent *pPart)
Get character by its associated IK/FK Marker or Bone.
FBCalibrationState
Device Mocap character calibration state.
K_DLLIMPORT void FBSetCharacterComparisonThresholdValue(double pValue)
Set the Character threshold value used when comparing two characters (e.g.: when applying a Character...
Character extension interface for FBSDK.
#define __FBClassDeclare(Name, Parent)
For internal use only.
Constraint classes.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
FBModelTransformationType
Types of transformation vector/matrices possible.
Definition fbmodel.h:167
class K_DLLIMPORT FBPropertyBaseAnimatable< FBVector3d, kFBPT_Vector3D > FBPropertyAnimatableVector3d
FBPropertyAnimatableVector3D type definition.
class K_DLLIMPORT FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
class K_DLLIMPORT FBPropertyBaseAnimatable< bool, kFBPT_bool > FBPropertyAnimatableBool
FBPropertyAnimatableBool type definition.
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:62
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68
class K_DLLIMPORT FBVector3< double > FBVector3d
3D vector.
Definition fbtypes.h:438