#include <fbmodel.h>
Public Member Functions | |
bool | IsDeformable () |
Return true if the model is deformable. More... | |
bool | IsDrawable () |
Queries if this model should be drawn, e.g., in custom render callback. More... | |
int | GetVertexCount () |
Return the Vertex Count. More... | |
void | PushZDepthClipOverride () |
Disables Z-Depth clip plane if this model is selected using Z-Depth HideFront selection tool. More... | |
void | PopZDepthClipOverride () |
Re-enables Z-Depth clip plane if it had been disabled via PushZDepthClipOverride(). More... | |
Sub Patch Management. Each sub patch contain same type of primitives mapped with same material. | |
int | GetSubPatchCount () |
Return number of sub patches. More... | |
int | GetSubPatchMaterialId (int pSubPatchIndex) |
Return the mapped material for this sub patch. More... | |
FBMaterial * | GetSubPatchMaterial (int pSubPatchIndex) |
Return the mapped material for this sub patch. More... | |
FBGeometryPrimitiveType | GetSubPatchPrimitiveType (int pSubPatchIndex, bool *pIsOptimized=((void *) 0)) |
Return the primitive type for this sub patch. More... | |
int | GetSubPatchIndexOffset (int pSubPatchIndex) |
Return the start offset of the indexes for this sub patch (see GetIndexArray()). More... | |
int | GetSubPatchIndexSize (int pSubPatchIndex) |
Return the size of the indexes for this sub patch (see GetIndexArray()). More... | |
void | DrawSubPatch (int pSubPatchIndex, bool pWireFrame=false) |
Draw Sub Patch. More... | |
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) More... | |
FBMaterial * | GetSubRegionMaterial (int pSubRegionIndex) |
Return sub region's material. More... | |
void | DrawSubRegion (int pSubRegionIndex, bool pWireFrame=false) |
Draw Sub Region. More... | |
Vertex Array Management | |
void | EnableOGLVertexData (bool pAfterdeform=true) |
Enable (Setup) OpenGL Vertex Array (Pos & Normal) More... | |
void | DisableOGLVertexData () |
Disable OpenGL Vertex Array (Pos & Normal) More... | |
void | VertexArrayMappingRequest () |
Request deformed vertex array mapping on CPU. More... | |
void | VertexArrayMappingRelease () |
Release deformed vertex array mapping on CPU. More... | |
const int * | GetVertexArrayDuplicationMap (unsigned int &pDuplicatedVertexCound) |
The FBModel::TessellatedMesh could contain per-face mapping UVset/Normal or other layer elements. More... | |
int * | GetIndexArray () |
Return Index Array. More... | |
unsigned int | GetIndexArrayVBOId () |
Return Index Array VBO Id. More... | |
FBGeometryArrayElementType | GetVertexArrayType (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return Vertex Array Format. More... | |
void * | GetVertexArray (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return Vertex Array Pointer. More... | |
unsigned int | GetVertexArrayVBOId (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return Vertex Buffer Object (VBO) Id for the request array. More... | |
void * | GetVertexArrayVBOOffset (FBGeometryArrayID pArrayId, bool pAfterDeform=true) |
Return Vertex Buffer Object (VBO) offset for the request array. More... | |
UVset Array Management | |
void | EnableOGLUVSet (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=((void *) 0)) |
Enable (Setup) OpenGL UV Set Array. More... | |
void | DisableOGLUVSet () |
Disable OpenGL UV Set Array. More... | |
FBGeometryArrayElementType | GetUVSetArrayFormat (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=((void *) 0)) |
Return UV Array Format. More... | |
void * | GetUVSetArray (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=((void *) 0)) |
Return UV Array Pointer. More... | |
unsigned int | GetUVSetVBOId (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=((void *) 0)) |
Return UVSet Buffer Object (VBO) Id. More... | |
void * | GetUVSetVBOOffset (FBTextureMapping pTextureMapping=kFBTextureMappingUV, const char *pUVSet=((void *) 0)) |
Return UVSet Buffer Object (VBO) offset. More... | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. More... | |
virtual | ~FBComponent () |
Destructor. More... | |
virtual bool | FBCreate () |
Open Reality Creation function. More... | |
virtual void | FBDestroy () |
Open Reality destruction function. More... | |
virtual void | FBDelete () override |
Open Reality deletion function. More... | |
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
Assign component to an internal pointer. More... | |
virtual int | PropertyAdd (FBProperty *pProperty) |
Add a property to the component's property manager. More... | |
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
Add a reference property to the component's property manager. More... | |
void | PropertyRemove (FBProperty *pProperty) |
Remove a Property from the component's Property manager. More... | |
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
Get list of properties which have been modified since last loading. More... | |
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=((void *) 0)) |
Create user or dynamic property. More... | |
FBObjectFlag | GetObjectFlags () |
Get all Object Flags (concatenated). More... | |
void | SetObjectFlags (FBObjectFlag pFlags) |
SetObjectFlags. More... | |
bool | HasObjectFlags (FBObjectFlag pFlags) |
Check whether a specific object flag is enabled. More... | |
void | EnableObjectFlags (FBObjectFlag pFlags) |
Enable a specific Object Flags. More... | |
void | DisableObjectFlags (FBObjectFlag pFlags) |
Disable a specific Object Flags. More... | |
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
Enable/Disable a specific Object Status. More... | |
bool | GetObjectStatus (FBObjectStatus pStatus) |
Check to see if an object status is enabled. More... | |
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=((void *) 0), bool pAddRight=true) |
ProcessNamespaceHierarchy. More... | |
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=((void *) 0), bool pAddRight=true) |
ProcessObjectNamespace. More... | |
virtual const char * | ClassName () override |
Get the class name. More... | |
virtual bool | UseCustomPropertyViewSet () const |
Use the custom property viewSet or not. More... | |
const char * | GetFullName (void) |
Get the full name. More... | |
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
Set the owner Namespace object. More... | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. More... | |
FBFileReference * | GetOwnerFileReference (void) |
Get the owner FileReference object. More... | |
void | HardSelect () |
HardSelect. More... | |
virtual bool | Is (int pTypeId) |
Returns true if object is of type TypeId. More... | |
virtual int | GetTypeId () |
GetTypeId( int pTypeId ) More... | |
![]() | |
virtual HIObject | IQuery (kInterfaceID pInterfaceID, int IsLocal=0)=0 |
virtual void | Destroy (int IsLocal=0)=0 |
![]() | |
FBWrapperHolder () | |
virtual | ~FBWrapperHolder () |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. More... | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Protected Member Functions | |
FBModelVertexData (FBModel *pModel) | |
![]() | |
bool | IsSDKComponent () |
Return whether or not item is an SDK component. More... | |
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. More... | |
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. More... | |
bool | DisconnectDst (FBPlug *pDst) |
Remove a destination connection. More... | |
bool | DisconnectSrc (FBPlug *pSrc) |
Remove a source connection. More... | |
void | DisconnectAllSrc () |
Remove all source connections. More... | |
void | DisconnectAllDst () |
Remove all destination connections. More... | |
bool | DisconnectDstAt (int pIndex) |
Remove a destination connection at a specified index. More... | |
bool | DisconnectSrcAt (int pIndex) |
Remove a source connection at a specified index. More... | |
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
Replace a destination connection at a specified index. More... | |
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
Replace a source connection at a specified index. More... | |
bool | SwapSrc (int pIndexA, int pIndexB) |
Swap source connection at index A with source connection at index B. More... | |
bool | MoveSrcAt (int pIndex, int pAtIndex) |
Move source connection at pIndex to pAtIndex. More... | |
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
Move source connection pSrc to the position of pAtSrc. More... | |
int | GetSrcCount () |
Get source connection count. More... | |
FBPlug * | GetSrc (int pIndex) |
Get a source connection's plug at specified index. More... | |
FBConnectionType | GetSrcType (int pIndex) |
Get a source connection's type at specified index. More... | |
int | GetDstCount () |
Get destination connection count. More... | |
FBPlug * | GetDst (int pIndex) |
Get a destination connection's plug at specified index. More... | |
FBConnectionType | GetDstType (int pIndex) |
Get a destination connection's type at specified index. More... | |
bool | BeginChange () |
Begins a change on multiple plugs. More... | |
void | EndChange () |
Ends a change on multiple plugs. More... | |
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's self modification flag. More... | |
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
Tell if the plug's self has changed. More... | |
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's owned property/object's modification flag. More... | |
bool | GetContentModified (FBPlugModificationFlag pFlag) |
Tell if the plug's content has changed. More... | |
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
Get plug's modified src/dst property/object connection added/removed List. More... | |
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
Revert the plug's modification to original status. More... | |
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
Set the plug's status flag. More... | |
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
Tell if the plug's status has changed. More... | |
FBPlug * | GetOwner () |
Get the owner of this plug. More... | |
FBPlug * | GetOwned (int pIndex) |
Get the owned plug at specified index. More... | |
int | GetOwnedCount () |
Get the owned plug count. More... | |
virtual bool | PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=((void *) 0), void *pDataOld=((void *) 0), int pDataSize=0) |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More... | |
virtual bool | PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=((void *) 0), void *pDataOld=((void *) 0), int pDataSize=0) |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More... | |
virtual bool | PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=((void *) 0), FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=((void *) 0)) |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More... | |
Friends | |
class | DataFBModel |
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. More... | |
FBPropertyListComponent | Components |
List: List of components. More... | |
FBPropertyListComponent | Parents |
List: Parents. More... | |
FBPropertyBool | Selected |
Read Write Property: Selected property. More... | |
FBPropertyString | Name |
Read Write Property: Unique name of object. More... | |
FBPropertyString | LongName |
Read Write Property: Name and namespace for object. More... | |
FBPropertyFolder | Folder |
Read Write Property: The folder that contain this component. More... | |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. More... | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. More... | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. More... | |
HIObject | mObject |
Handle on the Plug. More... | |
bool | mSDKComponent |
bool Plug is an SDK component. More... | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. More... | |
static int | TypeInfo |
TypeInfo. More... | |
static int | mGlobalTypeInfo |
Represente the Type Index. More... | |
|
protected |
void DisableOGLUVSet | ( | ) |
Disable OpenGL UV Set Array.
void DisableOGLVertexData | ( | ) |
Disable OpenGL Vertex Array (Pos & Normal)
Draw Sub Patch.
Must be called between Enable/DisableOGLVertexData function calls.
pSubPatchIndex | Index of sub region to be drawn. |
pWireFrame | draw wire frame if true. |
Draw Sub Region.
Must be called between Enable/DisableOGLVertexData function calls.
pSubRegionIndex | Index of sub region to be drawn. |
pWireFrame | draw wire frame if true. |
void EnableOGLUVSet | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = ((void *) 0) |
||
) |
Enable (Setup) OpenGL UV Set Array.
Enable (Setup) OpenGL Vertex Array (Pos & Normal)
int* GetIndexArray | ( | ) |
Return Index Array.
unsigned int GetIndexArrayVBOId | ( | ) |
Return Index Array VBO Id.
int GetSubPatchCount | ( | ) |
Return number of sub patches.
Return the start offset of the indexes for this sub patch (see GetIndexArray()).
Return the size of the indexes for this sub patch (see GetIndexArray()).
FBMaterial* GetSubPatchMaterial | ( | int | pSubPatchIndex | ) |
Return the mapped material for this sub patch.
FBGeometryPrimitiveType GetSubPatchPrimitiveType | ( | int | pSubPatchIndex, |
bool * | pIsOptimized = ((void *) 0) |
||
) |
Return the primitive type for this sub patch.
Most of the time, kFBGeometry_TRIANGLES will return.
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 |
int GetSubRegionCount | ( | ) |
Return number of sub regions (mapping with different materials)
FBMaterial* GetSubRegionMaterial | ( | int | pSubRegionIndex | ) |
Return sub region's material.
pSubRegionIndex | Index of the sub region. |
void* GetUVSetArray | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = ((void *) 0) |
||
) |
Return UV Array Pointer.
pTextureMapping | Texture Mapping Mode. |
pUVSet | UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore. |
FBGeometryArrayElementType GetUVSetArrayFormat | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = ((void *) 0) |
||
) |
Return UV Array Format.
pTextureMapping | Texture Mapping Mode. |
pUVSet | UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore. |
unsigned int GetUVSetVBOId | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = ((void *) 0) |
||
) |
Return UVSet Buffer Object (VBO) Id.
pTextureMapping | Texture Mapping Mode. |
pUVSet | UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore. |
void* GetUVSetVBOOffset | ( | FBTextureMapping | pTextureMapping = kFBTextureMappingUV , |
const char * | pUVSet = ((void *) 0) |
||
) |
Return UVSet Buffer Object (VBO) offset.
pTextureMapping | Texture Mapping Mode. |
pUVSet | UVSet name if pTextureMapping is kFBTextureMappingUV, otherwise ignore. |
void* GetVertexArray | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return Vertex Array Pointer.
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. |
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.
pDuplicatedVertexCound | return the count of those duplicated vertexs. |
FBGeometryArrayElementType GetVertexArrayType | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return Vertex Array Format.
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. |
unsigned int GetVertexArrayVBOId | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return Vertex Buffer Object (VBO) Id for the request array.
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. |
void* GetVertexArrayVBOOffset | ( | FBGeometryArrayID | pArrayId, |
bool | pAfterDeform = true |
||
) |
Return Vertex Buffer Object (VBO) offset for the request array.
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. |
int GetVertexCount | ( | ) |
Return the Vertex Count.
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 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.
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.