Open Reality Reference Guide
FBConstraintRelation Class Reference

ConstraintRelation class. More...

#include <fbconstraint.h>

Inheritance diagram for FBConstraintRelation:

Public Member Functions

 FBConstraintRelation (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
 IObject_Declare (override)
 
FBBoxSetAsSource (FBBox *pSource)
 Create a sender box. More...
 
FBBoxConstrainObject (FBBox *pConstrainedObject)
 Create a receiver box. More...
 
FBBoxCreateFunctionBox (const char *pGroup, const char *pName)
 Create a function box. More...
 
bool GetBoxPosition (FBBox *pBox, int &pX, int &pY)
 Get a box position in the GUI. More...
 
bool SetBoxPosition (FBBox *pBox, int pX, int pY)
 Set a box position in the GUI. 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

FBPropertyListBox Boxes
 List: Boxes used in this constraint. 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

ConstraintRelation class.

This class exposes the relation constraint and allows addition of new boxes and removal of existing ones.

Definition at line 453 of file fbconstraint.h.

Constructor & Destructor Documentation

◆ FBConstraintRelation()

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

Constructor.

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

Member Function Documentation

◆ ConstrainObject()

FBBox* ConstrainObject ( FBBox pConstrainedObject)

Create a receiver box.

Use an existing FBBox object to create a receiver in the relation.

Parameters
pConstrainedObjectDestination box to insert in the constraint.
Returns
A place holder box for the object.

◆ CreateFunctionBox()

FBBox* CreateFunctionBox ( const char *  pGroup,
const char *  pName 
)

Create a function box.

Ask the constraint to create new function box.

Parameters
pGroupName of the group under which the function is located in the Constraint Relation GUI (case-sensitive!).
pNameName of the function, as seen in the GUI (case-sensitive!).
Returns
The newly created function box, or NULL if the name/group combination was invalid.

◆ GetBoxPosition()

bool GetBoxPosition ( FBBox pBox,
int &  pX,
int &  pY 
)

Get a box position in the GUI.

Get the position of a box within the constraint layout view.

Parameters
pBoxBox from which the information will be queried.
pXX position.
pYY position.
Returns
A boolean value indicating success (True) or failure (False).
Warning
Should the function return False, the X and Y values will not be set.

◆ SetAsSource()

FBBox* SetAsSource ( FBBox pSource)

Create a sender box.

Use an existing FBBox object to create a sender in the relation.

Parameters
pSourceSource box to insert in the constraint.
Returns
A place holder box for the object.

◆ SetBoxPosition()

bool SetBoxPosition ( FBBox pBox,
int  pX,
int  pY 
)

Set a box position in the GUI.

Set the position of a box within the constraint layout view.

Parameters
pBoxBox which needs to be moved.
pXNew X position.
pYNew Y position.
Returns
A boolean value indicating success (True) or failure (False).

Member Data Documentation

◆ Boxes

List: Boxes used in this constraint.

Definition at line 505 of file fbconstraint.h.


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