MotionBuilder SDK base class.
More...
#include <fbcomponent.h>
Inherits FBPlug.
Inherited by FBAMMenu, FBActionManager, FBActorFace, FBAnimationLayer, FBAnimationNode, FBAnimationStack, FBApplication, FBApplyManagerRule, FBAssetItem, FBAssetMng, FBAudioClip, FBAudioIn, FBAudioOut, FBBox, FBCameraSwitcherAudioManager, FBCharacterManipulator, FBCharacterMarkerSet, FBCluster, FBCommPort, FBCommand, FBConsole, FBConsoleChannel, FBConstraintManager, FBConstructionHistory, FBControlSet, FBCustomManager, FBCycleCreator, FBDeck, FBDeformer, FBDeviceInstrument, FBDeviceOpticalMarker, FBDeviceSyncPacket, FBEvaluateManager, FBFCurve, FBFCurveCustomTangent, FBFCurveCustomTangentManager, FBFCurveEditorUtility, FBFCurveEventManager, FBFbxObject, FBFbxOptions, FBFileMonitoringManager, FBFilter, FBFolder, FBGenericMenu, FBGenericMenuItem, FBGeometry, FBHUDManager, FBImage, FBJLCooper, FBKeyControl, FBKeyingGroup, FBManipulator, FBMarkerSet, FBMenuManager, FBModelOpticalAdvanced, FBModelTemplate, FBModelVertexData, FBModuleManager, FBMotionBlend, FBMotionBlendEdit, FBMotionClip, FBMotionFileExportOptions, FBMotionFileImportOptions, FBNamespace, FBOpticalGap, FBOpticalSegment, FBPlayerControl, FBPointCacheFile, FBPointCacheManager, FBPose, FBProfiler, FBPropertyViewManager, FBReferenceTime, FBRenderer, FBRendererCallback, FBRigidBody, FBScene, FBSerialManager, FBSpreadPart, FBStory, FBStoryClip, FBStoryFolder, FBStoryGroupClip, FBSyncReference, FBSystem, FBTCPIP, FBTake, FBTimeWarpManager, FBToolLayoutManager, FBTransportAudioManager, FBTreeNode, FBTrigger, FBTriggerBranch, FBTriggerGroup, FBTriggerManager, FBUndoManager, FBVideoGrabber, and FBVisualComponent.
|
| FBComponent (HIObject pObject) |
| Constructor.
|
|
virtual | ~FBComponent () |
| Destructor.
|
|
virtual bool | FBCreate () |
| Open Reality Creation function.
|
|
virtual void | FBDestroy () |
| Open Reality destruction function.
|
|
virtual void | FBDelete () override |
| Open Reality deletion function.
|
|
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
| Assign component to an internal pointer.
|
|
virtual int | PropertyAdd (FBProperty *pProperty) |
| Add a property to the component's property manager.
|
|
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
| Add a reference property to the component's property manager.
|
|
void | PropertyRemove (FBProperty *pProperty) |
| Remove a Property from the component's Property manager.
|
|
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
| Get list of properties which have been modified since last loading.
|
|
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL) |
| Create user or dynamic property.
|
|
FBObjectFlag | GetObjectFlags () |
| Get all Object Flags (concatenated).
|
|
void | SetObjectFlags (FBObjectFlag pFlags) |
| SetObjectFlags.
|
|
bool | HasObjectFlags (FBObjectFlag pFlags) |
| Check whether a specific object flag is enabled.
|
|
void | EnableObjectFlags (FBObjectFlag pFlags) |
| Enable a specific Object Flags.
|
|
void | DisableObjectFlags (FBObjectFlag pFlags) |
| Disable a specific Object Flags.
|
|
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
| Enable/Disable a specific Object Status.
|
|
bool | GetObjectStatus (FBObjectStatus pStatus) |
| Check to see if an object status is enabled.
|
|
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
| ProcessNamespaceHierarchy.
|
|
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
| ProcessObjectNamespace.
|
|
virtual const char * | ClassName () override |
| Get the class name.
|
|
virtual bool | UseCustomPropertyViewSet () const |
| Use the custom property viewSet or not.
|
|
const char * | GetFullName (void) |
| Get the full name.
|
|
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
| Set the owner Namespace object.
|
|
FBNamespace * | GetOwnerNamespace (void) |
| Get the owner Namespace object.
|
|
FBFileReference * | GetOwnerFileReference (void) |
| Get the owner FileReference object.
|
|
void | HardSelect () |
| HardSelect.
|
|
virtual bool | Is (int pTypeId) override |
| Returns true if object is of type TypeId.
|
|
virtual int | GetTypeId () override |
| GetTypeId( int pTypeId )
|
|
FBScriptWrapper * | GetWrapper () |
| Return the wrapper interface of this FBObject.
|
|
void | AddWrapper (FBScriptWrapper *) |
|
void | RemoveWrapper (FBScriptWrapper *) |
|
|
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 int | TypeInfo |
| Contains the Type information of the object.
|
|
|
bool | IsSDKComponent () |
| Return whether or not item is an SDK component.
|
|
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
| Add a source connection.
|
|
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
| Add a destination connection.
|
|
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
| Add a source connection.
|
|
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
| Add a destination connection.
|
|
bool | DisconnectDst (FBPlug *pDst) |
| Remove a destination connection.
|
|
bool | DisconnectSrc (FBPlug *pSrc) |
| Remove a source connection.
|
|
void | DisconnectAllSrc () |
| Remove all source connections.
|
|
void | DisconnectAllDst () |
| Remove all destination connections.
|
|
bool | DisconnectDstAt (int pIndex) |
| Remove a destination connection at a specified index.
|
|
bool | DisconnectSrcAt (int pIndex) |
| Remove a source connection at a specified index.
|
|
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
| Replace a destination connection at a specified index.
|
|
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
| Replace a source connection at a specified index.
|
|
bool | SwapSrc (int pIndexA, int pIndexB) |
| Swap source connection at index A with source connection at index B.
|
|
bool | MoveSrcAt (int pIndex, int pAtIndex) |
| Move source connection at pIndex to pAtIndex.
|
|
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
| Move source connection pSrc to the position of pAtSrc.
|
|
int | GetSrcCount () |
| Get source connection count.
|
|
FBPlug * | GetSrc (int pIndex) |
| Get a source connection's plug at specified index.
|
|
FBConnectionType | GetSrcType (int pIndex) |
| Get a source connection's type at specified index.
|
|
int | GetDstCount () |
| Get destination connection count.
|
|
FBPlug * | GetDst (int pIndex) |
| Get a destination connection's plug at specified index.
|
|
FBConnectionType | GetDstType (int pIndex) |
| Get a destination connection's type at specified index.
|
|
bool | BeginChange () |
| Begins a change on multiple plugs.
|
|
void | EndChange () |
| Ends a change on multiple plugs.
|
|
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
| Set the plug's self modification flag.
|
|
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
| Tell if the plug's self has changed.
|
|
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
| Set the plug's owned property/object's modification flag.
|
|
bool | GetContentModified (FBPlugModificationFlag pFlag) |
| Tell if the plug's content has changed.
|
|
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
| Get plug's modified src/dst property/object connection added/removed List.
|
|
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
| Revert the plug's modification to original status.
|
|
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
| Set the plug's status flag.
|
|
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
| Tell if the plug's status has changed.
|
|
FBPlug * | GetOwner () |
| Get the owner of this plug.
|
|
FBPlug * | GetOwned (int pIndex) |
| Get the owned plug at specified index.
|
|
int | GetOwnedCount () |
| Get the owned plug count.
|
|
virtual const char * | ClassName () |
| internal System vars.
|
|
virtual bool | Is (int pTypeId) |
| Is( int pTypeId )
|
|
virtual int | GetTypeId () |
| GetTypeId( int pTypeId )
|
|
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.
|
|
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.
|
|
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.
|
|
virtual void | FBDelete () |
| Actual destructor for a FBPlug.
|
|
static int | GetInternalClassId () |
| Internal class Id.
|
|
bool | mAllocated |
| Contain the Allocation State of the Component.
|
|
HIObject | mObject |
| Handle on the Plug.
|
|
bool | mSDKComponent |
| bool Plug is an SDK component.
|
|
static const char * | ClassGroupName |
| ClassGroupName of the object.
|
|
static int | TypeInfo |
| TypeInfo.
|
|
static int | mGlobalTypeInfo |
| Represente the Type Index.
|
|
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 667 of file fbcomponent.h.
◆ FBComponent()
Constructor.
- Parameters
-
pObject | Object to copy component from (default is NULL). |
◆ ~FBComponent()
◆ ClassName()
virtual const char * ClassName |
( |
| ) |
|
|
overridevirtual |
Get the class name.
- Returns
- The class name (i.e. "FBComponent").
Reimplemented from FBPlug.
Reimplemented in FBCustomManager.
◆ DisableObjectFlags()
Disable a specific Object Flags.
- Parameters
-
◆ EnableObjectFlags()
Enable a specific Object Flags.
- Parameters
-
◆ FBCreate()
virtual bool FBCreate |
( |
| ) |
|
|
virtual |
Open Reality Creation function.
- Returns
- Outcome of creation (true/false).
Reimplemented in FBDeviceOpticalLayout, FBDeviceCameraLayout, FBAssetFile, FBAssetFolder, FBCustomManager, FBConsole, FBDevice, FBManipulator, FBDeviceOptical, FBDeviceSync, and FBDeviceCamera.
◆ FBDelete()
virtual void FBDelete |
( |
| ) |
|
|
overridevirtual |
Open Reality deletion function.
Reimplemented from FBPlug.
Reimplemented in FBGenericMenu, FBAudioClip, FBActor, FBCharacter, FBCharacterExtension, FBActorFace, FBCharacterFace, FBFCurve, FBFCurveCustomTangent, FBAnimationStack, FBAnimationLayer, FBTake, FBFolder, FBGroup, FBSet, FBImage, FBKeyingGroup, FBModel, FBMotionClip, FBMotionBlendEdit, FBScene, FBStoryFolder, FBStoryTrack, FBStoryClip, FBStoryGroupClip, FBTexture, FBLayeredTexture, and FBVideoClip.
◆ FBDestroy()
virtual void FBDestroy |
( |
| ) |
|
|
virtual |
◆ GetFullName()
const char * GetFullName |
( |
void |
| ) |
|
Get the full name.
- Returns
- the full name of the component.
◆ GetInternalClassId()
◆ GetObjectFlags()
Get all Object Flags (concatenated).
- Returns
- Get all object flags in one call. Flags can be concatenated.
◆ GetObjectStatus()
Check to see if an object status is enabled.
- Parameters
-
◆ GetOwnerFileReference()
Get the owner FileReference object.
- Returns
- the owner FileReference object
◆ GetOwnerNamespace()
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()
HardSelect.
Selects the object, and emits a hard select event for UI update notification.
◆ HasObjectFlags()
Check whether a specific object flag is enabled.
- Parameters
-
pFlags | Flags 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
-
pTypeId | TypeId 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
-
pNamespaceAction | Which operation to do on the hierarchy (children). |
pNamespaceName | The Namespace name on Add/Delete or the prefix to replace in case of replace. |
pReplaceTo | The new Namespace Name or NULL in case of add or delete. |
pAddRight | Whether 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
-
pNamespaceAction | Which operation to do on the hierarchy (children). |
pNamespaceName | The Namespace name on Add/Delete or the prefix to replace in case of replace. |
pReplaceTo | The new Namespace Name or NULL in case of add or delete. |
pAddRight | Whether to add the namespace on right-most or left-most side or other namespace. |
- Returns
- return true if process successful.
◆ PropertyAdd()
Add a property to the component's property manager.
- Parameters
-
pProperty | The 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
-
pReferenceProperty | The 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
-
pName | The name of the property. |
pType | Type of the property. See enum FBPropertyType. |
pDataType | DataType of the property. |
pAnimatable | To specify if the property can be animated. |
pIsUser | To specify if the property is available as a custom property or dynamic and attached to the object. |
pReferenceSource | Specifies the property that a reference refers to. |
◆ PropertyGetModifiedList()
Get list of properties which have been modified since last loading.
- Parameters
-
pPropList | property list to hold the modified properties. |
pModificationFlags | type of modification to query. |
◆ PropertyRemove()
Remove a Property from the component's Property manager.
If the property was dynamically allocated, it is deleted.
- Parameters
-
pProperty | The property to remove from the property manager. |
◆ SetHIObject()
virtual bool SetHIObject |
( |
HIObject |
pObject, |
|
|
bool |
pSDKComponent |
|
) |
| |
|
overridevirtual |
Assign component to an internal pointer.
◆ SetObjectFlags()
SetObjectFlags.
- Parameters
-
pFlags | Set flag values. Note: this function overwrites all flags with those passed in parameter. |
◆ SetObjectStatus()
Enable/Disable a specific Object Status.
- Parameters
-
pStatus | Status to change. |
pValue | Value to change the status to. |
◆ SetOwnerNamespace()
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 813 of file fbcomponent.h.
◆ Components
◆ Folder
Read Write Property: The folder that contain this component.
Definition at line 866 of file fbcomponent.h.
◆ LongName
Read Write Property: Name and namespace for object.
Definition at line 863 of file fbcomponent.h.
◆ Name
Read Write Property: Unique name of object.
Definition at line 862 of file fbcomponent.h.
◆ Parents
◆ PropertyList
Read Only Property: Manages all of the properties for the component.
Definition at line 858 of file fbcomponent.h.
◆ Selected
Read Write Property: Selected property.
Definition at line 861 of file fbcomponent.h.
◆ TypeInfo
Contains the Type information of the object.
Definition at line 680 of file fbcomponent.h.
The documentation for this class was generated from the following file: