FBComponent Class Reference

#include <fbcomponent.h>
FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent FBComponent

Inherits FBPlug.

Inherited by FBActorFace, FBAnimationLayer, FBAnimationNode, FBApplication, FBApplyManagerRule, FBAssetItem, FBAssetMng, FBAudioClip, FBAudioIn, FBAudioOut, FBBox, FBCharacterManipulator, FBCluster, FBCommand, FBCommPort, FBConsole, FBConsoleChannel, FBConstraintManager, FBControlSet, FBCustomManager, FBDeck, FBDeformer, FBDeviceInstrument, FBDeviceOpticalMarker, FBDeviceSyncPacket, FBFbxManager, FBFbxObject, FBFbxOptions, FBFbxTake, FBFCurve, FBFilter, FBFolder, FBGenericMenu, FBGenericMenuItem, FBGeometry, FBGroup, FBImage, FBJLCooper, FBKeyControl, FBKeyingGroup, FBManipulator, FBMarkerSet, FBMenuManager, FBModelOpticalAdvanced, FBModelTemplate, FBModelVertexData, FBMotionClip, FBMotionClip, FBOpticalGap, FBOpticalSegment, FBPlayerControl, FBPose, FBReferenceTime, FBRenderer, FBRigidBody, FBScene, FBSet, FBSpreadPart, FBStory, FBStoryClip, FBStoryFolder, FBSystem, FBTake, FBTCPIP, FBTreeNode, FBTrigger, FBTriggerBranch, FBTriggerGroup, FBTriggerManager, FBVideoGrabber, FBViewerInfos, and FBVisualComponent.

List of all members.


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 551 of file fbcomponent.h.


Public Member Functions

  FBComponent (HIObject pObject)
  Constructor.
virtual  ~FBComponent ()
  Destructor.
virtual bool  FBCreate ()
  Open Reality Creation function.
virtual void  FBDestroy ()
  Open Reality destruction function.
virtual void  FBDelete ()
  Open Reality deletion function.
virtual bool  SetHIObject (HIObject pObject, bool pSDKComponent)
  Assign component to an internal pointer.
virtual int  PropertyAdd (FBProperty *Property)
  Add a property to the component's property manager.
void  PropertyRemove (FBProperty *Property)
  Remove a Property from the component's Property manager.
FBProperty PropertyCreate (char *pName, FBPropertyType pType, 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.
void  ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessNamespaceHierarchy.
void  ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessObjectNamespace.
virtual char *  ClassName ()
  Get the class name.
void  HardSelect ()
  HardSelect.
virtual bool  Is (int pTypeId)
  Returns true if object is of type TypeId.
virtual int  GetTypeId ()
  GetTypeId( int pTypeId ).

Public Attributes

HDataFBComponent  mLocalPtr
  Handle on HDataFBComponent.
FBPropertyManager  PropertyList
  Read Only Property: Manages all of the properties for the component.
FBPropertyListComponent  Components
  List: List of components.
FBPropertyListComponent  Parents
  List: Parents.
FBPropertyBool  Selected
  Read Write Property: Selected property.
FBPropertyString  Name
  Read Write Property: Unique name of object.
FBPropertyString  LongName
  Read Write Property: Name and namespace for object.
FBPropertyFolder  Folder
  Read Write Property: The folder that contain this component.
KObject *  mDummyObject
  Internal Dummy Object for non KObject Components.

Static Public Attributes

static int  TypeInfo
  Contains the Type information of the object.
static int  mInternalClassId
  internal MB class Id

Protected Attributes

FBString  mName
  Name of the component.

Constructor & Destructor Documentation

FBComponent ( HIObject  pObject  ) 

Constructor.

Parameters:
pObject  Object to copy component from (default is NULL).

virtual ~FBComponent (  )  [virtual]

Destructor.


Member Function Documentation

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.

virtual void FBDestroy (  )  [virtual]

Open Reality destruction function.

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

virtual void FBDelete (  )  [virtual]

Open Reality deletion function.

Reimplemented from FBPlug.

Reimplemented in FBAudioClip, FBActor, FBCharacter, FBCharacterExtension, FBActorFace, FBCharacterFace, FBFCurve, FBAnimationLayer, FBTake, FBFolder, FBGroup, FBSet, FBImage, FBKeyingGroup, FBModel, FBTexture, FBLayeredTexture, FBMotionClip, FBScene, FBStoryFolder, FBStoryTrack, FBStoryClip, and FBVideoClip.

virtual bool SetHIObject ( HIObject  pObject,
bool  pSDKComponent  
) [virtual]

Assign component to an internal pointer.

Reimplemented from FBPlug.

virtual int PropertyAdd ( FBProperty Property  )  [virtual]

Add a property to the component's property manager.

Parameters:
Property  The property to add to the property manager.
Returns:
Index in the property array where property was inserted.

void PropertyRemove ( FBProperty Property  ) 

Remove a Property from the component's Property manager.

If the property was dynamically allocated, it is deleted.

Parameters:
Property  The property to remove from the property manager.

FBProperty* PropertyCreate ( char *  pName,
FBPropertyType  pType,
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 is a text define in ANIMATIONNODE_TYPE_??? in fbdata.h.
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.

FBObjectFlag GetObjectFlags (  ) 

Get all Object Flags (concatenated).

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

void SetObjectFlags ( FBObjectFlag  pFlags  ) 

SetObjectFlags.

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

bool HasObjectFlags ( FBObjectFlag  pFlags  ) 

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.

void EnableObjectFlags ( FBObjectFlag  pFlags  ) 

Enable a specific Object Flags.

Parameters:
pFlags  Flags to enable.

void DisableObjectFlags ( FBObjectFlag  pFlags  ) 

Disable a specific Object Flags.

Parameters:
pFlags  Flags to disable.

void SetObjectStatus ( FBObjectStatus  pStatus,
bool  pValue  
)

Enable/Disable a specific Object Status.

Parameters:
pStatus  Status to change.
pValue  Value to change the status to.

bool GetObjectStatus ( FBObjectStatus  pStatus  ) 

Check to see if an object status is enabled.

Parameters:
pStatus  Status to query.

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

ProcessNamespaceHierarchy.

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.

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

ProcessObjectNamespace.

This function is the same as ProcessNamespaceHierarchy except that it applies only on the current object and not to the object's children.

virtual char* ClassName (  )  [virtual]

Get the class name.

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

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

void HardSelect (  ) 

HardSelect.

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

virtual bool Is ( int  pTypeId  )  [virtual]

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.

virtual int GetTypeId (  )  [virtual]

GetTypeId( int pTypeId ).

Returns:
The TypeInfo of the object

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.


Member Data Documentation

HDataFBComponent mLocalPtr

Handle on HDataFBComponent.

Reimplemented in FBCustomManager.

Definition at line 556 of file fbcomponent.h.

FBString mName [protected]

Name of the component.

Definition at line 559 of file fbcomponent.h.

int TypeInfo [static]

Contains the Type information of the object.

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

Definition at line 564 of file fbcomponent.h.

int mInternalClassId [static]

internal MB class Id

Reimplemented from FBPlug.

Definition at line 567 of file fbcomponent.h.

FBPropertyManager PropertyList

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

Definition at line 696 of file fbcomponent.h.

FBPropertyListComponent Components

List: List of components.

Reimplemented in FBPropertyInspector, and FBScene.

Definition at line 697 of file fbcomponent.h.

FBPropertyListComponent Parents

List: Parents.

Definition at line 698 of file fbcomponent.h.

FBPropertyBool Selected

Read Write Property: Selected property.

Definition at line 699 of file fbcomponent.h.

FBPropertyString Name

Read Write Property: Unique name of object.

Reimplemented in FBTool, FBAssetMng, FBConsoleChannel, FBFbxTake, FBTriggerGroup, FBTrigger, and FBMotionClip.

Definition at line 700 of file fbcomponent.h.

FBPropertyString LongName

Read Write Property: Name and namespace for object.

Definition at line 701 of file fbcomponent.h.

FBPropertyFolder Folder

Read Write Property: The folder that contain this component.

Definition at line 704 of file fbcomponent.h.

KObject* mDummyObject

Internal Dummy Object for non KObject Components.

Definition at line 730 of file fbcomponent.h.


Please send us your comments about this page.