Open Reality Reference Guide
FBBox Class Reference

A box is a fundamental building block in the application architecture. More...

#include <fbcore.h>

Inheritance diagram for FBBox:

Public Types

enum  ECandidateAction {
  eCandidateAccept ,
  eCandidateIntercept ,
  eCandidateInterceptAfterEvaluation
}
 Resolving action for candidates. More...
 

Public Member Functions

 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 FbxStore (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat)
 Storage/Retrieval of information into the FBX file format. More...
 
virtual bool FbxRetrieve (FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat)
 
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

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

- 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

A box is a fundamental building block in the application architecture.

All animatable elements are derived in some way from the main box class, either by deriving directly or owning a box.

Definition at line 218 of file fbcore.h.

Member Enumeration Documentation

◆ ECandidateAction

Resolving action for candidates.

Enumerator
eCandidateAccept 

Let the standard system take care of the candidate.

eCandidateIntercept 

Intercept the candidate.

eCandidateInterceptAfterEvaluation 

Ask for an evaluation before using the candidate.

Definition at line 228 of file fbcore.h.

Constructor & Destructor Documentation

◆ FBBox()

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

Constructor.

Parameters
pNameBox name.
pObjectFor internal use only (default is NULL).

Member Function Documentation

◆ AnimationNodeDestroy()

virtual bool AnimationNodeDestroy ( FBAnimationNode pAnimationNode)
virtual

Destroy an animation node.

Parameters
pAnimationNodeHandle to the animation node to be destroyed.
Returns
true if destruction was successful.

◆ AnimationNodeInCreate()

virtual FBAnimationNode* AnimationNodeInCreate ( kReference  pUserId,
const char *  pName,
const char *  pDataType,
bool  pIsPublic = false,
double *  pMin = NULL,
double *  pMax = NULL,
bool  pUserData = false 
)
virtual

Creation of IN/OUT Animation Nodes.

Parameters
pUserIdUser-defined reference number.
pNameName of animation node.
pDataTypeType of data being animated.
pIsPublicDetermine if the animation node is published, that means whether to show it in property editor and have input / output in relation constraints editor (default is false).
pMinMinimum values for data (default is NULL).
pMaxMaximum values for data (default is NULL).
pUserDataIs this user data? False means the property is NOT animated, user cannot change the data. Especially for device, it doesn't make sense to make it animated, unless you want to record the device data. (default is false).
Returns
A handle to the newly created animation node.

Reimplemented in FBDevice.

◆ AnimationNodeInGet()

virtual FBAnimationNode* AnimationNodeInGet ( )
virtual

Get the (IN/OUT) animation node for this box.

Returns
A handle to the animation node for this box.

◆ AnimationNodeIsUserData()

virtual bool AnimationNodeIsUserData ( FBAnimationNode pAnimationNode)
virtual

Is the animation node user data?

Parameters
pAnimationNodeHandle to the animation to be queried.
Returns
true if node is user data.

◆ AnimationNodeNotify()

virtual bool AnimationNodeNotify ( FBAnimationNode pAnimationNode,
FBEvaluateInfo pEvaluateInfo 
)
virtual

Notification function for animation thread.

This function is called by the real-time engine in order to process animation information.

Parameters
pAnimationNodeNode containing the modified information.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns
true if animation node notification is successful.

Reimplemented in FBDeviceSync, FBDeviceOptical, and FBDevice.

◆ AnimationNodesOutDisableIfNotWritten()

virtual void AnimationNodesOutDisableIfNotWritten ( FBEvaluateInfo pEvaluateInfo)
virtual

This call will disable all out animation nodes from being pull by system (animation thread) for given pEvaluateInfo.

Parameters
pEvaluateInfoEvaluation synchronization object (contains evaluation id).
Note
This can be also done per individual AnimationNode -> FBAnimationNode::DisableIfNotWritten

◆ EvaluateAnimationNodes()

virtual bool EvaluateAnimationNodes ( FBEvaluateInfo pEvaluateInfo)
virtual

Evaluation of non TRS nodes that needs to be evaluated.

This function is called by the real-time engine in order to process animation information.

Parameters
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns
true if animation node notification is successful.

◆ FbxGetObjectSubType()

virtual const char* FbxGetObjectSubType ( )
virtual

Returns the class sub type inherited by the class of an object, for example: 'Relations', 'Parent-Child', 'Number to Vector', 'Shot'.

Returns
The class sub type inherited by the class of an object.

Reimplemented in FBModelMarker, FBModelNull, FBModel, and FBMaterial.

◆ FbxGetObjectType()

virtual const char* FbxGetObjectType ( )
virtual

Returns the class type inherited by the class of an object, for example: 'Box', 'Constraint', 'TimelineXTrack'.

Returns
The class type inherited by the class of an object.

Reimplemented in FBModelMarker, FBModelNull, FBModel, FBMaterial, and FBDevice.

◆ FbxStore()

virtual bool FbxStore ( FBFbxObject pFbxObject,
kFbxObjectStore  pStoreWhat 
)
virtual

Storage/Retrieval of information into the FBX file format.

Parameters
pFbxObjectObject to interface with FBX file format.
pStoreWhatAttributes to store in FBX file.
Returns
true if successful.

Reimplemented in FBUserObject, FBDeviceCamera, FBDeviceSync, FBDeviceOptical, FBModelMarker, FBModelNull, FBModel, FBMaterial, FBHUDElement, FBDevice, and FBConstraint.

◆ GetInConnector()

virtual FBAnimationNode* GetInConnector ( int  pIndex) const
virtual

Get the animation node input associated with the given index.

Parameters
pIndexThe animation node input associated with the given index.
Returns
The animation node input, or NULL if the pIndex value is invalid.

◆ GetInConnectorCount()

virtual int GetInConnectorCount ( ) const
virtual

Get the number of animation node inputs for this box.

Returns
The number of animation node inputs for this box.

◆ GetOutConnector()

virtual FBAnimationNode* GetOutConnector ( int  pIndex) const
virtual

Get the animation node output associated with the given index.

Parameters
pIndexThe animation node output associated with the given index.
Returns
The animation node output, or NULL if the pIndex value is invalid.

◆ GetOutConnectorCount()

virtual int GetOutConnectorCount ( ) const
virtual

Get the number of animation node outputs for this box.

Returns
The number of animation node outputs for this box.

◆ ResolveCandidate()

virtual bool ResolveCandidate ( FBAnimationNode pAnimationNode,
FBEvaluateInfo pEvaluateInfo 
)
virtual

Function is call when candidate needs to be resolved (like global to local).

Parameters
pAnimationNodeNode containing the information to resolve.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns
function should return true (not used for now).

◆ SetGlobalCandidate()

virtual ECandidateAction SetGlobalCandidate ( FBAnimationNode pAnimationNode,
double *  pData,
FBEvaluateInfo pEvaluateInfo 
)
virtual

Function is call when a global candidate is set on an animation node.

Parameters
pAnimationNodeNode containing the information to resolve.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns
Action to take with the candidate.

◆ SetStdCandidate()

virtual ECandidateAction SetStdCandidate ( FBAnimationNode pAnimationNode,
double *  pData,
FBEvaluateInfo pEvaluateInfo 
)
virtual

Function is call when a non-global candidate is set on an animation node.

Parameters
pAnimationNodeNode containing the information to resolve.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)
Returns
Action to take with the candidate.

Member Data Documentation

◆ Animatable

FBPropertyBool Animatable

Read Write Property: Is the box animatable.

Definition at line 358 of file fbcore.h.

◆ Live

Read Write Property: Is live?

Definition at line 359 of file fbcore.h.

◆ RecordMode

FBPropertyBool RecordMode

Read Write Property: Is recording?

Definition at line 360 of file fbcore.h.

◆ UniqueName

const char* UniqueName

internal Unique name.

Definition at line 322 of file fbcore.h.


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