#include <fbgeometry.h>
Mesh class.
Definition at line 644 of file fbgeometry.h.
Public Member Functions | |
FBMesh (const char *pName, HIObject pObject=((void *) 0)) | |
Constructor. More... | |
bool | TriangleListAdd (int pIndexArraySize, int *pIndexArray, int pMaterialId=0) |
Add Triangle List, Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined. More... | |
bool | TriangleStripAdd (int pIndexArraySize, int *pIndexArray, int pMaterialId=0) |
Add Triangle Strip Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined. More... | |
bool | PolygonListAdd (int pPolygonSize, int pIndexArraySize, int *pIndexArray, int pMaterialId=0) |
Add Polygon List Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined. More... | |
int | PolygonBegin (int pMaterialId=0) |
Begin Polygon definition. More... | |
bool | PolygonVertexAdd (int pVertex) |
Add a vertex. More... | |
int | PolygonEnd () |
End Polygon definition. More... | |
int | PolygonVertexCount (int pPolygonIndex) const |
Get Polygon vertex count. More... | |
int | PolygonVertexIndex (int pPolygonIndex, int pVertexPolygonIndex) const |
Get global (for the mesh) index of a vertex from a polygon. More... | |
int | PolygonCount () const |
Get number of polygons in mesh. More... | |
const int * | PolygonVertexArrayGet (int &pArraySize) const |
Get the array of polygon vertex (i.e. More... | |
bool | IsTriangleMesh () const |
Determines if the mesh is composed entirely of triangles. More... | |
int | PolygonMaterialIdGet (int pIndex=-1) const |
Get a Material ID for the given Polygon index. More... | |
void | ComputeVertexNormals (bool pCW=false) |
Compute Mesh Vertex Normal. More... | |
void | InverseNormal () |
Inverse Normal. More... | |
![]() | |
void | VertexInit (int pSize, bool pResize, bool pInitUV=true, bool pInitVertexColor=false) |
Resize or Reserve vertex, normal and UV array for performance. More... | |
bool | VertexClear () |
Clear all Vertex arrays. More... | |
int | VertexAdd (FBVertex pVertex) |
Add a vertex. More... | |
int | VertexAdd (FBVertex pVertex, FBNormal pNormal) |
Add a vertex. More... | |
int | VertexAdd (FBVertex pVertex, FBNormal pNormal, FBUV pUV) |
Add a vertex. More... | |
int | VertexAdd (FBVertex pVertex, FBNormal pNormal, FBUV pUV, FBColorF pVertexColor) |
Add a vertex. More... | |
int | VertexAdd (double px, double py, double pz) |
Add a vertex. More... | |
int | VertexAdd (double px, double py, double pz, double nx, double ny, double nz) |
int | VertexAdd (double px, double py, double pz, double nx, double ny, double nz, double UVu, double UVv) |
int | VertexAdd (double px, double py, double pz, double nx, double ny, double nz, double UVu, double UVv, double pRed, double pGreen, double pBlue, double pAlpha) |
bool | VertexSet (FBVertex pVertex, int pIndex=-1) |
Set a vertex. More... | |
bool | VertexSet (double px, double py, double pz, int pIndex=-1) |
Set a vertex. More... | |
bool | VertexNormalSet (FBNormal pVertex, int pIndex=-1) |
Set a normal at a vertex. More... | |
bool | VertexNormalSet (double px, double py, double pz, int pIndex=-1) |
Set a normal at a vertex. More... | |
bool | VertexUVSet (FBUV pUV, int pIndex=-1) |
Set a UV coordinate. More... | |
bool | VertexUVSet (float pU, float pV, int pIndex=-1) |
Set a UV coordinate. More... | |
bool | VertexColorSet (FBColorF pColor, int pIndex=-1) |
Set a Vertex Color. More... | |
bool | VertexColorSet (float pRed, float pGreen, float pBlue, float pAlpha, int pIndex=-1) |
Set a UV coordinate. More... | |
bool | GeometryBegin () |
Begin geometry editing. More... | |
bool | GeometryEnd () |
End geometry editing. More... | |
bool | IsEditingEnabled () const |
Is geometry editing enabled. More... | |
int | VertexCount () const |
Get the number of vertices in the geometry. More... | |
FBVertex | VertexGet (int pIndex) const |
Get a vertex. More... | |
FBVertex * | GetVertexes () const |
Get a pointer to the array of vertexes. More... | |
FBNormal | VertexNormalGet (int pIndex=-1) const |
Get a normal at a vertex. More... | |
FBUV | VertexUVGet (int pIndex=-1) const |
Get a UV coordinate. More... | |
FBColorF | VertexColorGet (int pIndex=-1) const |
Get a Vertex Color. More... | |
bool | VertexGetSelected (int pIndex) |
Get the selected state of a vertex. More... | |
bool | VertexSetSelected (int pIndex, bool pState) |
Set the selected state of a vertex. More... | |
bool | VertexGetVisible (int pIndex) |
Get the visible state of a vertex. More... | |
bool | VertexSetVisible (int pIndex, bool pState) |
Set the visible state of a vertex. More... | |
bool | VertexGetTransformable (int pIndex) |
Get the Transformable state of a vertex. More... | |
int | ShapeGetCount () const |
Get Shape Count. More... | |
const char * | ShapeGetName (int pShapeIdx) const |
Return the shape Name. More... | |
int | ShapeAdd (const char *pName) |
Add new shape. More... | |
void | ShapeClearAll () |
Clears all the shapes. More... | |
void | ShapeInit (int pShapeIdx, int pDiffSize, bool pWithNormal=false) |
Init the shape. More... | |
int | ShapeGetDiffPointCount (int pShapeIdx) const |
Return the shape's total diff points count. More... | |
bool | ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, const FBVertex &pPosDiff) |
Set the differentiate point. More... | |
bool | ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, const FBVertex &pPosDiff, const FBNormal &pNormalDiff) |
Set the differentiate point. More... | |
bool | ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int &pOriIndex, FBVertex &pPosDiff) const |
Get the differentiate point. More... | |
bool | ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int &pOriIndex, FBVertex &pPosDiff, FBNormal &pNormalDiff) const |
Get the differentiate point. More... | |
void | ModifyNotify (kFBGeometryUpdateFlags pFlags=kFBGeometryUpdateAll, int pFirstIndex=-1, int pLastIndex=-1) |
The geometry has change, update the necessary flags. More... | |
bool | VertexArrayInit (int pVertexcount, bool pUniqueMaterial, unsigned int pFBGeometryArrayIDs=0) |
Init geometry vertex arrays. More... | |
bool | VertexArrayClear () |
Clear all geometry vertex arrays. More... | |
FBVertex * | GetPositionsArray (int &pOutArrayCount) const |
Get a pointer to the position array. More... | |
int * | GetNormalsIndexArray (int &pOutArrayCount) const |
Get a pointer to the index array of normals. More... | |
FBNormal * | GetNormalsDirectArray (int &pOutArrayCount) const |
Get a pointer to the direct array of normals. More... | |
int * | GetTangentsIndexArray (int &pOutArrayCount) const |
Get a pointer to the index array of tangents. More... | |
FBNormal * | GetTangentsDirectArray (int &pOutArrayCount) const |
Get a pointer to the direct array of tangents. More... | |
int * | GetBinormalsIndexArray (int &pOutArrayCount) const |
Get a pointer to the index array of binormals. More... | |
FBNormal * | GetBinormalsDirectArray (int &pOutArrayCount) const |
Get a pointer to the direct array of binormals. More... | |
int * | GetVertexColorsIndexArray (int &pOutArrayCount) const |
Get a pointer to the index array of vertex color. More... | |
FBColorF * | GetVertexColorsDirectArray (int &pOutArrayCount) const |
Get a pointer to the direct array of vertex color. More... | |
FBStringList | GetUVSets () const |
Get available UVSet name. More... | |
FBGeometryMappingMode | GetUVSetMappingMode (const char *pUVSetName=((void *) 0)) const |
Get UVSet mapping mode. More... | |
FBGeometryReferenceMode | GetUVSetReferenceMode (const char *pUVSetName=((void *) 0)) const |
Get UVSet reference mode. More... | |
int * | GetUVSetIndexArray (int &pOutArrayCount, const char *pUVSetName=((void *) 0)) const |
Get a pointer to the index array of UVset. More... | |
FBUV * | GetUVSetDirectArray (int &pOutArrayCount, const char *pUVSetName=((void *) 0)) const |
Get a pointer to the direct array of UVset Modify array value will be only effective when geometry editing is enabled. More... | |
int * | GetMaterialIndexArray (int &pOutArrayCount) const |
Get a pointer to the index array of Material. 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 *) |
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) |
![]() | |
FBPropertyGeometryMappingMode | NormalMappingMode |
Read Only Property: Normal mapping mode. More... | |
FBPropertyGeometryReferenceMode | NormalReferenceMode |
Read Only Property: Normal reference mode. More... | |
FBPropertyGeometryMappingMode | TangentMappingMode |
Read Only Property: Tangent mapping mode. More... | |
FBPropertyGeometryReferenceMode | TangentReferenceMode |
Read Only Property: Tangent reference mode. More... | |
FBPropertyGeometryMappingMode | BinormalMappingMode |
Read Only Property: Binormal mapping mode. More... | |
FBPropertyGeometryReferenceMode | BinormalReferenceMode |
Read Only Property: Binormal reference mode. More... | |
FBPropertyGeometryMappingMode | VertexColorMappingMode |
Read Only Property: Vertex Color mapping mode. More... | |
FBPropertyGeometryReferenceMode | VertexColorReferenceMode |
Read Only Property: Vertex Color reference mode. More... | |
FBPropertyGeometryMappingMode | MaterialMappingMode |
Read Property: Material mapping mode. More... | |
![]() | |
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... | |
![]() | |
FBGeometry (const char *pName, HIObject pObject=((void *) 0)) | |
Constructor. More... | |
![]() | |
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... | |
![]() | |
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... | |
Constructor.
pName | Name of Mesh. |
pObject | For internal use only(default=NULL). |
Compute Mesh Vertex Normal.
pCW | True for clock wise normal, otherwise for counter-clock wise |
void InverseNormal | ( | ) |
Inverse Normal.
bool IsTriangleMesh | ( | ) | const |
Determines if the mesh is composed entirely of triangles.
Begin Polygon definition.
pMaterialId | Index of material for this polygon. Only effective when MaterialMappingMode is kFBGeometryMapping_BY_POLYGON mode. |
int PolygonCount | ( | ) | const |
Get number of polygons in mesh.
int PolygonEnd | ( | ) |
End Polygon definition.
Clean up and associate vertices internally.
bool PolygonListAdd | ( | int | pPolygonSize, |
int | pIndexArraySize, | ||
int * | pIndexArray, | ||
int | pMaterialId = 0 |
||
) |
Add Polygon List Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined.
pPolygonSize | Size of polygon, 3 mean triangle, 4 for quadrilateral, and so on. minimum input value is 3. |
pIndexArraySize | Size of pIndexArray, Added polygon count is floor(max(pIndexArraySize, 0) / pPolygonSize) |
pIndexArray | Index array of triangle strip. |
pMaterialId | Index of material for this polygon. Only effective when MaterialMappingMode is kFBGeometryMapping_BY_POLYGON mode. |
Get a Material ID for the given Polygon index.
pIndex | Polygon's index to get material ID at (default=-1). |
pIndex
. Add a vertex.
pVertex | Index in mesh of vertex to add to polygon, must be in range of [0, ControlPointCount) |
Get the array of polygon vertex (i.e.
index to control points). This array is a concatenation of the list of polygon vertices of all the polygons. Example: a mesh made of 2 triangles [1,2,3] and [2,3,4] results in [1,2,3,2,3,4]. The first polygon starts at position 0 and the second at position 3.
pArraySize | Polygon vertex array size. |
Get Polygon vertex count.
pPolygonIndex | Index of polygon to get vertex count from. |
pPolygonIndex
. Get global (for the mesh) index of a vertex from a polygon.
pPolygonIndex | Index of polygon in question. |
pVertexPolygonIndex | Polygon vertex index. |
Add Triangle List, Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined.
pIndexArraySize | Size of pIndexArray, Added triangle count is floor(max(pIndexArraySize, 0) / 3) |
pIndexArray | Index array of triangle list. |
pMaterialId | Index of material for this polygon. Only effective when MaterialMappingMode is kFBGeometryMapping_BY_POLYGON mode. |
Add Triangle Strip Must be called in-between FBGeometry::GeometryBegin() / GeometryEnd() It's user's responsibility to make sure to input valid index values, otherwise afterwards behavior will be undefined.
pIndexArraySize | Size of pIndexArray, Added triangle count is max(pIndexArraySize - 2, 0) |
pIndexArray | Index array of triangle strip. |
pMaterialId | Index of material for this polygon. Only effective when MaterialMappingMode is kFBGeometryMapping_BY_POLYGON mode. |