This reference page is linked to from the following overview topics: MotionBuilder 2013, Object Model, FBComponent - The Base Entity Class, FBPlug - Object Connection Management.
Connections Basic Open Reality SDK Element.
Most elements that are available in the SDK inherit from this base class since FBComponent and FBProperty inherit from FBPlug. Basically, all objects can be connected together because they are all "plugs". To simplify the graph, you can think of a "source" connection as a child, and a "destination" connection as a parent. Also, it is correct to assume that a source affect/work on its destination. For example, a shader applied on an object would be seen as the source while the object is the destination. So FBPlug is a set of functions that enables you to control those connections with flexibility and ease.
#include <fbplug.h>

Public Member Functions |
|
| virtual | ~FBPlug () |
| Destructor. |
|
| virtual HIObject | GetHIObject () const |
| Return an internal pointer. |
|
| virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) |
| Assign component to an internal pointer.
|
|
| 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. |
|
| K_DEPRECATED bool | ConnectAt (FBPlug *pSrc, int pSrc_DstIndex, FBPlug *pDst, int pDst_SrcIndex, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
| 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. |
|
| 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. |
|
| IObject_Declare (Implementation) | |
| ICallback_Declare (Implementation) | |
Public Attributes |
|
| bool | mAllocated |
| Contain the Allocation State of the
Component. |
|
Static Public Attributes |
|
| static const char * | ClassGroupName |
| ClassGroupName of the object. |
|
| static int | TypeInfo |
| TypeInfo. |
|
Protected Member Functions |
|
| FBPlug (HIObject pObject) | |
| ! Constructor Internal use only. |
|
| virtual void | FBDelete () |
| Actual destructor for a FBPlug. |
|
Static Protected Member Functions |
|
| static int | GetInternalClassId () |
| Internal class Id. |
|
Protected Attributes |
|
| HIObject | mObject |
| Handle on the Plug. |
|
| bool | mSDKComponent |
| bool Plug is an SDK component. |
|
Static Protected Attributes |
|
| static int | mGlobalTypeInfo |
| Represente the Type Index. |
|
Friends |
|
| FBSDK_DLL friend int | __FBRegisterTypeInfo (int pInternalClassId) |
| __FBRegisterTypeInfo For internal use only,
Register the TypeInfo mapped to internal class id. |
|
| FBPlug | ( | HIObject | pObject | ) | [protected] |
! Constructor Internal use only.
User code shouldn't instantiate FBPlug directly.
| virtual ~FBPlug | ( | ) | [virtual] |
Destructor.
| virtual HIObject GetHIObject | ( | ) | const [virtual] |
Return an internal pointer.
| virtual bool SetHIObject | ( | HIObject | pObject, |
| bool | pSDKComponent | ||
| ) | [virtual] |
| bool IsSDKComponent | ( | ) |
Return whether or not item is an SDK component.
| bool ConnectSrc | ( | FBPlug * | pSrc, |
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone |
||
| ) |
Add a source connection.
| pSrc | Source plug. |
| pConnectionType | Type of connection, taken from FBConnectionType. Default value should work in all cases. |
| bool ConnectDst | ( | FBPlug * | pDst, |
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone |
||
| ) |
Add a destination connection.
| pDst | Destination plug. |
| pConnectionType | Type of connection, taken from FBConnectionType. Default value should work in all cases. |
| bool ConnectSrcAt | ( | int | pDst_SrcIndex, |
| FBPlug * | pSrc, | ||
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone |
||
| ) |
Add a source connection.
| pDst_SrcIndex | Index that tells where to add this source connection in the destination's connection list. if index is out of bound, and this source connection will be appended at the end. |
| pSrc | Source plug. |
| pConnectionType | Type of connection, taken from FBConnectionType. Default value should work in all cases. |
| bool ConnectDstAt | ( | int | pSrc_DstIndex, |
| FBPlug * | pDst, | ||
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone |
||
| ) |
Add a destination connection.
| pSrc_DstIndex | Index that tells where to add this destination connection in the source's connection list. if index is out of bound, and this destination connection will be appended at the end. |
| pDst | Destination plug. |
| pConnectionType | Type of connection, taken from FBConnectionType. Default value should work in all cases. |
| K_DEPRECATED bool ConnectAt | ( | FBPlug * | pSrc, |
| int | pSrc_DstIndex, | ||
| FBPlug * | pDst, | ||
| int | pDst_SrcIndex, | ||
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone |
||
| ) |
| pSrc | Source plug. |
| pSrc_DstIndex | Index that tells where to add this destination connection in the source's connection list. if src index is out of bound, and this destination connection will be appended at the end. |
| pDst | Destination plug. |
| pDst_SrcIndex | Index that tells where to add this source connection in the destination's connection list. if dst index is out of bound, and this destination connection will be appended at the end. |
| pConnectionType | Type of connection, taken from FBConnectionType. Default value should work in all cases. |
| bool DisconnectDst | ( | FBPlug * | pDst | ) |
Remove a destination connection.
| pDst | Destination plug. |
| bool DisconnectSrc | ( | FBPlug * | pSrc | ) |
Remove a source connection.
| pSrc | Source plug. |
| void DisconnectAllSrc | ( | ) |
Remove all source connections.
| void DisconnectAllDst | ( | ) |
Remove all destination connections.
| bool DisconnectDstAt | ( | int | pIndex | ) |
Remove a destination connection at a specified index.
| pIndex | Destination plug index. |
| bool DisconnectSrcAt | ( | int | pIndex | ) |
Remove a source connection at a specified index.
| pIndex | Source plug index. |
| bool ReplaceDstAt | ( | int | pIndex, |
| FBPlug * | pDst | ||
| ) |
Replace a destination connection at a specified index.
| pIndex | Destination plug index. |
| pDst | Plug that will replace the other at index. |
| bool ReplaceSrcAt | ( | int | pIndex, |
| FBPlug * | pSrc | ||
| ) |
Replace a source connection at a specified index.
| pIndex | Source plug index. |
| pSrc | Plug that will replace the other at index. |
| bool SwapSrc | ( | int | pIndexA, |
| int | pIndexB | ||
| ) |
Swap source connection at index A with source connection at index B.
| pIndexA | Plug index. |
| pIndexB | Other plug index. |
| bool MoveSrcAt | ( | int | pIndex, |
| int | pAtIndex | ||
| ) |
Move source connection at pIndex to pAtIndex.
| pIndex | Plug current index. |
| pAtIndex | Plug new index. |
Move source connection pSrc to the position of pAtSrc.
| pSrc | Plug. |
| pAtSrc | Plug that mark where we want to insert (will insert before this one). |
| int GetSrcCount | ( | ) |
| FBPlug* GetSrc | ( | int | pIndex | ) |
Get a source connection's plug at specified index.
| pIndex | Index of the source connection's plug. |
| FBConnectionType GetSrcType | ( | int | pIndex | ) |
Get a source connection's type at specified index.
| pIndex | Index of the source connection's type. |
| int GetDstCount | ( | ) |
Get destination connection count.
| FBPlug* GetDst | ( | int | pIndex | ) |
Get a destination connection's plug at specified index.
| pIndex | Index of the destination connection's plug. |
| FBConnectionType GetDstType | ( | int | pIndex | ) |
Get a destination connection's type at specified index.
| pIndex | Index of the destination connection's type. |
| 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.
| pFlag | bitwise AND of self modification flags. |
| pBool | true if self changed. |
| bool GetSelfModified | ( | FBPlugModificationFlag | pFlag | ) |
Tell if the plug's self has changed.
| pFlag | bitwise AND of self modification flags. |
| void SetContentModified | ( | FBPlugModificationFlag | pFlag, |
| bool | pBool | ||
| ) |
Set the plug's owned property/object's modification flag.
| pBool | true if content has modification. |
| 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.
plug list to fill up. Src/Dst Property/Object connection modification flag. Ask for the added list if true, removed list if false.
| bool RevertModification | ( | FBPlugModificationFlag | pFlag =
kFBAllModifiedMask |
) |
Revert the plug's modification to original status.
| pFlag | the type of modification to be reverted. |
| FBPlug* GetOwner | ( | ) |
Get the owner of this plug.
Very useful for properties since they are plugs too.
| FBPlug* GetOwned | ( | int | pIndex | ) |
Get the owned plug at specified index.
| pIndex | Index of the owned plug to get. |
| int GetOwnedCount | ( | ) |
| virtual const char* ClassName | ( | ) | [virtual] |
| virtual bool Is | ( | int | pTypeId | ) | [virtual] |
| pTypeId | Type Identifiant. |
Reimplemented in FBComponent, and FBCustomManager.
| virtual int GetTypeId | ( | ) | [virtual] |
GetTypeId( int pTypeId )
Reimplemented in FBComponent, and FBCustomManager.
| virtual bool PlugDataNotify | ( | FBConnectionAction | pAction, |
| FBPlug * | pThis, | ||
| void * | pData = NULL, |
||
| void * | pDataOld = NULL, |
||
| int | pDataSize =
0 |
||
| ) | [virtual] |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only.
| pAction | Plug action, the event type. |
| pThis | Plug concerned. |
| pData | Current data, meaning depends of plug action. |
| pDataOld | Previous data, meaning depends of plug action. |
| pDataSize | Size of data. |
| virtual bool PlugStateNotify | ( | FBConnectionAction | pAction, |
| FBPlug * | pThis, | ||
| void * | pData = NULL, |
||
| void * | pDataOld = NULL, |
||
| int | pDataSize =
0 |
||
| ) | [virtual] |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only.
| pAction | Plug action, the event type. |
| pThis | Plug concerned. |
| pData | Current data, meaning depends of plug action. |
| pDataOld | Previous data, meaning depends of plug action. |
| pDataSize | Size of data. |
| virtual bool PlugNotify | ( | FBConnectionAction | pAction, |
| FBPlug * | pThis, | ||
| int | pIndex, | ||
| FBPlug * | pPlug = NULL, |
||
| FBConnectionType | pConnectionType =
kFBConnectionTypeNone, |
||
| FBPlug * | pNewPlug =
NULL |
||
| ) | [virtual] |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only.
| pAction | Plug action, the event type. |
| pThis | Plug concerned. |
| pIndex | Index of the plug. |
| pPlug | Other plug concerned. |
| pConnectionType | Connection type between the plugs. |
| pNewPlug | New plug (for the replace event). |
| IObject_Declare | ( | Implementation | ) |
Reimplemented in FBAssetFile, FBAssetFolder, FBAssetMng, FBCharacter, FBActorFace, FBCharacterFace, FBCharacterSolver, FBCommand, FBComponent, FBConstraint, FBConstraintRelation, FBBox, FBDevice, FBDeck, FBProperty, FBShader, FBTriggerGroup, FBTrigger, FBMotionClip, FBTriggerBranch, FBVisualComponent, FBLayout, and FBView.
| ICallback_Declare | ( | Implementation | ) |
Reimplemented in FBComponent, FBModel, and FBVisualComponent.
| virtual void FBDelete | ( | ) | [protected, virtual] |
Actual destructor for a FBPlug.
It should never be called from client code. This is meant for internal use only!
Reimplemented in FBAudioClip, FBActor, FBCharacter, FBCharacterExtension, FBActorFace, FBCharacterFace, FBComponent, FBFCurve, FBAnimationLayer, FBTake, FBFolder, FBGroup, FBSet, FBImage, FBKeyingGroup, FBModel, FBMotionClip, FBScene, FBStoryFolder, FBStoryTrack, FBStoryClip, FBTexture, FBLayeredTexture, FBVideoClip, and FBGenericMenu.
| static int GetInternalClassId | ( | ) | [static, protected] |
| FBSDK_DLL friend int __FBRegisterTypeInfo | ( | int | pInternalClassId | ) | [friend] |
__FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.
const char* ClassGroupName
[static] |
int TypeInfo
[static] |
TypeInfo.
Reimplemented in FBComponent, FBCustomManager, FBPropertyBaseComponent< tType >, FBPropertyBaseComponent< FBPlug * >, and FBPropertyBaseComponent< FBComponent * >.
| bool mAllocated |
Contain the Allocation State of the Component.
int mGlobalTypeInfo
[static, protected] |
HIObject mObject
[protected] |
bool mSDKComponent
[protected] |