FBModelVertexData Class Reference
 
 
 
FBModelVertexData Class Reference

This reference page is linked to from the following overview topics: Updated Objects, Viewport Picking, Selection, and Manipulation.


#include <fbmodel.h>


Class Description

Definition at line 972 of file fbmodel.h.

Inheritance diagram for FBModelVertexData:
FBComponent FBPlug FBWrapperHolder

Public Member Functions

bool  IsDeformable ()
  Return true if the model is deformable.
bool  IsDrawable ()
  Queries if this model should be drawn, e.g., in custom render callback.
int  GetVertexCount ()
  Return the Vertex Count.
void  PushZDepthClipOverride ()
  Disables Z-Depth clip plane if this model is selected using Z-Depth HideFront selection tool.
void  PopZDepthClipOverride ()
  Re-enables Z-Depth clip plane if it had been disabled via PushZDepthClipOverride().
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 *)
Sub Patch Management. Each sub patch contain same type of primitives mapped with same material.
int  GetSubPatchCount ()
  Return number of sub patches.
int  GetSubPatchMaterialId (int pSubPatchIndex)
  Return the mapped material for this sub patch.
FBMaterial GetSubPatchMaterial (int pSubPatchIndex)
  Return the mapped material for this sub patch.
FBGeometryPrimitiveType  GetSubPatchPrimitiveType (int pSubPatchIndex, bool *pIsOptimized=NULL)
  Return the primitive type for this sub patch.
int  GetSubPatchIndexOffset (int pSubPatchIndex)
  Return the start offset of the indexes for this sub patch (see GetIndexArray()).
int  GetSubPatchIndexSize (int pSubPatchIndex)
  Return the size of the indexes for this sub patch (see GetIndexArray()).
void  DrawSubPatch (int pSubPatchIndex, bool pWireFrame=false)
  Draw Sub Patch.
Sub Regions Management. Each Sub Regions are composed by one or several patches which

are composed with same material.

int  GetSubRegionCount ()
  Return number of sub regions (mapping with different materials)
FBMaterial GetSubRegionMaterial (int pSubRegionIndex)
  Return sub region's material.
void  DrawSubRegion (int pSubRegionIndex, bool pWireFrame=false)
  Draw Sub Region.
Vertex Array Management
void  EnableOGLVertexData (bool pAfterdeform=true)
  Enable (Setup) OpenGL Vertex Array (Pos & Normal)
void  DisableOGLVertexData ()
  Disable OpenGL Vertex Array (Pos & Normal)
void  VertexArrayMappingRequest ()
  Request deformed vertex array mapping on CPU.
void  VertexArrayMappingRelease ()
  Release deformed vertex array mapping on CPU.
const int *  GetVertexArrayDuplicationMap (unsigned int &pDuplicatedVertexCound)
  The FBModel::TessellatedMesh could contain per-face mapping UVset/Normal or other layer elements.
int *  GetIndexArray ()
  Return Index Array.
unsigned int  GetIndexArrayVBOId ()
  Return Index Array VBO Id.
FBGeometryArrayElementType  GetVertexArrayType (FBGeometryArrayID pArrayId, bool pAfterDeform=true)
  Return Vertex Array Format.
void *  GetVertexArray (FBGeometryArrayID pArrayId, bool pAfterDeform=true)
  Return Vertex Array Pointer.
unsigned int  GetVertexArrayVBOId (FBGeometryArrayID pArrayId, bool pAfterDeform=true)
  Return Vertex Buffer Object (VBO) Id for the request array.
void *  GetVertexArrayVBOOffset (FBGeometryArrayID pArrayId, bool pAfterDeform=true)
  Return Vertex Buffer Object (VBO) offset for the request array.
UVset Array Management
void  EnableOGLUVSet (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
  Enable (Setup) OpenGL UV Set Array.
void  DisableOGLUVSet ()
  Disable OpenGL UV Set Array.
FBGeometryArrayElementType  GetUVSetArrayFormat (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
  Return UV Array Format.
void *  GetUVSetArray (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
  Return UV Array Pointer.
unsigned int  GetUVSetVBOId (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
  Return UVSet Buffer Object (VBO) Id.
void *  GetUVSetVBOOffset (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL)
  Return UVSet Buffer Object (VBO) offset.
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

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 Member Functions

  FBModelVertexData (FBModel *pModel)

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

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

Constructor & Destructor Documentation

FBModelVertexData::FBModelVertexData ( FBModel pModel ) [protected]

Member Function Documentation

bool FBModelVertexData::IsDeformable ( )

Return true if the model is deformable.

bool FBModelVertexData::IsDrawable ( )

Queries if this model should be drawn, e.g., in custom render callback.

Returns false if e.g., deformed vertex data has not been computed for this frame(thus not ready to be drawn), or if model should be hidden when Z-Depth selection tool is active.

int FBModelVertexData::GetVertexCount ( )

Return the Vertex Count.

int FBModelVertexData::GetSubPatchCount ( )

Return number of sub patches.

int FBModelVertexData::GetSubPatchMaterialId ( int  pSubPatchIndex )

Return the mapped material for this sub patch.

FBMaterial* FBModelVertexData::GetSubPatchMaterial ( int  pSubPatchIndex )

Return the mapped material for this sub patch.

FBGeometryPrimitiveType FBModelVertexData::GetSubPatchPrimitiveType ( int  pSubPatchIndex,
bool *  pIsOptimized = NULL 
)

Return the primitive type for this sub patch.

Most of the time, kFBGeometry_TRIANGLES will return.

Parameters:
pSubPatchIndex Index of sub patch to be queried.
pIsOptimized Out parameter, return true if this sub patch is optimized for fast rendering, custom shader & render should use the optimized subpatch only
Returns:
The primitive type of the queried sub patch.
int FBModelVertexData::GetSubPatchIndexOffset ( int  pSubPatchIndex )

Return the start offset of the indexes for this sub patch (see GetIndexArray()).

int FBModelVertexData::GetSubPatchIndexSize ( int  pSubPatchIndex )

Return the size of the indexes for this sub patch (see GetIndexArray()).

void FBModelVertexData::DrawSubPatch ( int  pSubPatchIndex,
bool  pWireFrame = false 
)

Draw Sub Patch.

Must be called between Enable/DisableOGLVertexData function calls.

Parameters:
pSubPatchIndex Index of sub region to be drawn.
pWireFrame draw wire frame if true.
int FBModelVertexData::GetSubRegionCount ( )

Return number of sub regions (mapping with different materials)

FBMaterial* FBModelVertexData::GetSubRegionMaterial ( int  pSubRegionIndex )

Return sub region's material.

Parameters:
pSubRegionIndex Index of the sub region.
void FBModelVertexData::DrawSubRegion ( int  pSubRegionIndex,
bool  pWireFrame = false 
)

Draw Sub Region.

Must be called between Enable/DisableOGLVertexData function calls.

Parameters:
pSubRegionIndex Index of sub region to be drawn.
pWireFrame draw wire frame if true.
void FBModelVertexData::PushZDepthClipOverride ( )

Disables Z-Depth clip plane if this model is selected using Z-Depth HideFront selection tool.

Call this function before drawing each model in custom render callback, so that the selected model is unaffected by the Z-Depth clip plane, and hence is visible when Z-Depth HideFront selection tool is active. Be sure to call PopZDepthClipOverride() after drawing each model.

void FBModelVertexData::PopZDepthClipOverride ( )

Re-enables Z-Depth clip plane if it had been disabled via PushZDepthClipOverride().

Call this function after drawing each model in custom render callback, so that Z-Depth clip plane is re-enabled if it was earlier disabled via PushZDepthClipOverride().

void FBModelVertexData::EnableOGLVertexData ( bool  pAfterdeform = true )

Enable (Setup) OpenGL Vertex Array (Pos & Normal)

void FBModelVertexData::DisableOGLVertexData ( )

Disable OpenGL Vertex Array (Pos & Normal)

void FBModelVertexData::VertexArrayMappingRequest ( )

Request deformed vertex array mapping on CPU.

Model's deformation computation could be executed on GPU, and thus the deformed vertex data will reside in GPU memory only by default. Calling this function VertexArrayMappingRequest() will ensure the deformed vertex array to be always mapped to CPU memory.

Note:
: this function should be called at least once before GetVertexArray(pArrayId, true) to give engine chance to process request properly.
void FBModelVertexData::VertexArrayMappingRelease ( )

Release deformed vertex array mapping on CPU.

call this function if plugin don't need CPU access of the deformed vertex array to be mapped on CPU memory anymore, hence allow the application flexbility to choose higher performance approach.

const int* FBModelVertexData::GetVertexArrayDuplicationMap ( unsigned int &  pDuplicatedVertexCound )

The FBModel::TessellatedMesh could contain per-face mapping UVset/Normal or other layer elements.

In order to build a valid VBO buffer for accelerated rendering, those control points with multiple attribute data must be duplicated. This function return the duplicated vertexes' ID mapping from FBModel::ModelVertexData vertex array to its FBModel::TessellatedMesh vertex array. Note those duplicated vertexs are always appended after the original vertex array.

Parameters:
pDuplicatedVertexCound return the count of those duplicated vertexs.
Returns:
A pointer to the original vertex ID mapping for those duplicated vertexs.
int* FBModelVertexData::GetIndexArray ( )

Return Index Array.

unsigned int FBModelVertexData::GetIndexArrayVBOId ( )

Return Index Array VBO Id.

FBGeometryArrayElementType FBModelVertexData::GetVertexArrayType ( FBGeometryArrayID  pArrayId,
bool  pAfterDeform = true 
)

Return Vertex Array Format.

Parameters:
pArrayId vertex array type to return.
pAfterDeform return deformed vertex array type if the model is deformable, pAfterDeform is true and deformation is occurred in CPU, otherwise return original.
Returns:
VertexArray Format.
Note:
Use VertexArrayMappingRequest() to toggle CPU / GPU skinning per model when necessary.
void* FBModelVertexData::GetVertexArray ( FBGeometryArrayID  pArrayId,
bool  pAfterDeform = true 
)

Return Vertex Array Pointer.

Parameters:
pArrayId vertex array type to return.
pAfterDeform return deformed vertex array if the model is deformable, pAfterDeform is true and deformation is occurred in CPU, otherwise return original.
Returns:
VertexArray Pointer. Deformed position & normal vertex arrays could be NULL if not request mapping vertex array.
Note:
Use VertexArrayMappingRequest() to toggle CPU / GPU skinning per model when necessary.
unsigned int FBModelVertexData::GetVertexArrayVBOId ( FBGeometryArrayID  pArrayId,
bool  pAfterDeform = true 
)

Return Vertex Buffer Object (VBO) Id for the request array.

Parameters:
pArrayId vertex array type to return.
pAfterDeform return deformed vertex array VBO Id if the model is deformable, pAfterDeform is true and deformation is occurred in CPU, otherwise return original.
Returns:
VertexArray VBO Id. Deformed position & normal vertex VBOId could be 0 is model use CPU skinning.
Note:
Use VertexArrayMappingRequest() to toggle CPU / GPU skinning per model when necessary.
void* FBModelVertexData::GetVertexArrayVBOOffset ( FBGeometryArrayID  pArrayId,
bool  pAfterDeform = true 
)

Return Vertex Buffer Object (VBO) offset for the request array.

Parameters:
pArrayId vertex array type to return.
pAfterDeform return deformed vertex array VBO offset if the model is deformable, pAfterDeform is true and deformation is occurred in CPU, otherwise return original.
Returns:
VertexArray VBO offset.
Note:
Use VertexArrayMappingRequest() to toggle CPU / GPU skinning per model when necessary.
void FBModelVertexData::EnableOGLUVSet ( FBTextureMapping  pTextureMapping = kFBTextureMappingUV,
const char *  pUVSet = NULL 
)

Enable (Setup) OpenGL UV Set Array.

void FBModelVertexData::DisableOGLUVSet ( )

Disable OpenGL UV Set Array.

FBGeometryArrayElementType FBModelVertexData::GetUVSetArrayFormat ( FBTextureMapping  pTextureMapping = kFBTextureMappingUV,
const char *  pUVSet = NULL 
)

Return UV Array Format.

Parameters:
pTextureMapping Texture Mapping Mode.
pUVSet UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore.
Returns:
UVSet Array Format.
void* FBModelVertexData::GetUVSetArray ( FBTextureMapping  pTextureMapping = kFBTextureMappingUV,
const char *  pUVSet = NULL 
)

Return UV Array Pointer.

Parameters:
pTextureMapping Texture Mapping Mode.
pUVSet UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore.
Returns:
UVSet Array Pointer.
unsigned int FBModelVertexData::GetUVSetVBOId ( FBTextureMapping  pTextureMapping = kFBTextureMappingUV,
const char *  pUVSet = NULL 
)

Return UVSet Buffer Object (VBO) Id.

Parameters:
pTextureMapping Texture Mapping Mode.
pUVSet UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore.
Returns:
UVSet VBO Id.
void* FBModelVertexData::GetUVSetVBOOffset ( FBTextureMapping  pTextureMapping = kFBTextureMappingUV,
const char *  pUVSet = NULL 
)

Return UVSet Buffer Object (VBO) offset.

Parameters:
pTextureMapping Texture Mapping Mode.
pUVSet UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore.
Returns:
UVSet VBO Offset.
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

friend class DataFBModel [friend]

Definition at line 977 of file fbmodel.h.

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

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: