fbplug.h File Reference

This reference page is linked to from the following overview topics: MotionBuilder 2014, Your First Python Program, Rigid Body Physics, Joint Chains, Modifying the Items in a Referenced Object.


Definition of the class FBPlug and related enums and utility functions. More...

#include <kaydaradef.h>
#include <object/i/icallback.h>
#include <fbsdk/fbdefines.h>
#include <fbsdk/fbscriptwrapper.h>
#include <fbsdk/fbarray.h>

Go to the source code of this file.

Classes

class  FBPlug
 Connections Basic Open Reality SDK Element. More...
class  HdlFBPlug
 Handler of FBPlug object Use this handler object to gracefully take care of dangling pointer problem. More...
class  HdlFBPlugTemplate< T >

Defines

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once...

Typedefs

typedef FBArrayTemplate< FBPlug * > FBPlugList
 typedef FBArrayTemplate<FBPlug*> FBPlugList;

Enumerations

enum  FBConnectionAction {
  kFBRequestConnectSrc = 0, kFBRequestConnectDst, kFBConnectSrc, kFBConnectDst,
  kFBConnectedSrc, kFBConnectedDst, kFBRequestDisconnectSrc, kFBRequestDisconnectDst,
  kFBDisconnectSrc, kFBDisconnectDst, kFBDisconnectedSrc, kFBDisconnectedDst,
  kFBBeginReplaceSrc, kFBEndReplaceSrc, kFBBeginReplaceDst, kFBEndReplaceDst,
  kFBReorderSrc, kFBReorderedSrc, kFBBeginChange, kFBEndChange,
  kFBConnectedOwner, kFBDisconnectOwner, kFBCandidate, kFBCandidated,
  kFBCandidateGlobal, kFBDetached, kFBDestroy, kFBSelect,
  kFBUnselect, kFBReselect, kFBRequestRename, kFBRename,
  kFBRenamed, kFBRequestPrefixRename, kFBPrefixRename, kFBPrefixRenamed,
  kFBDescription, kFBKeyingKey, kFBKeyingDeleteKey, kFBKeyingCandidate,
  kFBConnect = kFBConnectSrc, kFBConnected = kFBConnectedSrc, kFBDisconnect = kFBDisconnectSrc, kFBDisconnected = kFBDisconnectedSrc
}
 

Possible actions when a notify plug event occurs.

More...
enum  FBConnectionType { kFBConnectionTypeNone, kFBConnectionTypeSystem }
 

Connection types available between plugs.

More...
enum  FBPlugModificationFlag {
  kFBPlugAllContent = 0, kFBSelfDataModified = 1 << 8, kFBContentDataModified = 1 << 9, kFBAllDataModified = kFBSelfDataModified | kFBContentDataModified,
  kFBSelfKeyingModified = 1 << 10, kFBContentKeyingModified = 1 << 11, kFBAllKeyingModified = kFBSelfKeyingModified | kFBContentKeyingModified, kFBSelfStateModified = 1 << 12,
  kFBContentStateModified = 1 << 13, kFBAllStateModified = kFBSelfStateModified | kFBContentStateModified, kFBSelfConnectionSrcObjectModified = 1 << 14, kFBSelfConnectionSrcPropertyModified = 1 << 15,
  kFBSelfConnectionDstObjectModified = 1 << 16, kFBSelfConnectionDstPropertyModified = 1 << 17, kFBSelfConnectionModifiedMask = kFBSelfConnectionSrcObjectModified | kFBSelfConnectionSrcPropertyModified | kFBSelfConnectionDstObjectModified | kFBSelfConnectionDstPropertyModified, kFBContentConnectionModified = 1 << 18,
  kFBAllConnectionModified = kFBSelfConnectionModifiedMask | kFBContentConnectionModified, kFBSelfCustomPropertyModified = 1 << 19, kFBContentCustomPropertyModified = 1 << 20, kFBAllCustomPropertyModified = kFBSelfCustomPropertyModified | kFBContentCustomPropertyModified,
  kFBSelfAllModifiedMask = kFBSelfDataModified | kFBSelfKeyingModified | kFBSelfStateModified | kFBSelfCustomPropertyModified | kFBSelfConnectionModifiedMask, kFBContentAllModifiedMask = kFBContentDataModified | kFBContentKeyingModified | kFBContentStateModified | kFBContentCustomPropertyModified | kFBContentConnectionModified, kFBAllModifiedMask = kFBSelfAllModifiedMask | kFBContentAllModifiedMask
}
enum  FBPlugStatusFlag { kFBPlugStatusFlagNone = 0, kFBOwnedByUndo = 1<<21, kFBPlugStatusFlagMask = kFBOwnedByUndo }

Functions

 FB_FORWARD (FBPlug)
FBSDK_DLL const char * FBGetConnectionActionString (FBConnectionAction pAction)
FBSDK_DLL const char * FBGetConnectionTypeString (FBConnectionType pType)
FBSDK_DLL bool FBConnect (FBPlug *pSrc, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Request the connection two FBPlug objects.
FBSDK_DLL bool FBDisconnect (FBPlug *pSrc, FBPlug *pDst)
 Connect two FBPlug objects.

Detailed Description

Definition of the class FBPlug and related enums and utility functions.

All the Open Reality objects that expose application objects will inherit from FBPlug.

Definition in file fbplug.h.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 51 of file fbplug.h.


Typedef Documentation

typedef FBArrayTemplate<FBPlug*> FBPlugList;

Definition at line 184 of file fbplug.h.


Enumeration Type Documentation

Possible actions when a notify plug event occurs.

Enumerator:
kFBRequestConnectSrc 

Request connection of source to destination.

kFBRequestConnectDst 

Request connection of destination to source.

kFBConnectSrc 

Connect source to destination.

kFBConnectDst 

Connect destination to source.

kFBConnectedSrc 

Connected source to destination.

kFBConnectedDst 

Connected destination to source.

kFBRequestDisconnectSrc 

Request disconnection of source to destination.

kFBRequestDisconnectDst 

Request disconnection of destination to source.

kFBDisconnectSrc 

Disconnect source from destination.

kFBDisconnectDst 

Disconnect destination from source.

kFBDisconnectedSrc 

Disconnected source from destination.

kFBDisconnectedDst 

Disconnected destination from source.

kFBBeginReplaceSrc 

Begin replace source during merge.

kFBEndReplaceSrc 

End replace source during merge.

kFBBeginReplaceDst 

Begin replace destination during merge.

kFBEndReplaceDst 

End replace destination during merge.

kFBReorderSrc 

Reorder of source.

kFBReorderedSrc 

Source has been reordered.

kFBBeginChange 

Begin change on destination.

kFBEndChange 

End change on destination.

kFBConnectedOwner 

Connected owner to destination.

kFBDisconnectOwner 

Disconnect owner from destination.

kFBCandidate 

Data candidate event, before the data is set.

kFBCandidated 

Data candidate event, after the data is set.

kFBCandidateGlobal 

Data candidate event, global candidate.

kFBDetached 

Component detached from scene.

kFBDestroy 

Component destroy.

kFBSelect 

Component selection.

kFBUnselect 

Component de-selection.

kFBReselect 

Component re-selection.

kFBRequestRename 

Component request rename.

kFBRename 

Component is going to be renamed.

kFBRenamed 

Component has been renamed.

kFBRequestPrefixRename 

Compoent request Prefix Rename.

kFBPrefixRename 

Component prefix is going to be renamed.

kFBPrefixRenamed 

Component prefix has been renamed.

kFBDescription 

Component description event.

kFBKeyingKey 

Component keying add event.

kFBKeyingDeleteKey 

Component keying delete event.

kFBKeyingCandidate 

Component keying candidate event.

kFBConnect 
kFBConnected 
kFBDisconnect 
kFBDisconnected 

Definition at line 71 of file fbplug.h.

Connection types available between plugs.

Enumerator:
kFBConnectionTypeNone 

Default connection type.

kFBConnectionTypeSystem 

System connection type.

Definition at line 138 of file fbplug.h.

Enumerator:
kFBPlugAllContent 

None Modified.

kFBSelfDataModified 

Object/Property itself has been dirty, in case of property get dirty, its owner object will be set dirty as well.

kFBContentDataModified 

Owner object/Namespace has data dirty property/objects.

kFBAllDataModified 
kFBSelfKeyingModified 

Object/Property itself has been dirty, in case of property get dirty, its owner object will be set dirty as well.

kFBContentKeyingModified 

Owner object/Namespace has data dirty property/objects.

kFBAllKeyingModified 
kFBSelfStateModified 

Object/Property naming change.

kFBContentStateModified 

Owner object/Namespace has state dirty property/objects.

kFBAllStateModified 
kFBSelfConnectionSrcObjectModified 

The src object of this plug has been modified.

kFBSelfConnectionSrcPropertyModified 

The src property of this plug has been modified.

kFBSelfConnectionDstObjectModified 

The dst object of this plug has been modified.

kFBSelfConnectionDstPropertyModified 

The dst property of this plug has been modified.

kFBSelfConnectionModifiedMask 
kFBContentConnectionModified 

Owner object/namespace has connection modified property/objects.

kFBAllConnectionModified 
kFBSelfCustomPropertyModified 

Object custom property change.

kFBContentCustomPropertyModified 

Owner object/Namespace has dirty property/objects.

kFBAllCustomPropertyModified 
kFBSelfAllModifiedMask 
kFBContentAllModifiedMask 
kFBAllModifiedMask 

Definition at line 144 of file fbplug.h.

{
    kFBPlugAllContent                       = 0,        
    kFBSelfDataModified                     = 1 << 8,   
    kFBContentDataModified                  = 1 << 9,   
    kFBAllDataModified                      = kFBSelfDataModified | kFBContentDataModified,

    kFBSelfKeyingModified                   = 1 << 10,  
    kFBContentKeyingModified                = 1 << 11,  
    kFBAllKeyingModified                    = kFBSelfKeyingModified | kFBContentKeyingModified,

    kFBSelfStateModified                    = 1 << 12,  
    kFBContentStateModified                 = 1 << 13,  
    kFBAllStateModified                     = kFBSelfStateModified | kFBContentStateModified,

    kFBSelfConnectionSrcObjectModified      = 1 << 14,  
    kFBSelfConnectionSrcPropertyModified    = 1 << 15,  
    kFBSelfConnectionDstObjectModified      = 1 << 16,  
    kFBSelfConnectionDstPropertyModified    = 1 << 17,  
    kFBSelfConnectionModifiedMask           = kFBSelfConnectionSrcObjectModified | kFBSelfConnectionSrcPropertyModified | kFBSelfConnectionDstObjectModified | kFBSelfConnectionDstPropertyModified,
    kFBContentConnectionModified            = 1 << 18,  
    kFBAllConnectionModified                = kFBSelfConnectionModifiedMask | kFBContentConnectionModified,

    kFBSelfCustomPropertyModified           = 1 << 19,  
    kFBContentCustomPropertyModified        = 1 << 20,  
    kFBAllCustomPropertyModified            = kFBSelfCustomPropertyModified | kFBContentCustomPropertyModified,

    kFBSelfAllModifiedMask                  = kFBSelfDataModified    | kFBSelfKeyingModified    | kFBSelfStateModified    | kFBSelfCustomPropertyModified | kFBSelfConnectionModifiedMask,
    kFBContentAllModifiedMask               = kFBContentDataModified | kFBContentKeyingModified | kFBContentStateModified | kFBContentCustomPropertyModified | kFBContentConnectionModified,
    kFBAllModifiedMask                      = kFBSelfAllModifiedMask | kFBContentAllModifiedMask
};
Enumerator:
kFBPlugStatusFlagNone 

Plug has no status set.

kFBOwnedByUndo 

Plug is owned by undo framework.

kFBPlugStatusFlagMask 

Definition at line 176 of file fbplug.h.


Function Documentation

FBSDK_DLL const char* FBGetConnectionActionString ( FBConnectionAction  pAction)
FBSDK_DLL const char* FBGetConnectionTypeString ( FBConnectionType  pType)
FBSDK_DLL bool FBConnect ( FBPlug pSrc,
FBPlug pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)

Request the connection two FBPlug objects.

Parameters:
pSrcSource plug.
pDstDestination plug.
pConnectionTypeType of connection, taken from FBConnectionType.
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This global function is used primarily to connect connectors in a FBConstraintRelation.
FBSDK_DLL bool FBDisconnect ( FBPlug pSrc,
FBPlug pDst 
)

Connect two FBPlug objects.

Parameters:
pSrcSource plug.
pDstDestination plug.
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This global function is used primarily to disconnect connectors in a FBConstraintRelation.