Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes

FBPlug Class Reference

This reference page is linked to from the following overview topics: Object Model, FBComponent - The Base Entity Class, FBPlug - Object Connection Management.


Search for all occurrences

Detailed Description

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

Definition at line 136 of file fbplug.h.

#include <fbplug.h>

Inheritance diagram for FBPlug:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  FBPlug (HIObject pObject)
  Constructor.
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 (HFBPlug pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a source connection.
bool  ConnectDst (HFBPlug pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a destination connection.
bool  ConnectSrcAt (int pDst_SrcIndex, HFBPlug pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a source connection.
bool  ConnectDstAt (int pSrc_DstIndex, HFBPlug pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a destination connection.
K_DEPRECATED bool  ConnectAt (HFBPlug pSrc, int pSrc_DstIndex, HFBPlug pDst, int pDst_SrcIndex, FBConnectionType pConnectionType=kFBConnectionTypeNone)
bool  DisconnectDst (HFBPlug pDst)
  Remove a destination connection.
bool  DisconnectSrc (HFBPlug 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 specifyed index.
bool  DisconnectSrcAt (int pIndex)
  Remove a source connection at a specifyed index.
bool  ReplaceDstAt (int pIndex, HFBPlug pDst)
  Replace a destination connection at a specifyed index.
bool  ReplaceSrcAt (int pIndex, HFBPlug pSrc)
  Replace a source connection at a specifyed 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 (HFBPlug pSrc, HFBPlug pAtSrc)
  Move source connection pSrc to the position of pAtSrc.
int  GetSrcCount ()
  Get source connection count.
HFBPlug  GetSrc (int pIndex)
  Get a source connection's plug at specifyed index.
FBConnectionType  GetSrcType (int pIndex)
  Get a source connection's type at specifyed index.
int  GetDstCount ()
  Get destination connection count.
HFBPlug  GetDst (int pIndex)
  Get a destination connection's plug at specifyed index.
FBConnectionType  GetDstType (int pIndex)
  Get a destination connection's type at specifyed index.
bool  BeginChange ()
  Begins a change on multiple plugs.
void  EndChange ()
  Ends a change on multiple plugs.
HFBPlug  GetOwner ()
  Get the owner of this plug.
int  GetOwnerCount ()
  Get the owner count of this plug.
HFBPlug  GetOwned (int pIndex)
  Get the owned plug at specifyed index.
int  GetOwnedCount ()
  Get the owned plug count.
virtual 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 int  TypeInfo
  TypeInfo.

Protected Member Functions

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.

Constructor & Destructor Documentation

FBPlug ( HIObject  pObject )

Constructor.

virtual ~FBPlug ( ) [virtual]

Destructor.


Member Function Documentation

virtual HIObject GetHIObject ( ) const [virtual]

Return an internal pointer.

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

Assign component to an internal pointer.

Reimplemented in FBComponent.

bool IsSDKComponent ( )

Return whether or not item is an SDK component.

bool ConnectSrc ( HFBPlug  pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)

Add a source connection.

Parameters:
pSrc Source plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool ConnectDst ( HFBPlug  pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)

Add a destination connection.

Parameters:
pDst Destination plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool ConnectSrcAt ( int  pDst_SrcIndex,
HFBPlug  pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)

Add a source connection.

Parameters:
pDst_SrcIndex Index that tells where to add this source connection in the destination's connection list.
pSrc Source plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool ConnectDstAt ( int  pSrc_DstIndex,
HFBPlug  pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)

Add a destination connection.

Parameters:
pSrc_DstIndex Index that tells where to add this destination connection in the source's connection list.
pDst Destination plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
K_DEPRECATED bool ConnectAt ( HFBPlug  pSrc,
int  pSrc_DstIndex,
HFBPlug  pDst,
int  pDst_SrcIndex,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
)
Deprecated:
Make a connection between to plug, specifying the connection index.
Parameters:
pSrc Source plug.
pSrc_DstIndex Index that tells where to add this destination connection in the source's connection list.
pDst Destination plug.
pDst_SrcIndex Index that tells where to add this source connection in the destination's connection list.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (true) or failure (false).
bool DisconnectDst ( HFBPlug  pDst )

Remove a destination connection.

Parameters:
pDst Destination plug.
Returns:
A boolean indicating success (True) or failure (False).
bool DisconnectSrc ( HFBPlug  pSrc )

Remove a source connection.

Parameters:
pSrc Source plug.
Returns:
A boolean indicating success (True) or failure (False).
void DisconnectAllSrc ( )

Remove all source connections.

void DisconnectAllDst ( )

Remove all destination connections.

bool DisconnectDstAt ( int  pIndex )

Remove a destination connection at a specifyed index.

Parameters:
pIndex Destination plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool DisconnectSrcAt ( int  pIndex )

Remove a source connection at a specifyed index.

Parameters:
pIndex Source plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool ReplaceDstAt ( int  pIndex,
HFBPlug  pDst 
)

Replace a destination connection at a specifyed index.

Parameters:
pIndex Destination plug index.
pDst Plug that will replace the other at index.
Returns:
A boolean indicating success (True) or failure (False).
bool ReplaceSrcAt ( int  pIndex,
HFBPlug  pSrc 
)

Replace a source connection at a specifyed index.

Parameters:
pIndex Source plug index.
pSrc Plug that will replace the other at index.
Returns:
A boolean indicating success (True) or failure (False).
bool SwapSrc ( int  pIndexA,
int  pIndexB 
)

Swap source connection at index A with source connection at index B.

Parameters:
pIndexA Plug index.
pIndexB Other plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool MoveSrcAt ( int  pIndex,
int  pAtIndex 
)

Move source connection at pIndex to pAtIndex.

Parameters:
pIndex Plug current index.
pAtIndex Plug new index.
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This is not like the swap function since the connection at pAtIndex is untouched.
bool MoveSrcAt ( HFBPlug  pSrc,
HFBPlug  pAtSrc 
)

Move source connection pSrc to the position of pAtSrc.

Parameters:
pSrc Plug.
pAtSrc Plug that mark where we want to insert (will insert before this one).
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This is not like the swap function since the connection at pAtSrc is untouched.
int GetSrcCount ( )

Get source connection count.

Returns:
Total sources connections count.
HFBPlug GetSrc ( int  pIndex )

Get a source connection's plug at specifyed index.

Parameters:
pIndex Index of the source connection's plug.
Returns:
Source plug at specifyed index.
FBConnectionType GetSrcType ( int  pIndex )

Get a source connection's type at specifyed index.

Parameters:
pIndex Index of the source connection's type.
Returns:
Source connection's type at specifyed index.
int GetDstCount ( )

Get destination connection count.

Returns:
Total destinations connections count.
HFBPlug GetDst ( int  pIndex )

Get a destination connection's plug at specifyed index.

Parameters:
pIndex Index of the destination connection's plug.
Returns:
Destination plug at specifyed index.
FBConnectionType GetDstType ( int  pIndex )

Get a destination connection's type at specifyed index.

Parameters:
pIndex Index of the destination connection's type.
Returns:
Destination connection's type at specifyed index.
bool BeginChange ( )

Begins a change on multiple plugs.

Returns:
A boolean indicating success (True) or failure (False).
void EndChange ( )

Ends a change on multiple plugs.

HFBPlug GetOwner ( )

Get the owner of this plug.

Very useful for properties since they are plugs too.

Returns:
The owner of this plug.
int GetOwnerCount ( )

Get the owner count of this plug.

(Obsolete)

Returns:
The owner count of this plug (will always return 1).
HFBPlug GetOwned ( int  pIndex )

Get the owned plug at specifyed index.

Parameters:
pIndex Index of the owned plug to get.
Returns:
The owned plug at specifyed index.
int GetOwnedCount ( )

Get the owned plug count.

Returns:
The owned plug count.
virtual char* ClassName ( ) [virtual]

internal System vars.

Reimplemented in FBComponent, and FBCustomManager.

virtual bool Is ( int  pTypeId ) [virtual]

Is( int pTypeId )

Parameters:
pTypeId Type Identifiant.
Returns:
True if Plug is a Instance of pTypeId.

Reimplemented in FBComponent, and FBCustomManager.

virtual int GetTypeId ( ) [virtual]

GetTypeId( int pTypeId )

Returns:
The TypeInfo of the object

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.

Parameters:
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.
Returns:
unused should return true
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.

Parameters:
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.
Returns:
unused should return true except in the case of property rename kFBRename
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.

Parameters:
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).
Returns:
should by default return true except in the case of connection requests (kFBRequestConnectSrc or kFBRequestConnectDst)
IObject_Declare ( Implementation  )
ICallback_Declare ( Implementation  )
virtual void FBDelete ( ) [protected, virtual]
static int GetInternalClassId ( ) [static, protected]

Internal class Id.

Reimplemented in FBComponent, and FBCustomManager.


Member Data Documentation

int TypeInfo [static]
bool mAllocated

Contain the Allocation State of the Component.

Definition at line 345 of file fbplug.h.

int mGlobalTypeInfo [static, protected]

Represente the Type Index.

Definition at line 389 of file fbplug.h.

HIObject mObject [protected]

Handle on the Plug.

Definition at line 391 of file fbplug.h.

bool mSDKComponent [protected]

bool Plug is an SDK component.

Definition at line 392 of file fbplug.h.


The documentation for this class was generated from the following file:

FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug
FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug FBPlug