FBRenderer Class Reference
 
 
 
FBRenderer Class Reference

This reference page is linked to from the following overview topics: FBSystem - The System Class, Updated Objects, MotionBuilder 2013, FBCamera - Cameras, MotionBuilder 2014.


#include <fbrenderer.h>


Class Description

Open Reality renderer interface.

Definition at line 438 of file fbrenderer.h.

Inheritance diagram for FBRenderer:
FBComponent FBPlug FBWrapperHolder

Public Member Functions

  FBRenderer (HIObject pObject)
  Constructor.
void  SetViewport (int pX, int pY, int pW, int pH)
  Must be called before inputing if the same renderer is used on multiple views/cameras in the same application.
bool  RenderBegin (int pX, int pY, int pW, int pH)
  RenderBegin.
bool  RenderEnd (FBView *pView=NULL)
  RenderEnd.
bool  PreRender (int pLayer=-1)
  PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and must be called every time a render is called the typical order of call must be Renderer->Prerender // at this point the frame buffer is garbage.
bool  Render (int pLayer=-1)
  Renders one frame.
void  OGLSetupSceneLights (FBRenderOptions &pRenderOptions)
  Setup the scene lights in OpenGL.
void  OGLModelDisplay (FBRenderOptions &pRenderOptions, FBModel &pModel)
bool  SetViewingOptions (FBViewingOptions &pOptions)
  Set the viewing options.
FBViewingOptions GetViewingOptions ()
  Obtain the current viewing options.
bool  FrameCurrentCameraWithModels (bool pAll)
  Frame the current camera either with all models or with the currently selected models.
bool  MouseInput (int pX, int pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pLayer=-1)
  Mouse input.
bool  MouseInputNormalized (float pX, float pY, FBInputType pInputType, int pButtonKey, FBInputModifier pModifier, int pLayer=-1, int pPaneId=-1)
  Mouse input.
bool  Pick (int pX, int pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false)
  Object picking selection.
bool  PickNormalized (float pX, float pY, FBPickInfosList &pPickInfosList, bool pNeedIntersectPosition=false, int pPaneId=-1)
  Object picking selection.
bool  RectPick (int pX1, int pY1, int pX2, int pY2, FBPickInfosList &pPickInfosList)
  Object rectangle selection.
bool  RectPickNormalized (float pX1, float pY1, float pX2, float pY2, FBPickInfosList &pPickInfosList, int pPaneId=-1)
  Object rectangle selection.
int  GetLastPickInfoList (FBPickInfosList &pPickInfosList)
  Return the last picking info list in the current view pane.
void  KeyboardInput (FBDeviceKeyboardKey pKeyIndex, bool pKeyState, bool pIsTrigger=false)
  Keyboard input.
FBModel GetDisplayableGeometry (int pIndex)
  Get the displayable geometry model.
FBLight GetDisplayableLight (int pIndex)
  Get the displayable light.
const FBModelList GetDisplayableGeometryInCameraFrustum (FBModelList *pModelList=NULL, FBCamera *pCamera=NULL)
  Get a list of displayable geometry inside given camera's frustum.
bool  IsModelInsideCameraFrustum (FBModel *pGeometry, FBCamera *pCamera=NULL)
  To tell if given model is located inside camera's frustum.
virtual bool  FBCreate ()
  Open Reality Creation function.
virtual void  FBDestroy ()
  Open Reality destruction function.
virtual void  FBDelete () override
  Open Reality deletion function.
virtual bool  SetHIObject (HIObject pObject, bool pSDKComponent) override
  Assign component to an internal pointer.
virtual int  PropertyAdd (FBProperty *pProperty)
  Add a property to the component's property manager.
bool  PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
  Add a reference property to the component's property manager.
void  PropertyRemove (FBProperty *pProperty)
  Remove a Property from the component's Property manager.
void  PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
  Get list of properties which have been modified since last loading.
FBProperty PropertyCreate (const char *pName, FBPropertyType pType, const 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.
bool  ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessNamespaceHierarchy.
bool  ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessObjectNamespace.
virtual const char *  ClassName () override
  Get the class name.
virtual bool  UseCustomPropertyViewSet () const
  Use the custom property viewSet or not.
const char *  GetFullName (void)
  Get the full name.
void  SetOwnerNamespace (FBNamespace *pOwnerNSObj)
  Set the owner Namespace object.
FBNamespace GetOwnerNamespace (void)
  Get the owner Namespace object.
FBFileReference GetOwnerFileReference (void)
  Get the owner FileReference object.
void  HardSelect ()
  HardSelect.
  IObject_Declare (K_IMPLEMENTATION)
  ICallback_Declare (K_IMPLEMENTATION)
virtual bool  Is (int pTypeId)
  Returns true if object is of type TypeId.
virtual int  GetTypeId ()
  GetTypeId( int pTypeId )
void  KObjectEvent (HIRegister pView, HKEventBase pEvent)
virtual HIObject  GetHIObject () const
  Return 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.
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.
void  SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
  Set the plug's status flag.
bool  GetStatusFlag (FBPlugStatusFlag pStatus) const
  Tell if the plug's status has changed.
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 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.
FBScriptWrapper GetWrapper ()
  Return the wrapper interface of this FBObject.
void  AddWrapper (FBScriptWrapper *)
void  RemoveWrapper (FBScriptWrapper *)
void *  operator new (size_t stAllocateBlock)
void *  operator new (size_t stAllocateBlock, int blockType, const char *filename, int linenumber)
void  operator delete (void *pvMem)
void  RegisterPropertyEvent (FBPropertyEvent *pPropertyEvent)
void  UnregisterPropertyEvent (FBPropertyEvent *pPropertyEvent)
void  InvalidatePropertyEventsParents ()

Static Public Member Functions

static int  GetInternalClassId ()
static void  FBComponentSetName (FBComponent *pObject, const char *pName)
static const char *  FBComponentGetName (FBComponent *pObject)
static void  FBComponentSetLongName (FBComponent *pObject, const char *pName)
static const char *  FBComponentGetLongName (FBComponent *pObject)
static void  PrintClassDefinitions ()
  Print out internal Class (ID) Definition table.

Public Attributes

FBPropertyCamera  CurrentCamera
  Read Write Property: Current camera.
FBPropertyBool  UseCameraSwitcher
  Read Write Property: Activate/Deactivate usage of camera switcher for the first model view of main viewer.
FBPropertyManipulatorTransform  ManipulatorTransform
  Read Only Property: Manipulator responsible of moving objects
FBPropertyListManipulator  Manipulators
  List: of manipulators.
FBPropertyScene  Scene
  Read Write Property: Scene that the renderer will use/draw
FBPropertyBool  AutoEvaluate
  Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene.
FBPropertyBool  Background
  Read Write Property: The renderer.
FBPropertyBool  ShowStats
  Read Write Property: Show the stats about FPS, Evaluation rate ...
FBPropertyBool  FrustumCulling
  Read Write Property: Turn on/off the early frustum culling optimization.
FBPropertyBool  DisplayNormals
  Read Write Property: Display model normals in main viewer.
FBPropertyBool  IDBufferPicking
  Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking.
FBPropertyDouble  IDBufferPickingAlpha
  Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this threshold, will be considered as invisible during ID picking.
FBPropertyBool  IDBufferDisplay
  Read write Property: Render Model's unique Color ID into color Buffer (used for picking)
FBPropertyBool  SelectionOverride
  Read write Property: Add transparent color override layer on selected models if true.
FBPropertyDouble  SelectionOverrideTransparency
  Read write Property: Selection override layer transparency.
FBPropertyColor  SelectionOverrideColor
  Read write Property: Selection override layer color.
FBPropertyBool  SelectionForceSnapPointsDisplay
  Read write Property: Force show all feature points (pivots and etc) on selected models if true, ignore individual model's settings.
FBPropertyInt  DisplaySetUpdateId
  Read Only Property: Current DisplaySet Update Id.
FBPropertyInt  RendererUpdateId
  Read Only Property: Current Render Update Id.
FBPropertyInt  DisplayableGeometryCount
  Read Only Property: Displayable geometry count.
FBPropertyInt  DisplayableLightCount
  Read Only Property: Displayable light count.
FBPropertyListRendererCallback  RendererCallbacks
  List: Renderer Callbacks attached.
FBPropertyInt  RegisteredCallbackCount
  Read Only Property: Registered Renderer Callback Count.
FBPropertyInt  CurrentPaneCallbackIndex
  Read Write Property: Current Pane's Renderer Callback Index.
FBPropertyInt  CurrentPaneCallbackPrefIndex
  Read Write Property: Current Pane's Renderer Callback Preference Index.
FBPropertyBool  AdvancedMaterialMode
  Read write Property: Turn on/off advanced material setting UI widgets.
FBPropertyBool  AdvancedLightingMode
  Read write Property: Turn on/off advanced lighting setting UI widgets.
DataFBComponent *  mLocalPtr
  Handle on DataFBComponent.
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.
bool  mAllocated
  Contain the Allocation State of the Component.

Static Public Attributes

static int  TypeInfo
  Contains the Type information of the object.
static const char *  ClassGroupName
  ClassGroupName of the object.

Protected Attributes

FBString  mName
  Name of the component.
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

K_DLLIMPORT friend int  __FBRegisterTypeInfo (int pInternalClassId)
  __FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.

Constructor & Destructor Documentation

FBRenderer::FBRenderer ( HIObject  pObject )

Constructor.

Client code cannot instantiate objects of this class. The FBSystem and FBScene classes provide access to the current renderer.

Parameters:
pObject For internal use only.

Member Function Documentation

void FBRenderer::SetViewport ( int  pX,
int  pY,
int  pW,
int  pH 
)

Must be called before inputing if the same renderer is used on multiple views/cameras in the same application.

Parameters:
pX X position where to render.
pY Y position where to render.
pW Width of render area.
pH Hight of render area.
bool FBRenderer::RenderBegin ( int  pX,
int  pY,
int  pW,
int  pH 
)

RenderBegin.

Parameters:
pX X position where to render.
pY Y position where to render.
pW Width of render area.
pH Hight of render area.

must be called before rendering can happen

bool FBRenderer::RenderEnd ( FBView pView = NULL )

RenderEnd.

Parameters:
pView If you want the renderer to draw artifacts, such as TimeCode, CameraLabel or SafeArea, you must provide the FBView on which the renderer draws on.
Remarks:
Must be called at the end of rendering.
bool FBRenderer::PreRender ( int  pLayer = -1 )

PreRenders one frame (needed for some shaders) This functions destroys the frame buffer content and must be called every time a render is called the typical order of call must be Renderer->Prerender // at this point the frame buffer is garbage.

-Clear the ogl -Do your render functions Renderer->Render

Parameters:
pLayer Rendering layer ID(default=-1).
Returns:
true if successful.
bool FBRenderer::Render ( int  pLayer = -1 )

Renders one frame.

Parameters:
pLayer Rendering layer ID(default=-1).
Returns:
true if successful.
void FBRenderer::OGLSetupSceneLights ( FBRenderOptions pRenderOptions )

Setup the scene lights in OpenGL.

Parameters:
pRenderOptions See FBRenderOptions for more detail.
void FBRenderer::OGLModelDisplay ( FBRenderOptions pRenderOptions,
FBModel pModel 
)

Display Model in OpenGL. For Internal testing purpose only.

Parameters:
pRendererOptions See FBRenderOptions for more detail.
pModel model to be displayed.
bool FBRenderer::SetViewingOptions ( FBViewingOptions pOptions )

Set the viewing options.

Parameters:
pOptions See FBViewingOptions for more detail.
FBViewingOptions* FBRenderer::GetViewingOptions ( )

Obtain the current viewing options.

Returns:
A structure that can be queried and updated for a call to SetViewingOptions.
bool FBRenderer::FrameCurrentCameraWithModels ( bool  pAll )

Frame the current camera either with all models or with the currently selected models.

Parameters:
pAll true to frame with all models.
Returns:
true if successful.
bool FBRenderer::MouseInput ( int  pX,
int  pY,
FBInputType  pInputType,
int  pButtonKey,
FBInputModifier  pModifier,
int  pLayer = -1 
)

Mouse input.

Parameters:
pX X position.
pY Y position.
pInputType Type of input.
pButtonKey Button/Key pressed.
pModifier Modifier pressed (CTRL/ALT/SHIFT).
pLayer Rendering layer ID(default=-1).
Returns:
true if successful.
bool FBRenderer::MouseInputNormalized ( float  pX,
float  pY,
FBInputType  pInputType,
int  pButtonKey,
FBInputModifier  pModifier,
int  pLayer = -1,
int  pPaneId = -1 
)

Mouse input.

Parameters:
pX X position, normalized to the range of [0, 1] in the view port dimension.
pY Y position, normalized to the range of [0, 1] in the view port dimension.
pInputType Type of input.
pButtonKey Button/Key pressed.
pModifier Modifier pressed (CTRL/ALT/SHIFT).
pLayer Rendering layer ID(default=-1).
pPaneId specify which pane's dimension used for normalization, default (-1) for the whole viewer.
Returns:
true if successful.
bool FBRenderer::Pick ( int  pX,
int  pY,
FBPickInfosList pPickInfosList,
bool  pNeedIntersectPosition = false 
)

Object picking selection.

Parameters:
pX X position.
pY Y position.
pPickInfosList The list of pick infos.
pNeedIntersectPosition require valid intersection position if true, this will take more time to process, and not reliable with very dense mesh.
bool FBRenderer::PickNormalized ( float  pX,
float  pY,
FBPickInfosList pPickInfosList,
bool  pNeedIntersectPosition = false,
int  pPaneId = -1 
)

Object picking selection.

Parameters:
pX X position, normalized to the range of [0, 1] in the view port dimension.
pY Y position, normalized to the range of [0, 1] in the view port dimension.
pPickInfosList The list of pick infos.
pNeedIntersectPosition require valid intersection position if true, this will take more time to process, and not reliable with very dense mesh.
pPaneId specify which pane's dimension used for normalization, default (-1) for the whole viewer.
bool FBRenderer::RectPick ( int  pX1,
int  pY1,
int  pX2,
int  pY2,
FBPickInfosList pPickInfosList 
)

Object rectangle selection.

Parameters:
pX1 Left upper corner X position.
pY1 Left upper corner y position.
pX2 Right bottom corner X position.
pY2 Right bottom corner y position.
pPickInfosList The list of pick infos.
bool FBRenderer::RectPickNormalized ( float  pX1,
float  pY1,
float  pX2,
float  pY2,
FBPickInfosList pPickInfosList,
int  pPaneId = -1 
)

Object rectangle selection.

Parameters:
pX1 Left upper corner X position, normalized to the range of [0, 1] in the viewport dimension.
pY1 Left upper corner y position, normalized to the range of [0, 1] in the viewport dimension.
pX2 Right bottom corner X position, normalized to the range of [0, 1] in the viewport dimension.
pY2 Right bottom corner y position, normalized to the range of [0, 1] in the viewport dimension.
pPickInfosList The list of pick infos.
pPaneId specify which pane's dimension used for normalization, default (-1) for the whole viewer.
int FBRenderer::GetLastPickInfoList ( FBPickInfosList pPickInfosList )

Return the last picking info list in the current view pane.

Parameters:
pPickInfosList The list of pick infos.
Returns:
number of item in the list.
void FBRenderer::KeyboardInput ( FBDeviceKeyboardKey  pKeyIndex,
bool  pKeyState,
bool  pIsTrigger = false 
)

Keyboard input.

Parameters:
pKeyIndex Key index. (See "enum FBDeviceKeyboardKey" above for supported keys)
pKeyState Key state. (True == key is down, False == key is up)
pIsTrigger When setting pKeyState to True, resets key state to False right after operation.
FBModel* FBRenderer::GetDisplayableGeometry ( int  pIndex )

Get the displayable geometry model.

Those geometry models which have Show property ON are considered as "displayable".

Parameters:
pIndex displayable geometry model index to query.
Returns:
displayable geometry model.
FBLight* FBRenderer::GetDisplayableLight ( int  pIndex )

Get the displayable light.

Those light models which have Show property ON are considered as "displayable".

Parameters:
pIndex displayable light index to query.
Returns:
displayable light.
const FBModelList& FBRenderer::GetDisplayableGeometryInCameraFrustum ( FBModelList pModelList = NULL,
FBCamera pCamera = NULL 
)

Get a list of displayable geometry inside given camera's frustum.

This function will return conservative result. It's possible for some geometry outside of the frustum will be considered to be visible, but it will not skip any real visible geometry. This function should only be called in the main rendering thread.

Parameters:
pModelList ModelList holding the return models.
pCamera use current camera if NULL.
Returns:
Reference to pModelList. if pModelList is NULL return a const reference to internal static FBModelList and consecutive call to this function will invalidate the result of previous call.
bool FBRenderer::IsModelInsideCameraFrustum ( FBModel pGeometry,
FBCamera pCamera = NULL 
)

To tell if given model is located inside camera's frustum.

This function will return conservative result. It's possible for some geometry outside of the frustum will be considered to be visible, but it will not skip any real visible geometry. This function should only be called in the main rendering thread.

Parameters:
pGeometry the geometry to be queried.
pCamera use current camera if NULL.
Returns:
true if Model is inside camera frustum.
FBComponent::GetInternalClassId ( ) [static, inherited]
Returns:
Internal class Id

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

virtual bool FBComponent::FBCreate ( ) [virtual, inherited]
virtual void FBComponent::FBDestroy ( ) [virtual, inherited]
virtual bool FBComponent::SetHIObject ( HIObject  pObject,
bool  pSDKComponent 
) [override, virtual, inherited]

Assign component to an internal pointer.

Reimplemented from FBPlug.

virtual int FBComponent::PropertyAdd ( FBProperty pProperty ) [virtual, inherited]

Add a property to the component's property manager.

Parameters:
pProperty The property to add to the property manager.
Returns:
Index in the property array where property was inserted.
bool FBComponent::PropertyAddReferenceProperty ( FBProperty pReferenceProperty ) [inherited]

Add a reference property to the component's property manager.

Parameters:
pReferenceProperty The property to from an other object to add a reference to (property cannot be a custom ORSDK property).
Returns:
True if the reference property could be added.
void FBComponent::PropertyRemove ( FBProperty pProperty ) [inherited]

Remove a Property from the component's Property manager.

If the property was dynamically allocated, it is deleted.

Parameters:
pProperty The property to remove from the property manager.
void FBComponent::PropertyGetModifiedList ( FBArrayTemplate< FBProperty * > &  pPropList,
FBPlugModificationFlag  pModificationFlags 
) [inherited]

Get list of properties which have been modified since last loading.

Parameters:
pPropList property list to hold the modified properties.
pModificationFlags type of modification to query.
FBProperty* FBComponent::PropertyCreate ( const char *  pName,
FBPropertyType  pType,
const char *  pDataType,
bool  pAnimatable,
bool  pIsUser = false,
FBProperty pReferenceSource = NULL 
) [inherited]

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.
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 FBComponent::GetObjectFlags ( ) [inherited]

Get all Object Flags (concatenated).

Returns:
Get all object flags in one call. Flags can be concatenated.
void FBComponent::SetObjectFlags ( FBObjectFlag  pFlags ) [inherited]

SetObjectFlags.

Parameters:
pFlags Set flag values. Note: this function overwrites all flags with those passed in parameter.
bool FBComponent::HasObjectFlags ( FBObjectFlag  pFlags ) [inherited]

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 FBComponent::EnableObjectFlags ( FBObjectFlag  pFlags ) [inherited]

Enable a specific Object Flags.

Parameters:
pFlags Flags to enable.
void FBComponent::DisableObjectFlags ( FBObjectFlag  pFlags ) [inherited]

Disable a specific Object Flags.

Parameters:
pFlags Flags to disable.
void FBComponent::SetObjectStatus ( FBObjectStatus  pStatus,
bool  pValue 
) [inherited]

Enable/Disable a specific Object Status.

Parameters:
pStatus Status to change.
pValue Value to change the status to.
bool FBComponent::GetObjectStatus ( FBObjectStatus  pStatus ) [inherited]

Check to see if an object status is enabled.

Parameters:
pStatus Status to query.
bool FBComponent::ProcessNamespaceHierarchy ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
) [inherited]

ProcessNamespaceHierarchy.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. 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.
Returns:
return true if process successful.
bool FBComponent::ProcessObjectNamespace ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
) [inherited]

ProcessObjectNamespace.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. This function is the same as ProcessNamespaceHierarchy except that it applies only on the current object and not to the object's children.

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.
Returns:
return true if process successful.
virtual const char* FBComponent::ClassName ( ) [override, virtual, inherited]

Get the class name.

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

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

virtual bool FBComponent::UseCustomPropertyViewSet ( ) const [inline, virtual, inherited]

Use the custom property viewSet or not.

To have custom property view for custom subclass, modification bin/config/propertyview.fbx is required.

Returns:
False if to use internal corresponding object's viewSet of the parent class.

Definition at line 791 of file fbcomponent.h.

{ return true; }
const char* FBComponent::GetFullName ( void  ) [inherited]

Get the full name.

Returns:
the full name of the component.
void FBComponent::SetOwnerNamespace ( FBNamespace pOwnerNSObj ) [inherited]

Set the owner Namespace object.

FBNamespace* FBComponent::GetOwnerNamespace ( void  ) [inherited]

Get the owner Namespace object.

Returns:
the owner Namespace object
FBFileReference* FBComponent::GetOwnerFileReference ( void  ) [inherited]

Get the owner FileReference object.

Returns:
the owner FileReference object
void FBComponent::HardSelect ( ) [inherited]

HardSelect.

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

void* FBComponent::operator new ( size_t  stAllocateBlock ) [inherited]
void* FBComponent::operator new ( size_t  stAllocateBlock,
int  blockType,
const char *  filename,
int  linenumber 
) [inherited]
void FBComponent::operator delete ( void *  pvMem ) [inherited]
void FBComponent::RegisterPropertyEvent ( FBPropertyEvent pPropertyEvent ) [inherited]
void FBComponent::UnregisterPropertyEvent ( FBPropertyEvent pPropertyEvent ) [inherited]
void FBComponent::InvalidatePropertyEventsParents ( ) [inherited]
FBComponent::ICallback_Declare ( K_IMPLEMENTATION  ) [inherited]

Reimplemented from FBPlug.

Reimplemented in FBModel, and FBVisualComponent.

virtual bool FBComponent::Is ( int  pTypeId ) [virtual, inherited]

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 FBComponent::GetTypeId ( ) [virtual, inherited]

GetTypeId( int pTypeId )

Returns:
The TypeInfo of the object

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

static void FBComponent::FBComponentSetName ( FBComponent pObject,
const char *  pName 
) [static, inherited]
static const char* FBComponent::FBComponentGetName ( FBComponent pObject ) [static, inherited]
static void FBComponent::FBComponentSetLongName ( FBComponent pObject,
const char *  pName 
) [static, inherited]
static const char* FBComponent::FBComponentGetLongName ( FBComponent pObject ) [static, inherited]
void FBComponent::KObjectEvent ( HIRegister  pView,
HKEventBase  pEvent 
) [inherited]
virtual HIObject FBPlug::GetHIObject ( ) const [virtual, inherited]

Return an internal pointer.

bool FBPlug::IsSDKComponent ( ) [inherited]

Return whether or not item is an SDK component.

bool FBPlug::ConnectSrc ( FBPlug pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

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 FBPlug::ConnectDst ( FBPlug pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

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 FBPlug::ConnectSrcAt ( int  pDst_SrcIndex,
FBPlug pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a source connection.

Parameters:
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.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::ConnectDstAt ( int  pSrc_DstIndex,
FBPlug pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a destination connection.

Parameters:
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.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::DisconnectDst ( FBPlug pDst ) [inherited]

Remove a destination connection.

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

Remove a source connection.

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

Remove all source connections.

void FBPlug::DisconnectAllDst ( ) [inherited]

Remove all destination connections.

bool FBPlug::DisconnectDstAt ( int  pIndex ) [inherited]

Remove a destination connection at a specified index.

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

Remove a source connection at a specified index.

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

Replace a destination connection at a specified 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 FBPlug::ReplaceSrcAt ( int  pIndex,
FBPlug pSrc 
) [inherited]

Replace a source connection at a specified 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 FBPlug::SwapSrc ( int  pIndexA,
int  pIndexB 
) [inherited]

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 FBPlug::MoveSrcAt ( int  pIndex,
int  pAtIndex 
) [inherited]

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 FBPlug::MoveSrcAt ( FBPlug pSrc,
FBPlug pAtSrc 
) [inherited]

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 FBPlug::GetSrcCount ( ) [inherited]

Get source connection count.

Returns:
Total sources connections count.
FBPlug* FBPlug::GetSrc ( int  pIndex ) [inherited]

Get a source connection's plug at specified index.

Parameters:
pIndex Index of the source connection's plug.
Returns:
Source plug at specified index.
FBConnectionType FBPlug::GetSrcType ( int  pIndex ) [inherited]

Get a source connection's type at specified index.

Parameters:
pIndex Index of the source connection's type.
Returns:
Source connection's type at specified index.
int FBPlug::GetDstCount ( ) [inherited]

Get destination connection count.

Returns:
Total destinations connections count.
FBPlug* FBPlug::GetDst ( int  pIndex ) [inherited]

Get a destination connection's plug at specified index.

Parameters:
pIndex Index of the destination connection's plug.
Returns:
Destination plug at specified index.
FBConnectionType FBPlug::GetDstType ( int  pIndex ) [inherited]

Get a destination connection's type at specified index.

Parameters:
pIndex Index of the destination connection's type.
Returns:
Destination connection's type at specified index.
bool FBPlug::BeginChange ( ) [inherited]

Begins a change on multiple plugs.

Returns:
A boolean indicating success (True) or failure (False).
void FBPlug::EndChange ( ) [inherited]

Ends a change on multiple plugs.

void FBPlug::SetSelfModified ( FBPlugModificationFlag  pFlag,
bool  pBool 
) [inherited]

Set the plug's self modification flag.

Parameters:
pFlag bitwise AND of self modification flags.
pBool true if self changed.
bool FBPlug::GetSelfModified ( FBPlugModificationFlag  pFlag ) [inherited]

Tell if the plug's self has changed.

Parameters:
pFlag bitwise AND of self modification flags.
Returns:
true if self changed
void FBPlug::SetContentModified ( FBPlugModificationFlag  pFlag,
bool  pBool 
) [inherited]

Set the plug's owned property/object's modification flag.

Parameters:
pFlag bitwise AND of content modification flags.
pBool true if content has modification.
bool FBPlug::GetContentModified ( FBPlugModificationFlag  pFlag ) [inherited]

Tell if the plug's content has changed.

Parameters:
pFlag bitwise AND of content modification flags.
Returns:
true if content connection changed.
int FBPlug::GetPlugConnectionModifiedList ( FBPlugList pPlugList,
FBPlugModificationFlag  pConnectionModificatonFlag,
bool  pAddRemove 
) [inherited]

Get plug's modified src/dst property/object connection added/removed List.

Parameters:
pPlugList plug list to fill up.
pConnectionModificatonFlag Src/Dst Property/Object connection modification flag.
pAddRemove Ask for the added list if true, removed list if false.
Returns:
count of list;
bool FBPlug::RevertModification ( FBPlugModificationFlag  pFlag = kFBAllModifiedMask ) [inherited]

Revert the plug's modification to original status.

Parameters:
pFlag the type of modification to be reverted.
Returns:
true if revert successfully.
void FBPlug::SetStatusFlag ( FBPlugStatusFlag  pStatus,
bool  pValue 
) [inherited]

Set the plug's status flag.

Parameters:
pStatus bitwise AND of status flags.
pValue true if status has modification.
bool FBPlug::GetStatusFlag ( FBPlugStatusFlag  pStatus ) const [inherited]

Tell if the plug's status has changed.

Parameters:
pStatus bitwise AND of self modification flags.
Returns:
true if self changed
FBPlug* FBPlug::GetOwner ( ) [inherited]

Get the owner of this plug.

Very useful for properties since they are plugs too.

Returns:
The owner of this plug.
FBPlug* FBPlug::GetOwned ( int  pIndex ) [inherited]

Get the owned plug at specified index.

Parameters:
pIndex Index of the owned plug to get.
Returns:
The owned plug at specified index.
int FBPlug::GetOwnedCount ( ) [inherited]

Get the owned plug count.

Returns:
The owned plug count.
virtual bool FBPlug::PlugDataNotify ( FBConnectionAction  pAction,
FBPlug pThis,
void *  pData = NULL,
void *  pDataOld = NULL,
int  pDataSize = 0 
) [virtual, inherited]

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 FBPlug::PlugStateNotify ( FBConnectionAction  pAction,
FBPlug pThis,
void *  pData = NULL,
void *  pDataOld = NULL,
int  pDataSize = 0 
) [virtual, inherited]

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 FBPlug::PlugNotify ( FBConnectionAction  pAction,
FBPlug pThis,
int  pIndex,
FBPlug pPlug = NULL,
FBConnectionType  pConnectionType = kFBConnectionTypeNone,
FBPlug pNewPlug = NULL 
) [virtual, inherited]

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)
static void FBPlug::PrintClassDefinitions ( ) [static, inherited]

Print out internal Class (ID) Definition table.

For internal debug purpose only.

FBScriptWrapper* FBWrapperHolder::GetWrapper ( ) [inherited]

Return the wrapper interface of this FBObject.

void FBWrapperHolder::AddWrapper ( FBScriptWrapper ) [inherited]
void FBWrapperHolder::RemoveWrapper ( FBScriptWrapper ) [inherited]

Friends And Related Function Documentation

K_DLLIMPORT friend int __FBRegisterTypeInfo ( int  pInternalClassId ) [friend, inherited]

__FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.


Member Data Documentation

FBPropertyCamera FBRenderer::CurrentCamera

Read Write Property: Current camera.

if UseCameraSwitcher is on, this will Get/Set camera switcher's current camera;

Definition at line 637 of file fbrenderer.h.

Read Write Property: Activate/Deactivate usage of camera switcher for the first model view of main viewer.

Definition at line 638 of file fbrenderer.h.

FBPropertyManipulatorTransform FBRenderer::ManipulatorTransform

Read Only Property: Manipulator responsible of moving objects

Definition at line 641 of file fbrenderer.h.

FBPropertyScene FBRenderer::Scene

Read Write Property: Scene that the renderer will use/draw

Definition at line 645 of file fbrenderer.h.

Read Write Property: Indicate if a call to RenderBegin will also cause a re-evaluation of the scene.

Definition at line 646 of file fbrenderer.h.

Read Write Property: The renderer.

Definition at line 647 of file fbrenderer.h.

Read Write Property: Show the stats about FPS, Evaluation rate ...

like when using Shift-F in main viewer.

Definition at line 648 of file fbrenderer.h.

Read Write Property: Turn on/off the early frustum culling optimization.

Definition at line 649 of file fbrenderer.h.

Read Write Property: Display model normals in main viewer.

Definition at line 650 of file fbrenderer.h.

Read write Property: Use ID (Color) Buffer for picking, instead of OpenGl selection buffer picking.

Definition at line 651 of file fbrenderer.h.

Read write Property: Those Semi-transparent (Alpha Blend) geometry(region) contribute less than this threshold, will be considered as invisible during ID picking.

Definition at line 652 of file fbrenderer.h.

Read write Property: Render Model's unique Color ID into color Buffer (used for picking)

Definition at line 653 of file fbrenderer.h.

Read write Property: Add transparent color override layer on selected models if true.

Definition at line 654 of file fbrenderer.h.

Read write Property: Selection override layer transparency.

Definition at line 655 of file fbrenderer.h.

Read write Property: Selection override layer color.

Definition at line 656 of file fbrenderer.h.

Read write Property: Force show all feature points (pivots and etc) on selected models if true, ignore individual model's settings.

Definition at line 657 of file fbrenderer.h.

Read Only Property: Current DisplaySet Update Id.

Add/Delete models, Show/Hide models will affect DisplaySet.

Definition at line 658 of file fbrenderer.h.

Read Only Property: Current Render Update Id.

DisplaySet update, material change, texture changes and shader change and other operations will trigger Renderer update.

Definition at line 659 of file fbrenderer.h.

Read Only Property: Displayable geometry count.

Definition at line 660 of file fbrenderer.h.

Read Only Property: Displayable light count.

Definition at line 661 of file fbrenderer.h.

List: Renderer Callbacks attached.

Definition at line 662 of file fbrenderer.h.

Read Only Property: Registered Renderer Callback Count.

Definition at line 663 of file fbrenderer.h.

Read Write Property: Current Pane's Renderer Callback Index.

Definition at line 664 of file fbrenderer.h.

Read Write Property: Current Pane's Renderer Callback Preference Index.

Definition at line 665 of file fbrenderer.h.

Read write Property: Turn on/off advanced material setting UI widgets.

Note:
MoBu default render won't utilize those advanced material properties, they're provided for pipeline interop and custom plugin development purpose.

Definition at line 670 of file fbrenderer.h.

Read write Property: Turn on/off advanced lighting setting UI widgets.

Include UI widgets for various advanced lighting setting, includes: Light: area light, spot light inner/outer angles, barndoors and etc.,; Model: PrimaryVisibility, CastsShadows and ReceiveShadows.

MoBu default render doesn't utilize those advanced lighting properties, they're provided for pipeline interop and custom plugin development purpose. This property must been set to be true before creating any scene light or model objects to allow UI widgets display properly.

it's equivalent to the config item "AdvancedLightingUISetting" at [Rendering] section"

Definition at line 683 of file fbrenderer.h.

DataFBComponent* FBComponent::mLocalPtr [inherited]

Handle on DataFBComponent.

Reimplemented in FBCustomManager.

Definition at line 650 of file fbcomponent.h.

FBString FBComponent::mName [protected, inherited]

Name of the component.

Definition at line 653 of file fbcomponent.h.

int FBComponent::TypeInfo [static, inherited]

Contains the Type information of the object.

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

Definition at line 658 of file fbcomponent.h.

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

Definition at line 838 of file fbcomponent.h.

List: List of components.

Reimplemented in FBScene, and FBPropertyInspector.

Definition at line 839 of file fbcomponent.h.

List: Parents.

Definition at line 840 of file fbcomponent.h.

Read Write Property: Selected property.

Definition at line 841 of file fbcomponent.h.

Read Write Property: Unique name of object.

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

Definition at line 842 of file fbcomponent.h.

Read Write Property: Name and namespace for object.

Definition at line 843 of file fbcomponent.h.

FBPropertyFolder FBComponent::Folder [inherited]

Read Write Property: The folder that contain this component.

Definition at line 846 of file fbcomponent.h.

KObject* FBComponent::mDummyObject [inherited]

Internal Dummy Object for non KObject Components.

Definition at line 871 of file fbcomponent.h.

const char* FBPlug::ClassGroupName [static, inherited]

ClassGroupName of the object.

Definition at line 444 of file fbplug.h.

bool FBPlug::mAllocated [inherited]

Contain the Allocation State of the Component.

Definition at line 450 of file fbplug.h.

int FBPlug::mGlobalTypeInfo [static, protected, inherited]

Represente the Type Index.

Definition at line 500 of file fbplug.h.

HIObject FBPlug::mObject [protected, inherited]

Handle on the Plug.

Definition at line 502 of file fbplug.h.

bool FBPlug::mSDKComponent [protected, inherited]

bool Plug is an SDK component.

Definition at line 503 of file fbplug.h.


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