Open Reality Reference Guide
FBComponent Class Reference

MotionBuilder SDK base class. More...

#include <fbcomponent.h>

Inherits FBPlug.

Inherited by FBActionManager, FBActorFace, FBAMMenu, FBAnimationLayer, FBAnimationNode, FBAnimationStack, FBApplication, FBApplyManagerRule, FBAssetItem, FBAssetMng, FBAudioClip, FBAudioIn, FBAudioOut, FBBox, FBCameraSwitcherAudioManager, FBCharacterManipulator, FBCharacterMarkerSet, FBCluster, FBCommand, FBCommPort, FBConsole, FBConsoleChannel, FBConstraintManager, FBConstructionHistory, FBControlSet, FBCustomManager, FBCycleCreator, FBDeck, FBDeformer, FBDeviceInstrument, FBDeviceOpticalMarker, FBDeviceSyncPacket, FBEvaluateManager, FBFbxObject, FBFbxOptions, FBFCurve, FBFCurveCustomTangent, FBFCurveCustomTangentManager, FBFCurveEditorUtility, FBFCurveEventManager, FBFileMonitoringManager, FBFilter, FBFolder, FBGenericMenu, FBGenericMenuItem, FBGeometry, FBHUDManager, FBImage, FBJLCooper, FBKeyControl, FBKeyingGroup, FBManipulator, FBMarkerSet, FBMenuManager, FBModelOpticalAdvanced, FBModelTemplate, FBModelVertexData, FBMotionClip, FBMotionFileOptions, FBNamespace, FBOpticalGap, FBOpticalSegment, FBPlayerControl, FBPointCacheFile, FBPointCacheManager, FBPose, FBProfiler, FBPropertyViewManager, FBReferenceTime, FBRenderer, FBRendererCallback, FBRigidBody, FBScene, FBSpreadPart, FBStory, FBStoryClip, FBStoryFolder, FBStoryGroupClip, FBSyncReference, FBSystem, FBTake, FBTCPIP, FBTimeWarpManager, FBToolLayoutManager, FBTransportAudioManager, FBTreeNode, FBTrigger, FBTriggerBranch, FBTriggerGroup, FBTriggerManager, FBUndoManager, FBVideoGrabber, and FBVisualComponent.

Public Member Functions

 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 *)
 

Static Public Member Functions

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)
 

Public Attributes

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...
 

Static Public Attributes

static int TypeInfo
 Contains the Type information of the object. More...
 

Additional Inherited Members

- 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

MotionBuilder SDK base class.

FBComponent defines common object characteristics, including creation and destruction methods. It is used to encapsulate internal application objects so they can be exposed to the SDK. It is also used as the base class to encapsulate objects with FBProperty data members and provides a scheme for property management. You cannot instantiate FBProperty objects. To reference a property, use an instance of an FBComponent object. The methods FBComponent::PropertyCreate and FBComponent::PropertyRemove can be used to modify an object's properties. Basic operators are overloaded in FBComponent. The constructor and destructor are created and defined with macros in the header files. Objects inheriting from FBComponent must define FBComponent::FBCreate(), and FBComponent::FBDestroy(). All memory management issues for the component should also be addressed here. Destroy an object with FBDelete(). The code sample FBComponent.py shows how to get a handle on a scene object via its name.

Definition at line 650 of file fbcomponent.h.

Constructor & Destructor Documentation

◆ FBComponent()

FBComponent ( HIObject  pObject)

Constructor.

Parameters
pObjectObject to copy component from (default is NULL).

◆ ~FBComponent()

virtual ~FBComponent ( )
virtual

Destructor.

Member Function Documentation

◆ ClassName()

virtual const char* ClassName ( )
overridevirtual

Get the class name.

Returns
The class name (i.e. "FBComponent").

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

◆ DisableObjectFlags()

void DisableObjectFlags ( FBObjectFlag  pFlags)

Disable a specific Object Flags.

Parameters
pFlagsFlags to disable.

◆ EnableObjectFlags()

void EnableObjectFlags ( FBObjectFlag  pFlags)

Enable a specific Object Flags.

Parameters
pFlagsFlags to enable.

◆ FBCreate()

virtual bool FBCreate ( )
virtual

Open Reality Creation function.

Returns
Outcome of creation (true/false).

Reimplemented in FBDeviceCamera, FBDeviceSync, FBDeviceOptical, FBManipulator, FBDevice, FBConsole, FBCustomManager, FBAssetFolder, FBAssetFile, FBDeviceCameraLayout, and FBDeviceOpticalLayout.

◆ FBDelete()

◆ FBDestroy()

virtual void FBDestroy ( )
virtual

Open Reality destruction function.

Reimplemented in FBDeviceCamera, FBDeviceSync, FBDeviceOptical, FBDevice, FBConsole, and FBDeviceCameraLayout.

◆ GetFullName()

const char* GetFullName ( void  )

Get the full name.

Returns
the full name of the component.

◆ GetInternalClassId()

GetInternalClassId ( )
static
Returns
Internal class Id

◆ GetObjectFlags()

FBObjectFlag GetObjectFlags ( )

Get all Object Flags (concatenated).

Returns
Get all object flags in one call. Flags can be concatenated.

◆ GetObjectStatus()

bool GetObjectStatus ( FBObjectStatus  pStatus)

Check to see if an object status is enabled.

Parameters
pStatusStatus to query.

◆ GetOwnerFileReference()

FBFileReference* GetOwnerFileReference ( void  )

Get the owner FileReference object.

Returns
the owner FileReference object

◆ GetOwnerNamespace()

FBNamespace* GetOwnerNamespace ( void  )

Get the owner Namespace object.

Returns
the owner Namespace object

◆ GetTypeId()

virtual int GetTypeId ( )
overridevirtual

GetTypeId( int pTypeId )

Returns
The TypeInfo of the object

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

◆ HardSelect()

void HardSelect ( )

HardSelect.

Selects the object, and emits a hard select event for UI update notification.

◆ HasObjectFlags()

bool HasObjectFlags ( FBObjectFlag  pFlags)

Check whether a specific object flag is enabled.

Parameters
pFlagsFlags to check if they are present.
Returns
True if all flags in pFlags are enabled.

◆ Is()

virtual bool Is ( int  pTypeId)
overridevirtual

Returns true if object is of type TypeId.

Parameters
pTypeIdTypeId to compare object to.
Returns
Result of the comparison.

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

◆ ProcessNamespaceHierarchy()

bool ProcessNamespaceHierarchy ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
)

ProcessNamespaceHierarchy.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. This recursive function goes through the whole hierarchy (children) to add/replace the prefix. If you need to work on a single object, use the ProcessObjectPrefix function.

Parameters
pNamespaceActionWhich operation to do on the hierarchy (children).
pNamespaceNameThe Namespace name on Add/Delete or the prefix to replace in case of replace.
pReplaceToThe new Namespace Name or NULL in case of add or delete.
pAddRightWhether to add the namespace on right-most or left-most side or other namespace.
Returns
return true if process successful.

◆ ProcessObjectNamespace()

bool ProcessObjectNamespace ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
)

ProcessObjectNamespace.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. This function is the same as ProcessNamespaceHierarchy except that it applies only on the current object and not to the object's children.

Parameters
pNamespaceActionWhich operation to do on the hierarchy (children).
pNamespaceNameThe Namespace name on Add/Delete or the prefix to replace in case of replace.
pReplaceToThe new Namespace Name or NULL in case of add or delete.
pAddRightWhether to add the namespace on right-most or left-most side or other namespace.
Returns
return true if process successful.

◆ PropertyAdd()

virtual int PropertyAdd ( FBProperty pProperty)
virtual

Add a property to the component's property manager.

Parameters
pPropertyThe property to add to the property manager.
Returns
Index in the property array where property was inserted.

◆ PropertyAddReferenceProperty()

bool PropertyAddReferenceProperty ( FBProperty pReferenceProperty)

Add a reference property to the component's property manager.

Parameters
pReferencePropertyThe property to from an other object to add a reference to (property cannot be a custom ORSDK property).
Returns
True if the reference property could be added.

◆ PropertyCreate()

FBProperty* PropertyCreate ( const char *  pName,
FBPropertyType  pType,
const char *  pDataType,
bool  pAnimatable,
bool  pIsUser = false,
FBProperty pReferenceSource = NULL 
)

Create user or dynamic property.

Parameters
pNameThe name of the property.
pTypeType of the property. See enum FBPropertyType.
pDataTypeDataType of the property.
pAnimatableTo specify if the property can be animated.
pIsUserTo specify if the property is available as a custom property or dynamic and attached to the object.
pReferenceSourceSpecifies the property that a reference refers to.

◆ PropertyGetModifiedList()

void PropertyGetModifiedList ( FBArrayTemplate< FBProperty * > &  pPropList,
FBPlugModificationFlag  pModificationFlags 
)

Get list of properties which have been modified since last loading.

Parameters
pPropListproperty list to hold the modified properties.
pModificationFlagstype of modification to query.

◆ PropertyRemove()

void PropertyRemove ( FBProperty pProperty)

Remove a Property from the component's Property manager.

If the property was dynamically allocated, it is deleted.

Parameters
pPropertyThe property to remove from the property manager.

◆ SetHIObject()

virtual bool SetHIObject ( HIObject  pObject,
bool  pSDKComponent 
)
overridevirtual

Assign component to an internal pointer.

◆ SetObjectFlags()

void SetObjectFlags ( FBObjectFlag  pFlags)

SetObjectFlags.

Parameters
pFlagsSet flag values. Note: this function overwrites all flags with those passed in parameter.

◆ SetObjectStatus()

void SetObjectStatus ( FBObjectStatus  pStatus,
bool  pValue 
)

Enable/Disable a specific Object Status.

Parameters
pStatusStatus to change.
pValueValue to change the status to.

◆ SetOwnerNamespace()

void SetOwnerNamespace ( FBNamespace pOwnerNSObj)

Set the owner Namespace object.

◆ UseCustomPropertyViewSet()

virtual bool UseCustomPropertyViewSet ( ) const
inlinevirtual

Use the custom property viewSet or not.

To have custom property view for custom subclass, modification bin/config/propertyview.fbx is required.

Returns
False if to use internal corresponding object's viewSet of the parent class.

Definition at line 796 of file fbcomponent.h.

Member Data Documentation

◆ Components

List: List of components.

Definition at line 842 of file fbcomponent.h.

◆ Folder

FBPropertyFolder Folder

Read Write Property: The folder that contain this component.

Definition at line 849 of file fbcomponent.h.

◆ LongName

FBPropertyString LongName

Read Write Property: Name and namespace for object.

Definition at line 846 of file fbcomponent.h.

◆ Name

Read Write Property: Unique name of object.

Definition at line 845 of file fbcomponent.h.

◆ Parents

List: Parents.

Definition at line 843 of file fbcomponent.h.

◆ PropertyList

FBPropertyManager PropertyList

Read Only Property: Manages all of the properties for the component.

Definition at line 841 of file fbcomponent.h.

◆ Selected

FBPropertyBool Selected

Read Write Property: Selected property.

Definition at line 844 of file fbcomponent.h.

◆ TypeInfo

int TypeInfo
static

Contains the Type information of the object.

Definition at line 663 of file fbcomponent.h.


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