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 number of vertices. | |
Sub Patch Management. Each sub patch contains same type of primitives mapped with same material. | |
int | GetSubPatchCount () |
Return the number of sub patches. | |
int | GetSubPatchMaterialId (int pSubPatchIndex) |
Return the mapped material ID for the specified sub patch. | |
FBMaterial * | GetSubPatchMaterial (int pSubPatchIndex) |
Return the mapped material for the specified sub patch. | |
FBGeometryPrimitiveType | GetSubPatchPrimitiveType (int pSubPatchIndex, bool *pIsOptimized=NULL) |
Return the primitive type for the specified sub patch. | |
int | GetSubPatchIndexOffset (int pSubPatchIndex) |
Return the start offset of the indexes for the specified sub patch (see GetIndexArray()). | |
int | GetSubPatchIndexSize (int pSubPatchIndex) |
Return the size of the indexes for the specified sub patch (see GetIndexArray()). | |
void | DrawSubPatch (int pSubPatchIndex, bool pWireFrame=false) |
Draw the specified sub patch. | |
Sub Regions Management. Each sub region is composed by one or several patches which | |
are composed with same material. | |
int | GetSubRegionCount () |
Return the number of sub regions (mapping with different materials). | |
FBMaterial * | GetSubRegionMaterial (int pSubRegionIndex) |
Return the specified sub region's material. | |
void | DrawSubRegion (int pSubRegionIndex, bool pWireFrame=false) |
Draw the specified sub region. | |
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(). | |
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 &pDuplicatedVertexCount) |
The FBModel::TessellatedMesh could contain per-face mapping UVSet/Normal or other layer elements. | |
int | GetIndexArraySize () |
Return the index array size (see GetIndexArray()). | |
int * | GetIndexArray () |
Return the index array. | |
unsigned int | GetIndexArrayVBOId () |
Return the index array VBO Id. | |
FBGeometryArrayElementType | GetVertexArrayType (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return the vertex array format for the specified array Id. | |
void * | GetVertexArray (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return the vertex array for the specified vertex array Id. | |
unsigned int | GetVertexArrayVBOId (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return the Vertex Buffer Object (VBO) Id for the specified vertex array Id. | |
void * | GetVertexArrayVBOOffset (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return the Vertex Buffer Object (VBO) offset for the specified vertex array Id. | |
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 the UV Set array format. | |
int | GetUVSetUVCount (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL) |
Return the number of UVs in the UV Set for the specified texture mapping mode. | |
void * | GetUVSetArray (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL) |
Return the UV Set array for the specified texture mapping mode. | |
unsigned int | GetUVSetVBOId (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL) |
Return the UV Set Buffer Object (VBO) Id for the specified texture mapping mode. | |
void * | GetUVSetVBOOffset (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=NULL) |
Return the UV Set Buffer Object (VBO) offset for the specified texture mapping mode. | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. | |
virtual | ~FBComponent () |
Destructor. | |
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. | |
virtual bool | Is (int pTypeId) override |
Returns true if object is of type TypeId. | |
virtual int | GetTypeId () override |
GetTypeId( int pTypeId ) | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Protected Member Functions | |
FBModelVertexData (FBModel *pModel) | |
![]() | |
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 const 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. | |
virtual void | FBDelete () |
Actual destructor for a FBPlug. | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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. | |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. | |
HIObject | mObject |
Handle on the Plug. | |
bool | mSDKComponent |
bool Plug is an SDK component. | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. | |
static int | TypeInfo |
TypeInfo. | |
static int | mGlobalTypeInfo |
Represente the Type Index. | |
void DisableOGLUVSet | ( | ) |
Disable OpenGL UV set array.
void DisableOGLVertexData | ( | ) |
Disable OpenGL Vertex Array (Pos & Normal).
void DrawSubPatch | ( | int | pSubPatchIndex, |
bool | pWireFrame = false |
||
) |
Draw the specified sub patch.
Must be called between Enable/DisableOGLVertexData function calls.
pSubPatchIndex | Index of the sub patch to be drawn. |
pWireFrame | Draw wire frame if true. |
void DrawSubRegion | ( | int | pSubRegionIndex, |
bool | pWireFrame = false |
||
) |
Draw the specified sub region.
Must be called between Enable/DisableOGLVertexData function calls.
pSubRegionIndex | Index of the sub region to be drawn. |
pWireFrame | Draw wire frame if true. |
void EnableOGLUVSet | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Enable (Setup) OpenGL UV set array.
pTextureMapping | Texture Mapping Mode. |
pUVSet | UV Set name if pTextureMapping is kFBTextureMappingUV, otherwise ignored. |
void EnableOGLVertexData | ( | bool | pAfterDeform = true | ) |
Enable (Setup) OpenGL Vertex Array (Pos & Normal).
pAfterDeform | Unused parameter. |
int * GetIndexArray | ( | ) |
Return the index array.
For the size of the array, see GetIndexArraySize().
int GetIndexArraySize | ( | ) |
Return the index array size (see GetIndexArray()).
It will sum the index size of each sub patch (see GetSubPatchIndexSize()).
unsigned int GetIndexArrayVBOId | ( | ) |
Return the index array VBO Id.
int GetSubPatchCount | ( | ) |
Return the number of sub patches.
int GetSubPatchIndexOffset | ( | int | pSubPatchIndex | ) |
Return the start offset of the indexes for the specified sub patch (see GetIndexArray()).
pSubPatchIndex | Index of the sub patch to be queried. |
int GetSubPatchIndexSize | ( | int | pSubPatchIndex | ) |
Return the size of the indexes for the specified sub patch (see GetIndexArray()).
pSubPatchIndex | Index of the sub patch to be queried. |
FBMaterial * GetSubPatchMaterial | ( | int | pSubPatchIndex | ) |
Return the mapped material for the specified sub patch.
pSubPatchIndex | Index of the sub patch to be queried. |
int GetSubPatchMaterialId | ( | int | pSubPatchIndex | ) |
Return the mapped material ID for the specified sub patch.
pSubPatchIndex | Index of the sub patch to be queried. |
FBGeometryPrimitiveType GetSubPatchPrimitiveType | ( | int | pSubPatchIndex, |
bool * | pIsOptimized = NULL |
||
) |
Return the primitive type for the specified sub patch.
Most of the time, kFBGeometry_TRIANGLES will be returned.
pSubPatchIndex | Index of the sub patch to be queried. |
pIsOptimized | (C++ only) Out parameter, return true if the specified sub patch is optimized for fast rendering, custom shader & render should use the optimized sub patch only. |
int GetSubRegionCount | ( | ) |
Return the number of sub regions (mapping with different materials).
FBMaterial * GetSubRegionMaterial | ( | int | pSubRegionIndex | ) |
Return the specified sub region's material.
pSubRegionIndex | Index of the sub region to be queried. |
void * GetUVSetArray | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Return the UV Set array for the specified texture mapping mode.
pTextureMapping | Texture mapping mode to be queried. |
pUVSet | UV Set name to be queried if pTextureMapping is kFBTextureMappingUV, otherwise ignored. |
FBGeometryArrayElementType GetUVSetArrayFormat | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Return the UV Set array format.
pTextureMapping | Unused parameter. |
pUVSet | Unused parameter. |
int GetUVSetUVCount | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Return the number of UVs in the UV Set for the specified texture mapping mode.
pTextureMapping | Texture mapping mode to be queried. |
pUVSet | UV Set name to be queried if pTextureMapping is kFBTextureMappingUV, otherwise ignored. |
unsigned int GetUVSetVBOId | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Return the UV Set Buffer Object (VBO) Id for the specified texture mapping mode.
pTextureMapping | Texture mapping mode to be queried. |
pUVSet | UV Set name to be queried if pTextureMapping is kFBTextureMappingUV, otherwise ignored. |
void * GetUVSetVBOOffset | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = NULL |
||
) |
Return the UV Set Buffer Object (VBO) offset for the specified texture mapping mode.
pTextureMapping | Texture mapping mode to be queried. |
pUVSet | UV Set name to be queried if pTextureMapping is kFBTextureMappingUV, otherwise ignored. |
void * GetVertexArray | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return the vertex array for the specified vertex array Id.
pArrayId | Vertex array Id type to be queried. |
pAfterDeform | True to query the deformed position or normal vertex array (model must be deformable and deformation must occur in CPU), false to query the original vertex array. |
const int * GetVertexArrayDuplicationMap | ( | unsigned int & | pDuplicatedVertexCount | ) |
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 returns the duplicated vertices' ID mapping from FBModel::ModelVertexData vertex array to its FBModel::TessellatedMesh vertex array. Note those duplicated vertices are always appended after the original vertex array.
(C++ | only) pDuplicatedVertexCount Out parameter, return the count of those duplicated vertices. |
FBGeometryArrayElementType GetVertexArrayType | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return the vertex array format for the specified array Id.
pArrayId | Vertex array Id type to be queried. |
pAfterDeform | Unused parameter. |
unsigned int GetVertexArrayVBOId | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return the Vertex Buffer Object (VBO) Id for the specified vertex array Id.
pArrayId | Vertex array Id type to be queried. |
pAfterDeform | True to query the deformed position or normal vertex array (model must be deformable and deformation must occur in CPU), false to query the original vertex array. |
void * GetVertexArrayVBOOffset | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return the Vertex Buffer Object (VBO) offset for the specified vertex array Id.
pArrayId | Vertex array Id type to be queried. Only position or normal vertex array Id types are available. |
pAfterDeform | True to query the deformed position or normal vertex array (model must be deformable and deformation must occur in CPU), false to query the original vertex array. |
int GetVertexCount | ( | ) |
Return the number of vertices.
bool IsDeformable | ( | ) |
Return true if the model is deformable.
bool 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.
void 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 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 VertexArrayMappingRelease | ( | ) |
Release deformed vertex array mapping on CPU.
Call this function if plug-in don't need CPU access of the deformed vertex array to be mapped on CPU memory anymore, hence allow the application flexibility to choose higher performance approach.
void 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.