FBComponent Class Reference

#include <mobu-python-api.h>

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

+ Inheritance diagram for FBComponent:

Public Member Functions

 __reduce__ ()
 
FBPropertyList PropertyGetModifiedList (FBComponent arg1, FBPlugModificationFlag arg2)
 Get list of properties which have been modified since last loading. More...
 
str ClassName (FBComponent arg1)
 Get the class name. More...
 
 DisableObjectFlags (FBComponent arg1, FBObjectFlag arg2)
 Disable a specific Object Flags. More...
 
 EnableObjectFlags (FBComponent arg1, FBObjectFlag arg2)
 Enable a specific Object Flags. More...
 
bool FBCreate (FBComponent arg1)
 Open Reality Creation function. More...
 
 FBDelete (FBComponent arg1)
 Open Reality deletion function. More...
 
 FBDestroy (FBComponent arg1)
 Open Reality destruction function. More...
 
FBObjectFlag GetObjectFlags (FBComponent arg1)
 Get all Object Flags (concatenated). More...
 
bool GetObjectStatus (FBComponent arg1, FBObjectStatus arg2)
 Check to see if an object status is enabled. More...
 
bool HasObjectFlags (FBComponent arg1, FBObjectFlag arg2)
 Check whether a specific object flag is enabled. More...
 
bool Is (FBComponent arg1, object arg2)
 Returns true if object is of type TypeId. More...
 
bool ProcessNamespaceHierarchy (FBComponent arg1, FBNamespaceAction arg2, str arg3, str arg4, object arg5)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBComponent arg1, FBNamespaceAction arg2, str arg3, str arg4, object arg5)
 ProcessObjectNamespace. More...
 
int PropertyAdd (FBComponent arg1, FBProperty arg2)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBComponent arg1, FBProperty arg2)
 Add a reference property to the component's property manager. More...
 
object PropertyCreate (FBComponent arg1, str arg2, FBPropertyType arg3, str arg4, object arg5, object arg6, FBProperty arg7)
 Create user or dynamic property. More...
 
 PropertyRemove (FBComponent arg1, FBProperty arg2)
 Remove a Property from the component's Property manager. More...
 
 SetObjectFlags (FBComponent arg1, FBObjectFlag arg2)
 SetObjectFlags. More...
 
 SetObjectStatus (FBComponent arg1, FBObjectStatus arg2, object arg3)
 Enable/Disable a specific Object Status. More...
 
 HardSelect (FBComponent arg1)
 HardSelect. More...
 
object GetOwnerFileReference (FBComponent arg1)
 Get the owner FileReference object. More...
 
 __init__ (...)
 Constructor. More...
 
- Public Member Functions inherited from FBPlug
 __reduce__ ()
 
bool BeginChange (FBPlug arg1)
 Begins a change on multiple plugs. More...
 
str ClassName (FBPlug arg1)
 internal System vars. More...
 
bool ConnectDst (FBPlug arg1, FBPlug arg2, FBConnectionType arg3)
 Add a destination connection. More...
 
bool ConnectDstAt (FBPlug arg1, object arg2, FBPlug arg3, FBConnectionType arg4)
 Add a destination connection. More...
 
bool ConnectSrc (FBPlug arg1, FBPlug arg2, FBConnectionType arg3)
 Add a source connection. More...
 
bool ConnectSrcAt (FBPlug arg1, object arg2, FBPlug arg3, FBConnectionType arg4)
 Add a source connection. More...
 
 DisconnectAllDst (FBPlug arg1)
 Remove all destination connections. More...
 
 DisconnectAllSrc (FBPlug arg1)
 Remove all source connections. More...
 
bool DisconnectDst (FBPlug arg1, FBPlug arg2)
 Remove a destination connection. More...
 
bool DisconnectDstAt (FBPlug arg1, object arg2)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrc (FBPlug arg1, FBPlug arg2)
 Remove a source connection. More...
 
bool DisconnectSrcAt (FBPlug arg1, object arg2)
 Remove a source connection at a specified index. More...
 
 EndChange (FBPlug arg1)
 Ends a change on multiple plugs. More...
 
object GetDst (FBPlug arg1, object arg2)
 Get a destination connection's plug at specified index. More...
 
int GetDstCount (FBPlug arg1)
 Get destination connection count. More...
 
FBConnectionType GetDstType (FBPlug arg1, object arg2)
 Get a destination connection's type at specified index. More...
 
object GetOwned (FBPlug arg1, object arg2)
 Get the owned plug at specified index. More...
 
int GetOwnedCount (FBPlug arg1)
 Get the owned plug count. More...
 
object GetOwner (FBPlug arg1)
 Get the owner of this plug. More...
 
object GetSrc (FBPlug arg1, object arg2)
 Get a source connection's plug at specified index. More...
 
int GetSrcCount (FBPlug arg1)
 Get source connection count. More...
 
FBConnectionType GetSrcType (FBPlug arg1, object arg2)
 Get a source connection's type at specified index. More...
 
bool Is (FBPlug arg1, object arg2)
 Is( int pTypeId ) More...
 
bool IsSDKComponent (FBPlug arg1)
 Return whether or not item is an SDK component. More...
 
 MoveSrcAt (...)
 
bool ReplaceDstAt (FBPlug arg1, object arg2, FBPlug arg3)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (FBPlug arg1, object arg2, FBPlug arg3)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (FBPlug arg1, object arg2, object arg3)
 Swap source connection at index A with source connection at index B. More...
 
 SetSelfModified (FBPlug arg1, FBPlugModificationFlag arg2, object arg3)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlug arg1, FBPlugModificationFlag arg2)
 Tell if the plug's self has changed. More...
 
 SetContentModified (FBPlug arg1, FBPlugModificationFlag arg2, object arg3)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlug arg1, FBPlugModificationFlag arg2)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlug arg1, FBPlugList arg2, FBPlugModificationFlag arg3, object arg4)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlug arg1, FBPlugModificationFlag arg2)
 Revert the plug's modification to original status. More...
 
 __init__ (...)
 
method staticmethod (function)
 
- Public Member Functions inherited from FBPythonWrapper
 __reduce__ ()
 
 __init__ (...)
 

Public Attributes

object OwnerNamespace
 
ORSDK2018::FBPropertyListComponent Components
 List: List of components. More...
 
ORSDK2018::FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
ORSDK2018::FBPropertyString LongName
 Read Write Property: Name and namespace for object. More...
 
object FullName
 
ORSDK2018::FBPropertyListComponent Parents
 List: Parents. More...
 
ORSDK2018::FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
- Public Attributes inherited from FBPythonWrapper
object OnUnbind
 

Member Function Documentation

__init__ (   ...)

Constructor.

Python Docstring:

Raises an exception
This class cannot be instantiated from Python 

C++ Signature:

 FBComponent(HIObject pObject) 
Parameters
pObjectObject to copy component from (default is NULL).
__reduce__ ( )
str ClassName ( FBComponent  arg1)

Get the class name.

Python Docstring:

ClassName( (FBComponent)arg1) -> str 

C++ Signature:

const char * ClassName() 
Returns
The class name (i.e. "FBComponent").
DisableObjectFlags ( FBComponent  arg1,
FBObjectFlag  arg2 
)

Disable a specific Object Flags.

Python Docstring:

DisableObjectFlags( (FBComponent)arg1, (FBObjectFlag)arg2) -> None 

C++ Signature:

void DisableObjectFlags(FBObjectFlag pFlags) 
Parameters
pFlagsFlags to disable.
EnableObjectFlags ( FBComponent  arg1,
FBObjectFlag  arg2 
)

Enable a specific Object Flags.

Python Docstring:

EnableObjectFlags( (FBComponent)arg1, (FBObjectFlag)arg2) -> None 

C++ Signature:

void EnableObjectFlags(FBObjectFlag pFlags) 
Parameters
pFlagsFlags to enable.
bool FBCreate ( FBComponent  arg1)

Open Reality Creation function.

Python Docstring:

FBCreate( (FBComponent)arg1) -> bool 

C++ Signature:

bool FBCreate() 
Returns
Outcome of creation (true/false).
FBDelete ( FBComponent  arg1)

Open Reality deletion function.

Python Docstring:

FBDelete( (FBComponent)arg1) -> None 

C++ Signature:

void FBDelete() 
FBDestroy ( FBComponent  arg1)

Open Reality destruction function.

Python Docstring:

FBDestroy( (FBComponent)arg1) -> None 

C++ Signature:

void FBDestroy() 
FBObjectFlag GetObjectFlags ( FBComponent  arg1)

Get all Object Flags (concatenated).

Python Docstring:

GetObjectFlags( (FBComponent)arg1) -> FBObjectFlag 

C++ Signature:

FBObjectFlag GetObjectFlags() 
Returns
Get all object flags in one call. Flags can be concatenated.
bool GetObjectStatus ( FBComponent  arg1,
FBObjectStatus  arg2 
)

Check to see if an object status is enabled.

Python Docstring:

GetObjectStatus( (FBComponent)arg1, (FBObjectStatus)arg2) -> bool 

C++ Signature:

bool GetObjectStatus(FBObjectStatus pStatus) 
Parameters
pStatusStatus to query.
object GetOwnerFileReference ( FBComponent  arg1)

Get the owner FileReference object.

Python Docstring:

GetOwnerFileReference( (FBComponent)arg1) -> object 

C++ Signature:

ORSDK2018::FBFileReference * GetOwnerFileReference(void ) 
Returns
the owner FileReference object
HardSelect ( FBComponent  arg1)

HardSelect.

Python Docstring:

HardSelect( (FBComponent)arg1) -> None 

C++ Signature:

void HardSelect() 

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

bool HasObjectFlags ( FBComponent  arg1,
FBObjectFlag  arg2 
)

Check whether a specific object flag is enabled.

Python Docstring:

HasObjectFlags( (FBComponent)arg1, (FBObjectFlag)arg2) -> bool 

C++ Signature:

bool HasObjectFlags(FBObjectFlag pFlags) 
Parameters
pFlagsFlags to check if they are present.
Returns
True if all flags in pFlags are enabled.
bool Is ( FBComponent  arg1,
object  arg2 
)

Returns true if object is of type TypeId.

Python Docstring:

Is( (FBComponent)arg1, (object)arg2) -> bool 

C++ Signature:

bool Is(int pTypeId) 
Parameters
pTypeIdTypeId to compare object to.
Returns
Result of the comparison.
bool ProcessNamespaceHierarchy ( FBComponent  arg1,
FBNamespaceAction  arg2,
str  arg3,
str  arg4,
object  arg5 
)

ProcessNamespaceHierarchy.

Python Docstring:

ProcessNamespaceHierarchy( (FBComponent)arg1, (FBNamespaceAction)arg2, (str)arg3 [, (str)arg4 [, (object)arg5]]) -> bool 

C++ Signature:

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

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.
bool ProcessObjectNamespace ( FBComponent  arg1,
FBNamespaceAction  arg2,
str  arg3,
str  arg4,
object  arg5 
)

ProcessObjectNamespace.

Python Docstring:

ProcessObjectNamespace( (FBComponent)arg1, (FBNamespaceAction)arg2, (str)arg3 [, (str)arg4 [, (object)arg5]]) -> bool 

C++ Signature:

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

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.
int PropertyAdd ( FBComponent  arg1,
FBProperty  arg2 
)

Add a property to the component's property manager.

Python Docstring:

PropertyAdd( (FBComponent)arg1, (FBProperty)arg2) -> int 

C++ Signature:

int PropertyAdd(ORSDK2018::FBProperty * pProperty) 
Parameters
pPropertyThe property to add to the property manager.
Returns
Index in the property array where property was inserted.
bool PropertyAddReferenceProperty ( FBComponent  arg1,
FBProperty  arg2 
)

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

Python Docstring:

PropertyAddReferenceProperty( (FBComponent)arg1, (FBProperty)arg2) -> bool 

C++ Signature:

bool PropertyAddReferenceProperty(ORSDK2018::FBProperty * pReferenceProperty) 
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.
object PropertyCreate ( FBComponent  arg1,
str  arg2,
FBPropertyType  arg3,
str  arg4,
object  arg5,
object  arg6,
FBProperty  arg7 
)

Create user or dynamic property.

Python Docstring:

PropertyCreate( (FBComponent)arg1, (str)arg2, (FBPropertyType)arg3, (str)arg4, (object)arg5, (object)arg6, (FBProperty)arg7) -> object 

C++ Signature:

ORSDK2018::FBProperty * PropertyCreate(const char * pName, FBPropertyType pType, const char * pDataType, bool pAnimatable, bool pIsUser = false, ORSDK2018::FBProperty * pReferenceSource = ((void *) 0)) 
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.
FBPropertyList PropertyGetModifiedList ( FBComponent  arg1,
FBPlugModificationFlag  arg2 
)

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

Python Docstring:

PropertyGetModifiedList( (FBComponent)arg1, (FBPlugModificationFlag)arg2) -> FBPropertyList 

C++ Signature:

void PropertyGetModifiedList(ORSDK2018::FBArrayTemplate< ORSDK2018::FBProperty * > & pPropList, FBPlugModificationFlag pModificationFlags) 
Parameters
pPropListproperty list to hold the modified properties.
pModificationFlagstype of modification to query.
PropertyRemove ( FBComponent  arg1,
FBProperty  arg2 
)

Remove a Property from the component's Property manager.

Python Docstring:

PropertyRemove( (FBComponent)arg1, (FBProperty)arg2) -> None 

C++ Signature:

void PropertyRemove(ORSDK2018::FBProperty * pProperty) 

If the property was dynamically allocated, it is deleted.

Parameters
pPropertyThe property to remove from the property manager.
SetObjectFlags ( FBComponent  arg1,
FBObjectFlag  arg2 
)

SetObjectFlags.

Python Docstring:

SetObjectFlags( (FBComponent)arg1, (FBObjectFlag)arg2) -> None 

C++ Signature:

void SetObjectFlags(FBObjectFlag pFlags) 
Parameters
pFlagsSet flag values. Note: this function overwrites all flags with those passed in parameter.
SetObjectStatus ( FBComponent  arg1,
FBObjectStatus  arg2,
object  arg3 
)

Enable/Disable a specific Object Status.

Python Docstring:

SetObjectStatus( (FBComponent)arg1, (FBObjectStatus)arg2, (object)arg3) -> None 

C++ Signature:

void SetObjectStatus(FBObjectStatus pStatus, bool pValue) 
Parameters
pStatusStatus to change.
pValueValue to change the status to.

Member Data Documentation

ORSDK2018::FBPropertyListComponent Components

List: List of components.

object FullName
ORSDK2018::FBPropertyString LongName

Read Write Property: Name and namespace for object.

ORSDK2018::FBPropertyString Name

Read Write Property: Unique name of object.

object OwnerNamespace
ORSDK2018::FBPropertyListComponent Parents

List: Parents.

ORSDK2018::FBPropertyManager PropertyList

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

FBPropertyBool Selected

Read Write Property: Selected property.