fbsdk/fbplug.h File Reference
 
 
 
fbsdk/fbplug.h File Reference

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


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

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

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)
K_DLLIMPORT const char *  FBGetConnectionActionString (FBConnectionAction pAction)
K_DLLIMPORT const char *  FBGetConnectionTypeString (FBConnectionType pType)
K_DLLIMPORT bool  FBConnect (FBPlug *pSrc, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Request the connection two FBPlug objects.
K_DLLIMPORT bool  FBDisconnect (FBPlug *pSrc, FBPlug *pDst)
  Connect two FBPlug objects.

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

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

Request the connection two FBPlug objects.

Parameters:
pSrc Source plug.
pDst Destination plug.
pConnectionType Type 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.
K_DLLIMPORT bool FBDisconnect ( FBPlug pSrc,
FBPlug pDst 
)

Connect two FBPlug objects.

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

Go to the source code of this file.