Open Reality Reference Guide
FBCharacterSolver Class Reference

Constraint class. More...

#include <fbcharactersolver.h>

Inheritance diagram for FBCharacterSolver:

Public Member Functions

 FBCharacterSolver (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
FBEvaluateInfoBackgroundEvaluateInfoBegin (FBEvaluateInfo *pSourceEvaluateInfo, bool pEvaluateCandidates=false)
 Start background evaluation. More...
 
FBEvaluateInfoBackgroundEvaluateInfoRecursiveBegin (FBEvaluateInfo *pSourceEvaluateInfo, bool pForceUpdateLocals=false)
 Start recursive background evaluation. More...
 
void BackgroundEvaluateInfoEnd (FBEvaluateInfo *pBackgroundEvaluateInfo)
 Release background evaluation info - very important. More...
 
bool BackgroundEvaluateInfoNotify (FBEvaluateInfo *pBackgroundEvaluateInfo, kBackgroundEvaluationCallback pFunction, void *pCustomData=NULL)
 Enable evaluation notification. More...
 
void ResetConnectorSetup ()
 
virtual FBCharacterManipulatorCtrlSetCreateCharacterManipulatorCtrlSet (const char *pName)
 
virtual double GetCharacterSolverVersion ()
 Version of the solver. Needs to be overloaded in derived class. More...
 
virtual int GetExtraFKCount ()
 Return number of extra FK model (ex. More...
 
virtual const char * GetExtraFKNameAt (int pIndex)
 Return the specified extra FK Name (ex. More...
 
virtual FBBodyPartId GetExtraFKBodyPartAt (int pIndex)
 Return The specified extra FK BodyPart (ex. More...
 
virtual int GetExtraBoneCount ()
 Return number of extra Bone model (ex. More...
 
virtual const char * GetExtraBoneNameAt (int pIndex)
 Return The specified extra Bone name (ex. More...
 
virtual FBBodyPartId GetExtraBoneBodyPartAt (int pIndex)
 Return The specified extra Bone BodyPart (ex. More...
 
FBModelGetExtraBoneModelAt (int pIndex)
 Return The specified extra Bone model (ex. More...
 
FBModelMarkerGetExtraFKModelAt (int pIndex)
 Return the specified extra FK model (ex. More...
 
void SetExtraBoneModelAt (FBModel *pModel, int pIndex)
 Set the specified extra Bone model for a specified Extra Bone Index. More...
 
void SetExtraFKModelAt (FBModelMarker *pModel, int pIndex)
 Set the specified extra FK model for a specified Extra FK Index (ex. More...
 
void ExtractOffsets ()
 Extract Transforms Of Extra Bones for character stance pose information. More...
 
void GetTransformOffset (FBVector3d &pT, FBRVector &pR, FBSVector &pS, int pIndex)
 Get the transform of the Given Extra Bone Index. More...
 
void SetTransformOffset (FBVector3d &pT, FBRVector &pR, FBSVector &pS, int pIndex)
 Set the transform of the Given Extra Bone Index. More...
 
void GetParentRotationOffset (FBRVector &pR, int pIndex)
 Get the Parent Rotation Offset of the Given Extra Bone Index. More...
 
void SetParentRotationOffset (FBRVector &pR, int pIndex)
 Set the Parent Rotation Offset of the Given Extra Bone Index. More...
 
virtual void CharacterPasteState (FBCharacter *pFromCharacter, FBCharacterPose *pPose, FBCharacterPoseOptions &pCharacterPoseOptions)
 Paste the state of a character on another one. More...
 
virtual void ResetExtraProperties ()
 Support for resetting properties that are defined and specific to custom solver Override this function in derived class so that these 'extra' properties can be reset (e.g., to default values) when "Reset All Properties" button in "Character Settings" tab in Navigator is clicked, or when FBCharacter::ResetProperties() is called. More...
 
bool GetRigAlign ()
 Returns true when control rig has Rig Align property on. More...
 
bool GetDoubleSolve ()
 Returns true when control rig has Double Solve property on. More...
 
bool GetBlendAuxiliaryWithEffector ()
 Returns true means consider blending auxiliary with effector when evaluate control rig. More...
 
void SetBlendAuxiliaryWithEffector (bool pBlendAux)
 Set true means consider blending auxiliary with effector when evaluate an control rig. More...
 
- Public Member Functions inherited from FBConstraint
 FBConstraint (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
 IObject_Declare (override)
 
virtual void ActiveChanged ()
 Notification for Activation Status Change. More...
 
virtual void RemoveAllAnimationNodes ()
 Remove animation nodes. More...
 
virtual void SetupAllAnimationNodes ()
 Setup animation nodes. More...
 
virtual void SnapSuggested ()
 Suggest 'snap'. More...
 
virtual void FreezeSuggested ()
 Suggest 'freeze'. More...
 
virtual bool Disable (FBModel *pModel)
 Disable constraint on pModel. More...
 
virtual bool Enable (FBModel *pModel)
 Enable constraint on pModel. More...
 
virtual bool AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo, FBConstraintInfo *pConstraintInfo)
 Notification callback for connectors. More...
 
FBAnimationNodeAnimationNodeOutCreate (kReference pUserId, FBModel *pModel, const char *pAttribute)
 Animation Node Creations (IN/OUT). More...
 
FBAnimationNodeAnimationNodeInCreate (kReference pUserId, FBModel *pModel, const char *pAttribute)
 
FBAnimationNodeAnimationNodeInCreate (kReference pUserId, FBProperty *pProperty)
 Animation Node Creations (IN). More...
 
virtual void SaveModelState (FBModel *pModel, bool pS, bool pR, bool pT)
 Save current state of pModel. More...
 
virtual void RestoreModelState (FBModel *pModel)
 Restore the saved model state onto pModel. More...
 
virtual void FreezeSRT (FBModel *pModel, bool pS, bool pR, bool pT)
 Freeze current model state. More...
 
virtual FBConstraintClone ()
 Clone the constraint. More...
 
int ReferenceGroupGetCount ()
 Return the number of reference groups. More...
 
int ReferenceGroupAdd (const char *pGroupName, int pMaxItemCount)
 Add a group of references. More...
 
const char * ReferenceGroupGetName (int pGroupIndex)
 Get the name of the reference group. More...
 
int ReferenceGroupGetMaxCount (int pGroupIndex)
 Get the maximum number of items that can exist in the reference group in question. More...
 
FBModelReferenceGet (int pGroupIndex, int pItemIndex=0)
 Get a reference. More...
 
int ReferenceGetCount (int pGroupIndex)
 Get number of references in a specified group. More...
 
bool ReferenceAdd (int pGroupIndex, FBModel *pModel)
 Add a reference to a specified group. More...
 
bool ReferenceRemove (int pGroupIndex, FBModel *pModel)
 Remove a reference to pModel from the group at pGroupIndex. More...
 
void ReferenceRemoveAll ()
 Remove All References. More...
 
virtual bool ReferenceAddNotify (int pGroupIndex, FBModel *pModel)
 Notification callbacks for when a reference is added or removed. More...
 
virtual bool ReferenceRemoveNotify (int pGroupIndex, FBModel *pModel)
 
virtual bool DeformerPreNotify (FBModel *pModel, FBEvaluateInfo *pEvaluateInfo, FBVertex *pBBoxMin, FBVertex *pBBoxMax)
 Deformation pre-notification function This function pass the evaluation information for deformation (if timing is required). More...
 
virtual bool DeformerNotify (FBModel *pModel, const FBVertex *pSrcVertex, const FBVertex *pSrcNormal, int pCount, FBVertex *pDstVertex, FBVertex *pDstNormal)
 Deformation notification function. More...
 
virtual bool DeformerBind (FBModel *pModel)
 Bind/Unbind pModel to deformation constraint. More...
 
virtual bool DeformerUnBind (FBModel *pModel)
 
virtual bool FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
 Store/Retrieve data to/from FBX files. More...
 
virtual bool FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
 
- Public Member Functions inherited from FBBox
 FBBox (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
virtual FBAnimationNodeAnimationNodeInCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false)
 Creation of IN/OUT Animation Nodes. More...
 
virtual FBAnimationNodeAnimationNodeOutCreate (kReference pUserId, const char *pName, const char *pDataType, bool pIsPublic=false, double *pMin=NULL, double *pMax=NULL, bool pUserData=false)
 
virtual bool EvaluateAnimationNodes (FBEvaluateInfo *pEvaluateInfo)
 Evaluation of non TRS nodes that needs to be evaluated. More...
 
virtual bool AnimationNodeNotify (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo)
 Notification function for animation thread. More...
 
virtual bool ResolveCandidate (FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo)
 Function is call when candidate needs to be resolved (like global to local). More...
 
virtual ECandidateAction SetGlobalCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo)
 Function is call when a global candidate is set on an animation node. More...
 
virtual ECandidateAction SetStdCandidate (FBAnimationNode *pAnimationNode, double *pData, FBEvaluateInfo *pEvaluateInfo)
 Function is call when a non-global candidate is set on an animation node. More...
 
virtual bool AnimationNodeDestroy (FBAnimationNode *pAnimationNode)
 Destroy an animation node. More...
 
virtual bool AnimationNodeIsUserData (FBAnimationNode *pAnimationNode)
 Is the animation node user data? More...
 
virtual void AnimationNodesOutDisableIfNotWritten (FBEvaluateInfo *pEvaluateInfo)
 This call will disable all out animation nodes from being pull by system (animation thread) for given pEvaluateInfo. More...
 
virtual FBAnimationNodeAnimationNodeInGet ()
 Get the (IN/OUT) animation node for this box. More...
 
virtual FBAnimationNodeAnimationNodeOutGet ()
 
virtual const char * FbxGetObjectType ()
 Returns the class type inherited by the class of an object, for example: 'Box', 'Constraint', 'TimelineXTrack'. More...
 
virtual const char * FbxGetObjectSubType ()
 Returns the class sub type inherited by the class of an object, for example: 'Relations', 'Parent-Child', 'Number to Vector', 'Shot'. More...
 
 IObject_Declare (override)
 
virtual int GetOutConnectorCount () const
 Get the number of animation node outputs for this box. More...
 
virtual int GetInConnectorCount () const
 Get the number of animation node inputs for this box. More...
 
virtual FBAnimationNodeGetOutConnector (int pIndex) const
 Get the animation node output associated with the given index. More...
 
virtual FBAnimationNodeGetInConnector (int pIndex) const
 Get the animation node input associated with the given index. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual void FBDelete () override
 Open Reality deletion function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Public Attributes

int mEvaluationId
 Last Evaluation Id. More...
 
FBPropertyCharacter TargetCharacter
 Read Write Property: The character being constrained. More...
 
FBPropertyComponent Source
 Read Write Property: Source character when doing a character retarget. More...
 
- Public Attributes inherited from FBConstraint
FBPropertyBool Deformer
 Read Write Property: Is a deformer constraint? More...
 
FBPropertyBool HasLayout
 Read Write Property: Does the constraint have a layout? More...
 
FBPropertyString Description
 Read Write Property: Long description of constraint. More...
 
FBPropertyBool Active
 Read Write Property: Active state. More...
 
FBPropertyBool Lock
 Read Write Property: Lock state. More...
 
FBPropertyAction Snap
 Function Property: Snap constraint. More...
 
FBPropertyAnimatableDouble Weight
 Read Write Property: Weight of constraint. More...
 
- Public Attributes inherited from FBBox
const char * UniqueName
 internal Unique name. More...
 
FBPropertyBool Animatable
 Read Write Property: Is the box animatable. More...
 
FBPropertyBool Live
 Read Write Property: Is live? More...
 
FBPropertyBool RecordMode
 Read Write Property: Is recording? More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Additional Inherited Members

- Public Types inherited from FBBox
enum  ECandidateAction {
  eCandidateAccept ,
  eCandidateIntercept ,
  eCandidateInterceptAfterEvaluation
}
 Resolving action for candidates. More...
 
- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

Constraint class.

Definition at line 118 of file fbcharactersolver.h.

Constructor & Destructor Documentation

◆ FBCharacterSolver()

FBCharacterSolver ( const char *  pName,
HIObject  pObject = NULL 
)

Constructor.

Parameters
pNameName of constraint.
pObjectFor internal use only (default is NULL).

Member Function Documentation

◆ BackgroundEvaluateInfoBegin()

FBEvaluateInfo* BackgroundEvaluateInfoBegin ( FBEvaluateInfo pSourceEvaluateInfo,
bool  pEvaluateCandidates = false 
)

Start background evaluation.

Needs to be released as soon as possible.

Parameters
pSourceEvaluateInfoSource evaluation. Needs to be valid one.
pEvaluateCandidatesNotify that we want to be able to resolve candidates - this can be called only from main thread (on other threads won't work)
Returns
Background evaluation info that will work with new ID and in secured buffers.
Note
Example of usage can be found in /OpenRealitySDK/Samples/constraints/CharacterSolver/HIK2014Solver

◆ BackgroundEvaluateInfoEnd()

void BackgroundEvaluateInfoEnd ( FBEvaluateInfo pBackgroundEvaluateInfo)

Release background evaluation info - very important.

◆ BackgroundEvaluateInfoNotify()

bool BackgroundEvaluateInfoNotify ( FBEvaluateInfo pBackgroundEvaluateInfo,
kBackgroundEvaluationCallback  pFunction,
void *  pCustomData = NULL 
)

Enable evaluation notification.

Parameters
pBackgroundEvaluateInfoBackground evaluation that was started for this object and for which we want to change enable/disable notification callback
pFunctionCallback function, will be called when FBAnimationNode of this constraint is being evaluated. Passing NULL disable notification.
pCustomDataCustomer can pass custom data to callback.
Returns
Confirms that change was made to pBackgroundEvaluateInfo
Note
Example of usage can be found in /OpenRealitySDK/Samples/constraints/CharacterSolver/IK2014Solver

◆ BackgroundEvaluateInfoRecursiveBegin()

FBEvaluateInfo* BackgroundEvaluateInfoRecursiveBegin ( FBEvaluateInfo pSourceEvaluateInfo,
bool  pForceUpdateLocals = false 
)

Start recursive background evaluation.

Needs to be released as soon as possible.

Parameters
pSourceEvaluateInfoSource evaluation. Needs to be valid one.
pForceUpdateLocalsEvaluate local transformation, even if only global was requested
Returns
Background evaluation info that will work with new ID and in secured buffers.
Note
Example of usage can be found in /OpenRealitySDK/Samples/constraints/CharacterSolver/HIK2014Solver

◆ CharacterPasteState()

virtual void CharacterPasteState ( FBCharacter pFromCharacter,
FBCharacterPose pPose,
FBCharacterPoseOptions pCharacterPoseOptions 
)
inlinevirtual

Paste the state of a character on another one.

Parameters
pFromCharacterCharacter with the state that we want to paste.
pPosePose object containing the pose.
pCharacterPoseOptionsPose options to use with this paste.

Definition at line 263 of file fbcharactersolver.h.

◆ ExtractOffsets()

void ExtractOffsets ( )

Extract Transforms Of Extra Bones for character stance pose information.

◆ GetBlendAuxiliaryWithEffector()

bool GetBlendAuxiliaryWithEffector ( )

Returns true means consider blending auxiliary with effector when evaluate control rig.

◆ GetCharacterSolverVersion()

virtual double GetCharacterSolverVersion ( )
inlinevirtual

Version of the solver. Needs to be overloaded in derived class.

Definition at line 169 of file fbcharactersolver.h.

◆ GetDoubleSolve()

bool GetDoubleSolve ( )

Returns true when control rig has Double Solve property on.

◆ GetExtraBoneBodyPartAt()

virtual FBBodyPartId GetExtraBoneBodyPartAt ( int  pIndex)
inlinevirtual

Return The specified extra Bone BodyPart (ex.

Left Arm )

Parameters
pIndexIndex of extra Bone to get.
Returns
BodyPart associated with this model.

Definition at line 198 of file fbcharactersolver.h.

References kFBCtrlSetPartNone.

◆ GetExtraBoneCount()

virtual int GetExtraBoneCount ( )
inlinevirtual

Return number of extra Bone model (ex.

extra shoulder)

Returns
number of extra Bone.

Definition at line 188 of file fbcharactersolver.h.

◆ GetExtraBoneModelAt()

FBModel* GetExtraBoneModelAt ( int  pIndex)

Return The specified extra Bone model (ex.

extra shoulder)

Parameters
pIndexIndex of extra Bone to get.
Returns
FBModel corresponding to Bone index.

◆ GetExtraBoneNameAt()

virtual const char* GetExtraBoneNameAt ( int  pIndex)
inlinevirtual

Return The specified extra Bone name (ex.

extra shoulder)

Parameters
pIndexIndex of extra Bone to get.
Returns
Name corresponding to Bone index.

Definition at line 193 of file fbcharactersolver.h.

◆ GetExtraFKBodyPartAt()

virtual FBBodyPartId GetExtraFKBodyPartAt ( int  pIndex)
inlinevirtual

Return The specified extra FK BodyPart (ex.

Left Arm )

Parameters
pIndexIndex of extra Bone to get.
Returns
BodyPart associated with this model.

Definition at line 184 of file fbcharactersolver.h.

References kFBCtrlSetPartNone.

◆ GetExtraFKCount()

virtual int GetExtraFKCount ( )
inlinevirtual

Return number of extra FK model (ex.

extra shoulder)

Returns
number of extra FK.

Definition at line 174 of file fbcharactersolver.h.

◆ GetExtraFKModelAt()

FBModelMarker* GetExtraFKModelAt ( int  pIndex)

Return the specified extra FK model (ex.

extra shoulder)

Parameters
pIndexIndex of extra FK to get.
Returns
FBModel corresponding to FK index.

◆ GetExtraFKNameAt()

virtual const char* GetExtraFKNameAt ( int  pIndex)
inlinevirtual

Return the specified extra FK Name (ex.

extra shoulder)

Parameters
pIndexIndex of extra FK to get.
Returns
Name corresponding to FK index.

Definition at line 179 of file fbcharactersolver.h.

◆ GetParentRotationOffset()

void GetParentRotationOffset ( FBRVector pR,
int  pIndex 
)

Get the Parent Rotation Offset of the Given Extra Bone Index.

The rotation Offset if extracted at Characterisation (in Stance Pose). You don't need this value if the parent of the bone is characterized too.

Parameters
pROffset Rotation between the Bone and is parent at Stance Pose.
pIndexIndex of extra Bone to get.

◆ GetRigAlign()

bool GetRigAlign ( )

Returns true when control rig has Rig Align property on.

◆ GetTransformOffset()

void GetTransformOffset ( FBVector3d pT,
FBRVector pR,
FBSVector pS,
int  pIndex 
)

Get the transform of the Given Extra Bone Index.

The transorm is the Global Transform extracted at Characterisation (in Stance Pose)

Parameters
pTreturn Global Translation in Stance Pose.
pRreturn Global Rotation in Stance Pose.
pSreturn Global Scaling in Stance Pose.
pIndexIndex of extra Bone to get.

◆ ResetExtraProperties()

virtual void ResetExtraProperties ( )
inlinevirtual

Support for resetting properties that are defined and specific to custom solver Override this function in derived class so that these 'extra' properties can be reset (e.g., to default values) when "Reset All Properties" button in "Character Settings" tab in Navigator is clicked, or when FBCharacter::ResetProperties() is called.

Definition at line 269 of file fbcharactersolver.h.

◆ SetBlendAuxiliaryWithEffector()

void SetBlendAuxiliaryWithEffector ( bool  pBlendAux)

Set true means consider blending auxiliary with effector when evaluate an control rig.

◆ SetExtraBoneModelAt()

void SetExtraBoneModelAt ( FBModel pModel,
int  pIndex 
)

Set the specified extra Bone model for a specified Extra Bone Index.

(ex. extra shoulder)

Parameters
pModelExtra Bone Model used for characterization.
pIndexIndex of extra Bone to set.

◆ SetExtraFKModelAt()

void SetExtraFKModelAt ( FBModelMarker pModel,
int  pIndex 
)

Set the specified extra FK model for a specified Extra FK Index (ex.

extra shoulder)

Parameters
pModelExtra FK Model used for character Rig
pIndexIndex of extra FK to set.

◆ SetParentRotationOffset()

void SetParentRotationOffset ( FBRVector pR,
int  pIndex 
)

Set the Parent Rotation Offset of the Given Extra Bone Index.

The rotation Offset if extracted at Characterisation (in Stance Pose). You don't need this value if the parent of the bone is characterized too.

Parameters
pROffset Rotation between the Bone and is parent at Stance Pose.
pIndexIndex of extra Bone to get.

◆ SetTransformOffset()

void SetTransformOffset ( FBVector3d pT,
FBRVector pR,
FBSVector pS,
int  pIndex 
)

Set the transform of the Given Extra Bone Index.

The transorm is the Global Transform extracted at Characterisation (in Stance Pose)

Parameters
pTGlobal Translation to set for the Stance Pose.
pRGlobal Rotation to set for the Stance Pose.
pSGlobal Scaling to set for the Stance Pose.
pIndexIndex of extra Bone to set.

Member Data Documentation

◆ mEvaluationId

int mEvaluationId

Last Evaluation Id.

Definition at line 132 of file fbcharactersolver.h.

◆ Source

Read Write Property: Source character when doing a character retarget.

Definition at line 134 of file fbcharactersolver.h.

◆ TargetCharacter

FBPropertyCharacter TargetCharacter

Read Write Property: The character being constrained.

Definition at line 133 of file fbcharactersolver.h.


The documentation for this class was generated from the following file: