FBX C++ API Reference
|
#include <fbxmesh.h>
A mesh is a geometry made of polygons.
The class can define a geometry with as many n-sided polygons as needed. Users can freely mix triangles, quadrilaterals, and other polygons. Since the mesh-related terminology of the FBX SDK differs a little from the known standards, here are our definitions:
Methods to initialize, set and access control points are provided in the FbxGeometryBase class.
Classes | |
class | DuplicateVertex |
Internal structure used to keep the duplicate vertex information. More... | |
class | VertexNormalInfo |
Internal structure used to compute the normals on a mesh. More... | |
Public Member Functions | |
virtual FbxClassId | GetClassId () const |
virtual FbxNodeAttribute::EType | GetAttributeType () const |
Return the type of node attribute. More... | |
void | ReservePolygonCount (int pCount) |
Reserve memory in the polygon array to hold the specified number of polygons. More... | |
void | ReservePolygonVertexCount (int pCount) |
Reserve memory in the polygon vertex array to hold the specified number of polygon vertices. More... | |
bool | GetTextureUV (FbxLayerElementArrayTemplate< FbxVector2 > **pLockableArray, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) const |
bool | GetMaterialIndices (FbxLayerElementArrayTemplate< int > **pLockableArray) const |
bool | GetTextureIndices (FbxLayerElementArrayTemplate< int > **pLockableArray, FbxLayerElement::EType pTextureType) const |
![]() | |
int | AddDeformer (FbxDeformer *pDeformer) |
Adds a deformer to this geometry (as mentioned in the description of this class, adding a deformer is a synonym for "connect a deformer"). More... | |
FbxDeformer * | RemoveDeformer (int pIndex, FbxStatus *pStatus=((void *) 0)) |
Remove a deformer. More... | |
int | GetDeformerCount () const |
Returns the number of deformers. More... | |
FbxDeformer * | GetDeformer (int pIndex, FbxStatus *pStatus=((void *) 0)) const |
Returns the deformer at the specified index. More... | |
int | GetDeformerCount (FbxDeformer::EDeformerType pType) const |
Returns the number of deformers of a specified type. More... | |
FbxDeformer * | GetDeformer (int pIndex, FbxDeformer::EDeformerType pType, FbxStatus *pStatus=((void *) 0)) const |
Returns the deformer of a specified type at the specified index. More... | |
FbxGeometryWeightedMap * | GetSourceGeometryWeightedMap () |
Returns the source geometry weighted map that is connected to this geometry. More... | |
int | GetDestinationGeometryWeightedMapCount () const |
Returns the number of destination geometry weighted map(s) that are connected to this geometry. More... | |
FbxGeometryWeightedMap * | GetDestinationGeometryWeightedMap (int pIndex) |
Returns the destination geometry weighted map at a specified index. More... | |
bool | AddShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxShape *pShape, double pPercent=100, FbxStatus *pStatus=((void *) 0)) |
Add a shape to the specified blend shape deformer and blend shape channel of this geometry. More... | |
void | ClearShape () |
Removes all the shapes without destroying them. More... | |
int | GetShapeCount () const |
Returns the number of shapes. More... | |
int | GetShapeCount (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxStatus *pStatus=((void *) 0)) const |
Returns the number of shapes. More... | |
FbxShape * | GetShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, int pShapeIndex, FbxStatus *pStatus=((void *) 0)) |
Returns the shape found at the specified index on a blend shape channel of a blend shape deformer. More... | |
const FbxShape * | GetShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, int pShapeIndex, FbxStatus *pStatus=((void *) 0)) const |
Returns the shape found at the specified index on a blend shape channel of a blend shape deformer. More... | |
FbxAnimCurve * | GetShapeChannel (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxAnimLayer *pLayer, bool pCreateAsNeeded=false, FbxStatus *pStatus=((void *) 0)) |
Get the shape animation curve. More... | |
FbxAMatrix & | GetPivot (FbxAMatrix &pXMatrix) const |
Returns the pivot matrix. More... | |
void | SetPivot (FbxAMatrix &pXMatrix) |
Sets the pivot matrix. More... | |
void | ApplyPivot () |
Applies the pivot matrix to all vertices/normals of the geometry. More... | |
void | SetDefaultShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, double pPercent) |
Sets the default deformation for a specified shape. More... | |
void | SetDefaultShape (FbxBlendShapeChannel *pBlendShapeChannel, double pPercent) |
Sets the default deformation for a specified channel. More... | |
double | GetDefaultShape (int pBlendShapeIndex, int pBlendShapeChannelIndex) const |
Returns the default deformation value for the specified shape. More... | |
double | GetDefaultShape (FbxBlendShapeChannel *pBlendShapeChannel) const |
Returns the default deformation value for the specified channel. More... | |
![]() | |
virtual int | MemoryUsage () const |
Calculate the actual amount of memory used by this geometry object. More... | |
virtual void | InitControlPoints (int pCount) |
Allocates memory space for the array of control points. More... | |
void | InitNormals (int pCount=0) |
Allocates memory space for the array of normals. More... | |
void | InitNormals (FbxGeometryBase *pSrc) |
Allocates memory space for the array of normals cloned from the pSrc. More... | |
void | InitTangents (int pCount=0, const int pLayerIndex=0, const char *pName="") |
Allocates memory space for the array of tangents on specified layer. More... | |
void | InitTangents (FbxGeometryBase *pSrc, const int pLayerIndex=0) |
Allocates memory space for the array of tangents cloned from the pSrc on the specified layer. More... | |
void | InitBinormals (int pCount=0, const int pLayerIndex=0, const char *pName="") |
Allocates memory space for the array of binormals. More... | |
void | InitBinormals (FbxGeometryBase *pSrc, const int pLayerIndex=0) |
Allocates memory space for the array of binormals cloned from the pSrc. More... | |
virtual void | SetControlPointAt (const FbxVector4 &pCtrlPoint, const FbxVector4 &pNormal, int pIndex, bool pI2DSearch=false) |
Sets the control point and the normal values at the specified index. More... | |
virtual void | SetControlPointAt (const FbxVector4 &pCtrlPoint, int pIndex) |
Sets the control point at a specified index. More... | |
virtual FbxVector4 | GetControlPointAt (int pIndex) const |
Gets the control point at the specified index. More... | |
virtual void | SetControlPointNormalAt (const FbxVector4 &pNormal, int pIndex, bool pI2DSearch=false) |
Sets the control point normal value at the specified index. More... | |
virtual int | GetControlPointsCount () const |
Returns the number of control points. More... | |
virtual FbxVector4 * | GetControlPoints (FbxStatus *pStatus=((void *) 0)) const |
Returns a pointer to the array of control points. More... | |
virtual void | SetControlPointCount (int pCount) |
Allocates memory space for the array of control points. More... | |
void | ComputeBBox () |
Computes the control points Bounding box. More... | |
FbxGeometryElementNormal * | CreateElementNormal () |
Creates a normal geometry element for this geometry. More... | |
bool | RemoveElementNormal (FbxGeometryElementNormal *pElementNormal) |
Remove the normal geometry element from this geometry. More... | |
FbxGeometryElementNormal * | GetElementNormal (int pIndex=0) |
Returns this geometry's normal element. More... | |
const FbxGeometryElementNormal * | GetElementNormal (int pIndex=0) const |
Returns this geometry's normal element. More... | |
int | GetElementNormalCount () const |
Get the number of this geometry's normal geometry element. More... | |
FbxGeometryElementBinormal * | CreateElementBinormal () |
Creates a binormal geometry element for this geometry. More... | |
bool | RemoveElementBinormal (FbxGeometryElementBinormal *pElementBinormal) |
Remove the binormal geometry element from this geometry. More... | |
FbxGeometryElementBinormal * | GetElementBinormal (int pIndex=0) |
Returns this geometry's binormal element. More... | |
const FbxGeometryElementBinormal * | GetElementBinormal (int pIndex=0) const |
Returns this geometry's binormal element. More... | |
int | GetElementBinormalCount () const |
Get the number of this geometry's binormal geometry element. More... | |
FbxGeometryElementTangent * | CreateElementTangent () |
Creates a tangent geometry element for this geometry. More... | |
bool | RemoveElementTangent (FbxGeometryElementTangent *pElementTangent) |
Remove the tangent geometry element from this geometry. More... | |
FbxGeometryElementTangent * | GetElementTangent (int pIndex=0) |
Returns this geometry's tangent element. More... | |
const FbxGeometryElementTangent * | GetElementTangent (int pIndex=0) const |
Returns this geometry's tangent element. More... | |
int | GetElementTangentCount () const |
Get the number of this geometry's tangent geometry element. More... | |
FbxGeometryElementMaterial * | CreateElementMaterial () |
Creates a material geometry element for this geometry. More... | |
bool | RemoveElementMaterial (FbxGeometryElementMaterial *pElementMaterial) |
Remove the material geometry element from this geometry. More... | |
FbxGeometryElementMaterial * | GetElementMaterial (int pIndex=0) |
Returns this geometry's material element. More... | |
const FbxGeometryElementMaterial * | GetElementMaterial (int pIndex=0) const |
Returns this geometry's material element. More... | |
int | GetElementMaterialCount () const |
Get the number of this geometry's material geometry element. More... | |
FbxGeometryElementPolygonGroup * | CreateElementPolygonGroup () |
Creates a polygon group geometry element for this geometry. More... | |
bool | RemoveElementPolygonGroup (FbxGeometryElementPolygonGroup *pElementPolygonGroup) |
Remove the polygon group geometry element from this geometry. More... | |
FbxGeometryElementPolygonGroup * | GetElementPolygonGroup (int pIndex=0) |
Returns this geometry's polygon group element. More... | |
const FbxGeometryElementPolygonGroup * | GetElementPolygonGroup (int pIndex=0) const |
Returns this geometry's polygon group element. More... | |
int | GetElementPolygonGroupCount () const |
Get the number of this geometry's polygon group geometry element. More... | |
FbxGeometryElementVertexColor * | CreateElementVertexColor () |
Creates a vertex color geometry element for this geometry. More... | |
bool | RemoveElementVertexColor (FbxGeometryElementVertexColor *pElementVertexColor) |
Remove the vertex color geometry element from this geometry. More... | |
FbxGeometryElementVertexColor * | GetElementVertexColor (int pIndex=0) |
Returns this geometry's vertex color element. More... | |
const FbxGeometryElementVertexColor * | GetElementVertexColor (int pIndex=0) const |
Returns this geometry's vertex color element. More... | |
int | GetElementVertexColorCount () const |
Get the number of this geometry's vertex color geometry element. More... | |
FbxGeometryElementSmoothing * | CreateElementSmoothing () |
Creates a smoothing geometry element for this geometry. More... | |
bool | RemoveElementSmoothing (FbxGeometryElementSmoothing *pElementSmoothing) |
Remove the smoothing geometry element from this geometry. More... | |
FbxGeometryElementSmoothing * | GetElementSmoothing (int pIndex=0) |
Returns this geometry's smoothing element. More... | |
const FbxGeometryElementSmoothing * | GetElementSmoothing (int pIndex=0) const |
Returns this geometry's smoothing element. More... | |
int | GetElementSmoothingCount () const |
Get the number of this geometry's smoothing geometry element. More... | |
FbxGeometryElementCrease * | CreateElementVertexCrease () |
Creates a vertex crease geometry element for this geometry. More... | |
bool | RemoveElementVertexCrease (FbxGeometryElementCrease *pElementCrease) |
Remove the vertex crease geometry element from this geometry. More... | |
FbxGeometryElementCrease * | GetElementVertexCrease (int pIndex=0) |
Returns this geometry's vertex crease element. More... | |
const FbxGeometryElementCrease * | GetElementVertexCrease (int pIndex=0) const |
Returns this geometry's vertex crease element. More... | |
int | GetElementVertexCreaseCount () const |
Get the number of this geometry's vertex crease geometry element. More... | |
FbxGeometryElementCrease * | CreateElementEdgeCrease () |
Creates an edge crease geometry element for this geometry. More... | |
bool | RemoveElementEdgeCrease (FbxGeometryElementCrease *pElementCrease) |
Remove the edge crease geometry element from this geometry. More... | |
FbxGeometryElementCrease * | GetElementEdgeCrease (int pIndex=0) |
Returns this geometry's edge crease element. More... | |
const FbxGeometryElementCrease * | GetElementEdgeCrease (int pIndex=0) const |
Returns this geometry's edge crease element. More... | |
int | GetElementEdgeCreaseCount () const |
Get the number of this geometry's edge crease geometry element. More... | |
FbxGeometryElementHole * | CreateElementHole () |
Creates a hole geometry element for this geometry. More... | |
bool | RemoveElementHole (FbxGeometryElementHole *pElementHole) |
Remove the hole geometry element from this geometry. More... | |
FbxGeometryElementHole * | GetElementHole (int pIndex=0) |
Returns this geometry's hole element. More... | |
const FbxGeometryElementHole * | GetElementHole (int pIndex=0) const |
Returns this geometry's hole element. More... | |
int | GetElementHoleCount () const |
Get the number of this geometry's hole geometry element. More... | |
FbxGeometryElementUserData * | CreateElementUserData () |
Creates a user data geometry element for this geometry. More... | |
bool | RemoveElementUserData (FbxGeometryElementUserData *pElementUserData) |
Remove the user data geometry element from this geometry. More... | |
FbxGeometryElementUserData * | GetElementUserData (int pIndex=0) |
Returns this geometry's user data element. More... | |
const FbxGeometryElementUserData * | GetElementUserData (int pIndex=0) const |
Returns this geometry's user data element. More... | |
int | GetElementUserDataCount () const |
Get the number of this geometry's user data geometry element. More... | |
FbxGeometryElementVisibility * | CreateElementVisibility () |
Creates a visibility geometry element for this geometry. More... | |
bool | RemoveElementVisibility (FbxGeometryElementVisibility *pElementVisibility) |
Remove the visibility geometry element from this geometry. More... | |
FbxGeometryElementVisibility * | GetElementVisibility (int pIndex=0) |
Returns this geometry's visibility element. More... | |
const FbxGeometryElementVisibility * | GetElementVisibility (int pIndex=0) const |
Returns this geometry's visibility element. More... | |
int | GetElementVisibilityCount () const |
Get the number of this geometry's visibility geometry element. More... | |
FbxGeometryElementUV * | CreateElementUV (const char *pUVSetName, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Creates a UV geometry element for this geometry. More... | |
bool | RemoveElementUV (FbxGeometryElementUV *pElementUV) |
Remove the UV geometry element from this geometry. More... | |
FbxGeometryElementUV * | GetElementUV (int pIndex=0, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eUnknown) |
Returns this geometry's UV element. More... | |
const FbxGeometryElementUV * | GetElementUV (int pIndex=0, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eUnknown) const |
Returns this geometry's UV element. More... | |
int | GetElementUVCount (FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eUnknown) const |
Get the number of this geometry's UV geometry element. More... | |
FbxGeometryElementUV * | GetElementUV (const char *pUVSetName) |
Returns this geometry's UV element. More... | |
const FbxGeometryElementUV * | GetElementUV (const char *pUVSetName) const |
Returns this geometry's UV element. More... | |
void | GetUVSetNames (FbxStringList &pUVSetNameList) const |
Returns this geometry's all UV set names. More... | |
virtual bool | ContentWriteTo (FbxStream &pStream) const |
Writes the content of the geometry object to the specified stream. More... | |
virtual bool | ContentReadFrom (const FbxStream &pStream) |
Reads the content of the geometry object from the specified stream. More... | |
![]() | |
bool | ConvertDirectToIndexToDirect (int pLayer) |
Converts the reference mode from eDirect to eIndexToDirect. More... | |
int | CreateLayer () |
Creates a new layer on top of existing layers. More... | |
void | ClearLayers () |
Deletes all layers. More... | |
int | GetLayerCount () const |
Returns the number of layers. More... | |
int | GetLayerCount (FbxLayerElement::EType pType, bool pUVCount=false) const |
Returns the number of layers that contain the specified layer element type. More... | |
FbxLayer * | GetLayer (int pIndex) |
Returns the layer at the specified index. More... | |
const FbxLayer * | GetLayer (int pIndex) const |
Returns the layer at the specified index. More... | |
FbxLayer * | GetLayer (int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) |
Returns the n'th layer as specified by pIndex that contains the specified layer element type. More... | |
const FbxLayer * | GetLayer (int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const |
Returns the n'th layer as specified by pIndex that contains the specified layer element type. More... | |
int | GetLayerIndex (int pIndex, FbxLayerElement::EType pType, bool pIsUV=false) const |
Returns the global index of the n'th layer as specified by pIndex that contains the specified layer element type. More... | |
int | GetLayerTypedIndex (int pGlobalIndex, FbxLayerElement::EType pType, bool pIsUV=false) const |
Converts the layer's global index to a type-specific index. More... | |
![]() | |
int | GetNodeCount () const |
Return the node count using this attribute. More... | |
FbxNode * | GetNode (int pIndex=0) const |
Return the node this attribute is set to. More... | |
![]() | |
virtual void | Compact () |
Compact the memory used by this object. More... | |
template<class T > | |
bool | Is () const |
Templated test if this class is a hierarchical children of the specified class type. More... | |
FbxManager * | GetFbxManager () const |
Retrieve the FbxManager this object belongs to. More... | |
FbxDocument * | GetDocument () const |
Returns a const pointer to the document that contains this object. More... | |
FbxDocument * | GetRootDocument () const |
Returns a const pointer to the root document that contains this object. More... | |
FbxScene * | GetScene () const |
Returns a const pointer to the scene that contains this object. More... | |
void | Destroy (bool pRecursive=false) |
Unregister and delete this object from memory. More... | |
void | ResetProperties () |
Reset all the properties of this object to their default values. More... | |
virtual bool | GetSelected () |
Returns if this object is currently in a selected state. More... | |
virtual void | SetSelected (bool pSelected) |
Sets whether this object is currently selected. More... | |
void | SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData) |
Sets the data pointer for an user data record whose ID is pUserID. More... | |
void * | GetUserDataPtr (const FbxUInt64 &pUserID) const |
Returns the data pointer of an user data record whose ID is pUserID. More... | |
void | SetUserDataPtr (void *pUserData) |
Sets the data pointer for the user data record whose ID is the object ID. More... | |
void * | GetUserDataPtr () const |
Returns the data pointer of the user data record whose ID is the object ID. More... | |
bool | ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to a source object. More... | |
bool | IsConnectedSrcObject (const FbxObject *pObject) const |
Judges whether this object connects with the source object. More... | |
bool | DisconnectSrcObject (FbxObject *pObject) |
Disconnects this object from a source object. More... | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects. More... | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that satisfy a given criteria. More... | |
int | GetSrcObjectCount () const |
Returns the number of source objects with which this object connects. More... | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects that satisfy the given criteria with which this object connects. More... | |
FbxObject * | GetSrcObject (int pIndex=0) const |
Returns the source object with which this object connects at the specified index. More... | |
FbxObject * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that satisfies the criteria at the specified index with which this object connects. More... | |
FbxObject * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name, starting at the specified index. More... | |
FbxObject * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllSrcObject () |
Disconnects this object from all source objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetSrcObjectCount () const |
Returns the number of source objects of a specific class type with which this object connects. More... | |
template<class T > | |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetSrcObject (int pIndex=0) const |
Returns the source object of the specified class type at the specified index. More... | |
template<class T > | |
T * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
bool | ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
Connects this object to one destination object. More... | |
bool | IsConnectedDstObject (const FbxObject *pObject) const |
Judges whether this object connects with the destination object. More... | |
bool | DisconnectDstObject (FbxObject *pObject) |
Disconnects this object from the destination object. More... | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects. More... | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that satisfy given criteria. More... | |
int | GetDstObjectCount () const |
Returns the number of destination objects with which this object connects. More... | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that satisfy the given criteria. More... | |
FbxObject * | GetDstObject (int pIndex=0) const |
Returns the destination object at the specified index with which this object connects. More... | |
FbxObject * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More... | |
FbxObject * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name, starting at the specified index. More... | |
FbxObject * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More... | |
template<class T > | |
bool | DisconnectAllDstObject () |
Disconnects this object from all destination objects of the specified class type. More... | |
template<class T > | |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
int | GetDstObjectCount () const |
Returns the number of destination objects of the specified class type with which this object connects. More... | |
template<class T > | |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More... | |
template<class T > | |
T * | GetDstObject (int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type at the specified index. More... | |
template<class T > | |
T * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More... | |
template<class T > | |
T * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More... | |
FbxProperty | GetFirstProperty () const |
Returns the first property of this object. More... | |
FbxProperty | GetNextProperty (const FbxProperty &pProperty) const |
Returns the next property of this object that follows the specified property. More... | |
FbxProperty | FindProperty (const char *pName, bool pCaseSensitive=true) const |
Searches a property by name. More... | |
FbxProperty | FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by name and data type. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const |
Searches a property by full name. More... | |
FbxProperty | FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
Searches a property by full name and data type. More... | |
FbxProperty | GetClassRootProperty () |
Returns the class root property. More... | |
bool | ConnectSrcProperty (const FbxProperty &pProperty) |
Connects this object to a source property. More... | |
bool | IsConnectedSrcProperty (const FbxProperty &pProperty) |
Determines whether this object connects with the specified source property. More... | |
bool | DisconnectSrcProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified source property. More... | |
int | GetSrcPropertyCount () const |
Returns the number of source properties with which this object connects. More... | |
FbxProperty | GetSrcProperty (int pIndex=0) const |
Returns the source property at the specified index with which this object connects. More... | |
FbxProperty | FindSrcProperty (const char *pName, int pStartIndex=0) const |
Searches a source property with which this object connects that has a specific name, starting at the specified index. More... | |
bool | ConnectDstProperty (const FbxProperty &pProperty) |
Connects this object to a destination property. More... | |
bool | IsConnectedDstProperty (const FbxProperty &pProperty) |
Determines if this object connects with the specified destination property. More... | |
bool | DisconnectDstProperty (const FbxProperty &pProperty) |
Disconnects this object from the specified destination property. More... | |
int | GetDstPropertyCount () const |
Returns the number of destination properties with which this object connects. More... | |
FbxProperty | GetDstProperty (int pIndex=0) const |
Returns the destination property at the specified index with which this object connects. More... | |
FbxProperty | FindDstProperty (const char *pName, int pStartIndex=0) const |
Searches a destination property with which this object connects that has a specific name, starting at the specified index. More... | |
int | ContentUnload () |
Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More... | |
int | ContentLoad () |
Loads this object's content using the offload peripheral that is currently set in the document. More... | |
bool | ContentIsLoaded () const |
Judges if this object's content is loaded. More... | |
void | ContentDecrementLockCount () |
Decreases the content lock count of an object. More... | |
void | ContentIncrementLockCount () |
Increases the content lock count of an object. More... | |
bool | ContentIsLocked () const |
Judges if this object's content is locked. More... | |
void | EmitMessage (FbxMessage *pMessage) const |
Emits a message in all available message emitters in the document or SDK manager. More... | |
virtual const char * | Localize (const char *pID, const char *pDefault=((void *) 0)) const |
Localization helper function, it calls the implementation of FBX SDK manager. More... | |
FbxLibrary * | GetParentLibrary () const |
Returns a handle on the parent library of this object. More... | |
bool | AddImplementation (FbxImplementation *pImplementation) |
Adds an implementation. More... | |
bool | RemoveImplementation (FbxImplementation *pImplementation) |
Removes an implementation. More... | |
bool | HasDefaultImplementation (void) const |
Determines if this shading node has a default implementation. More... | |
FbxImplementation * | GetDefaultImplementation (void) const |
Returns the default implementation of this shading node. More... | |
bool | SetDefaultImplementation (FbxImplementation *pImplementation) |
Sets the default implementation of this shading node. More... | |
int | GetImplementationCount (const FbxImplementationFilter *pCriteria=((void *) 0)) const |
Returns the number of implementations that satisfy a given criteria. More... | |
FbxImplementation * | GetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=((void *) 0)) const |
Returns the implementation at the specified index that satisfies the given criteria. More... | |
virtual FbxString | GetUrl () const |
Returns the URL of this object. More... | |
virtual bool | SetUrl (char *pUrl) |
Sets the URL of this object. More... | |
void | SetRuntimeClassId (const FbxClassId &pClassId) |
Set the run-time ClassId for this class. More... | |
FbxClassId | GetRuntimeClassId () const |
Retrieve the run-time ClassId for this object. More... | |
bool | IsRuntime (const FbxClassId &pClassId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
bool | IsRuntimePlug () const |
Find out if the ClassId was registered during run-time rather than at compile time. More... | |
void | SetObjectFlags (EObjectFlag pFlags, bool pValue) |
Set the state of object flags. More... | |
bool | GetObjectFlags (EObjectFlag pFlags) const |
Get the state of object flags. More... | |
void | SetAllObjectFlags (FbxUInt pFlags) |
Override all object flags at once. More... | |
FbxUInt | GetAllObjectFlags () const |
Get all object flags at once. More... | |
virtual FbxObject & | Copy (const FbxObject &pObject) |
Copy an object content into this object. More... | |
virtual FbxObject * | Clone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const |
Creates a clone of this object. More... | |
bool | IsAReferenceTo () const |
Checks if this object is a reference clone of another object. More... | |
FbxObject * | GetReferenceTo () const |
If this object is a reference clone, returns the original object (from which the clone originates). More... | |
bool | IsReferencedBy () const |
Checks if any objects are reference cloned from this object. More... | |
int | GetReferencedByCount () const |
Returns the number of objects that are reference clones of this object. More... | |
FbxObject * | GetReferencedBy (int pIndex) const |
Returns a reference clone of this object at the specified index. More... | |
void | SetName (const char *pName) |
Sets the name of this object. More... | |
const char * | GetName () const |
Returns the full name of this object. More... | |
FbxString | GetNameWithoutNameSpacePrefix () const |
Returns the name of the object without the namespace qualifier. More... | |
FbxString | GetNameWithNameSpacePrefix () const |
Returns the name of the object with the namespace qualifier. More... | |
void | SetInitialName (const char *pName) |
Sets the initial name of the object. More... | |
const char * | GetInitialName () const |
Returns the initial name of the object. More... | |
FbxString | GetNameSpaceOnly () |
Returns the namespace of the object. More... | |
void | SetNameSpace (FbxString pNameSpace) |
Sets the namespace of the object. More... | |
FbxArray< FbxString * > | GetNameSpaceArray (char identifier) |
Returns an array of all the namespaces for this object. More... | |
FbxString | GetNameOnly () const |
Returns only the name (no namespace or prefix) of the object. More... | |
FbxString | GetNameSpacePrefix () const |
Returns the namespace qualifier. More... | |
const FbxUInt64 & | GetUniqueID () const |
Returns the unique ID of this object. More... | |
![]() | |
void | AddListener (FbxEventHandler &pHandler) |
Add the specified event handler to current emitter list. More... | |
void | RemoveListener (FbxEventHandler &pHandler) |
Remove the specified event handler from current emitter list. More... | |
template<typename EventType > | |
void | Emit (const EventType &pEvent) const |
Emit an event with the specified the event type. More... | |
Static Public Member Functions | |
static FbxMesh * | Create (FbxManager *pManager, const char *pName) |
static FbxMesh * | Create (FbxObject *pContainer, const char *pName) |
![]() | |
static FbxGeometry * | Create (FbxManager *pManager, const char *pName) |
static FbxGeometry * | Create (FbxObject *pContainer, const char *pName) |
![]() | |
static FbxGeometryBase * | Create (FbxManager *pManager, const char *pName) |
static FbxGeometryBase * | Create (FbxObject *pContainer, const char *pName) |
![]() | |
static FbxLayerContainer * | Create (FbxManager *pManager, const char *pName) |
static FbxLayerContainer * | Create (FbxObject *pContainer, const char *pName) |
![]() | |
static FbxNodeAttribute * | Create (FbxManager *pManager, const char *pName) |
static FbxNodeAttribute * | Create (FbxObject *pContainer, const char *pName) |
![]() | |
static FbxObject * | Create (FbxManager *pManager, const char *pName) |
static FbxObject * | Create (FbxObject *pContainer, const char *pName) |
static FbxString | RemovePrefix (char *pName) |
Removes the prefix of pName. More... | |
static FbxString | StripPrefix (FbxString &lName) |
Strips the prefix of pName. More... | |
static FbxString | StripPrefix (const char *pName) |
Strips the prefix of pName. More... | |
Static Public Attributes | |
static FbxClassId | ClassId |
![]() | |
static FbxClassId | ClassId |
![]() | |
static FbxClassId | ClassId |
![]() | |
static FbxClassId | ClassId |
![]() | |
static FbxClassId | ClassId |
static const char * | sColor |
Property Names. More... | |
static const FbxDouble3 | sDefaultColor |
Property Default Values. More... | |
![]() | |
static FbxClassId | ClassId |
Protected Member Functions | |
virtual | ~ FbxMesh () |
FbxMesh (FbxManager &pManager, const char *pName) | |
![]() | |
virtual | ~ FbxGeometry () |
FbxGeometry (FbxManager &pManager, const char *pName) | |
![]() | |
virtual | ~ FbxGeometryBase () |
FbxGeometryBase (FbxManager &pManager, const char *pName) | |
![]() | |
virtual | ~ FbxLayerContainer () |
FbxLayerContainer (FbxManager &pManager, const char *pName) | |
![]() | |
virtual | ~ FbxNodeAttribute () |
FbxNodeAttribute (FbxManager &pManager, const char *pName) | |
![]() | |
virtual | ~ FbxObject () |
virtual void | Construct (const FbxObject *pFrom) |
Optional constructor override, automatically called by default constructor. More... | |
virtual void | ConstructProperties (bool pForceSet) |
Optional property constructor override, automatically called by default constructor. More... | |
virtual void | Destruct (bool pRecursive) |
Optional destructor override, automatically called by default destructor. More... | |
virtual void | ContentClear () |
Clears this object's content from memory. More... | |
virtual FbxPeripheral * | GetPeripheral () |
Retrieves the peripheral of that object. More... | |
Static Protected Member Functions | |
static FbxMesh * | Allocate (FbxManager *pManager, const char *pName, const FbxMesh *pFrom) |
![]() | |
static FbxGeometry * | Allocate (FbxManager *pManager, const char *pName, const FbxGeometry *pFrom) |
![]() | |
static FbxGeometryBase * | Allocate (FbxManager *pManager, const char *pName, const FbxGeometryBase *pFrom) |
![]() | |
static FbxLayerContainer * | Allocate (FbxManager *pManager, const char *pName, const FbxLayerContainer *pFrom) |
![]() | |
static FbxNodeAttribute * | Allocate (FbxManager *pManager, const char *pName, const FbxNodeAttribute *pFrom) |
![]() | |
static FbxObject * | Allocate (FbxManager *pManager, const char *pName, const FbxObject *pFrom) |
Friends | |
class | fbxsdk ::FbxManager |
template<typename T > | |
T * | fbxsdk ::FbxNew () |
template<typename T , typename T1 > | |
T * | fbxsdk ::FbxNew (T1 &p1) |
template<typename T , typename T1 > | |
T * | fbxsdk ::FbxNew (const T1 &p1) |
template<typename T , typename T1 , typename T2 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2) |
template<typename T , typename T1 , typename T2 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2) |
template<typename T , typename T1 , typename T2 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2) |
template<typename T , typename T1 , typename T2 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, const T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, const T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, const T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8) |
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > | |
T * | fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8, const T9 &p9) |
template<typename T > | |
void | fbxsdk ::FbxDelete (T *p) |
template<typename T > | |
void | fbxsdk ::FbxDelete (const T *p) |
template<typename T > | |
T * | fbxsdk ::FbxNewArray (const int n) |
template<typename T > | |
void | fbxsdk ::FbxDeleteArray (T *p) |
Polygon Management | |
void | BeginPolygon (int pMaterial=-1, int pTexture=-1, int pGroup=-1, bool pLegacy=true) |
Begins the process of adding a polygon to the mesh. More... | |
void | BeginPolygonExt (int pMaterial, int *pTextures) |
Begin writing a polygon. More... | |
void | AddPolygon (int pIndex, int pTextureUVIndex=-1) |
Add a polygon vertex to the current polygon. More... | |
void | EndPolygon () |
End writing a polygon, it should be called after adding one polygon. More... | |
int | GetPolygonCount () const |
Get the polygon count of this mesh. More... | |
int | GetPolygonSize (int pPolygonIndex) const |
Get the number of polygon vertices in a polygon. More... | |
int | GetPolygonGroup (int pPolygonIndex) const |
Get the current group ID of the specified polygon. More... | |
void | SetPolygonGroup (int pPolygonIndex, int pGroup) const |
Assign the specified polygon a group ID. More... | |
int | GetPolygonVertex (int pPolygonIndex, int pPositionInPolygon) const |
Get a polygon vertex (i.e: an index to a control point). More... | |
bool | GetPolygonVertexNormal (int pPolyIndex, int pVertexIndex, FbxVector4 &pNormal) const |
Get the normal associated with the specified polygon vertex. More... | |
bool | GetPolygonVertexNormals (FbxArray< FbxVector4 > &pNormals) const |
Get the normals associated with the mesh for every polygon vertex. More... | |
bool | GetPolygonVertexUV (int pPolyIndex, int pVertexIndex, const char *pUVSetName, FbxVector2 &pUV, bool &pUnmapped) const |
Get the UV associated with the specified polygon vertex. More... | |
bool | GetPolygonVertexUVs (const char *pUVSetName, FbxArray< FbxVector2 > &pUVs, FbxArray< int > *pUnmappedUVId=((void *) 0)) const |
Get the UVs associated with the mesh for every polygon vertex. More... | |
int * | GetPolygonVertices () const |
Get the array of polygon vertices (i.e: indices to the control points). More... | |
int | GetPolygonVertexCount () const |
Gets the number of polygon vertices in the mesh. More... | |
int | GetPolygonVertexIndex (int pPolygonIndex) const |
Gets the start index into the array returned by GetPolygonVertices() for the given polygon. More... | |
int | RemovePolygon (int pPolygonIndex) |
Remove the specified polygon from the mesh. More... | |
int | RemoveDuplicatedEdges (FbxArray< int > &pEdgeIndexList) |
Remove the duplicated edges from the mesh. More... | |
Texture UV Utility Functions. | |
The methods found in this section are utility functions used to handle UV coordinates quickly. Internally, they refer to | |
void | InitTextureUV (int pCount, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Init texture UV coordinates. More... | |
void | AddTextureUV (FbxVector2 pUV, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Add texture UV coordinates. More... | |
int | GetTextureUVCount (FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Get the number of texture UV coordinates. More... | |
int | GetUVLayerCount () const |
Get the number of layer containing at least one channel UVMap. More... | |
FbxArray< FbxLayerElement::EType > | GetAllChannelUV (int pLayer) |
Fills an array describing, for the given layer, which texture channel have UVs associated to it. More... | |
Material, Texture and UV Indices Utility Functions. | |
The methods found in this section are utility functions used to handle Material, Texture and UV indices quickly. Internally, they refer to | |
void | InitMaterialIndices (FbxLayerElement::EMappingMode pMappingMode) |
Initialize material indices. More... | |
void | InitTextureIndices (FbxLayerElement::EMappingMode pMappingMode, FbxLayerElement::EType pTextureType) |
Initialize texture indices. More... | |
void | InitTextureUVIndices (FbxLayerElement::EMappingMode pMappingMode, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Initialize texture UV indices. More... | |
int | GetTextureUVIndex (int pPolygonIndex, int pPositionInPolygon, FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Get a texture UV index associated with a polygon vertex (i.e: an index to a control point). More... | |
void | SetTextureUVIndex (int pPolygonIndex, int pPositionInPolygon, int pIndex, FbxLayerElement::EType pTypeIdentifier) |
Set a texture UV index associated with a polygon vertex (i.e: an index to a control point). More... | |
Utility functions | |
void | Reset () |
Reset the mesh to default values. More... | |
bool | GenerateNormals (bool pOverwrite=false, bool pByCtrlPoint=false, bool pCW=false) |
Generate vertex normals on the mesh. More... | |
bool | CheckIfVertexNormalsCCW () |
Compares the normals calculated by doing cross-products between the polygon vertex and by the ones stored in the normal array. More... | |
bool | CheckSamePointTwice () const |
Verify if the mesh has polygons that are defined on the same point more than once. More... | |
int | RemoveBadPolygons () |
Remove bad polygons from a mesh. More... | |
Point Splitting/Merging utility functions | |
bool | SplitPoints (FbxLayerElement::EType pTypeIdentifier=FbxLayerElement::eTextureDiffuse) |
Split points. More... | |
bool | BuildMergeList (FbxArray< int > &pMergeList, bool pExport=false) |
Insert the new indexes of the object that have to be merged. More... | |
void | MergePointsForPolygonVerteNormals (FbxArray< int > &pMergeList) |
Merge the points specified in the list. More... | |
Edge management functions | |
void | BuildMeshEdgeArray () |
Automatically generate edge data for the mesh. More... | |
int | GetMeshEdgeCount () const |
Query the number of edges defined on this mesh. More... | |
int | GetMeshEdgeIndex (int pStartVertexIndex, int pEndVertexIndex, bool &pReversed, int pExistedEdgeCount=-1) |
Get the index for the edge between the given vertices. More... | |
void | BeginGetMeshEdgeIndexForPolygon () |
Use this method before calling GetMeshEdgeIndexForPolygon if making several calls to that method. More... | |
void | EndGetMeshEdgeIndexForPolygon () |
Use this method after calling GetMeshEdgeIndexForPolygon if making several calls to that method. More... | |
int | GetMeshEdgeIndexForPolygon (int pPolygon, int pPositionInPolygon) |
Get the index for the specific edge of pPolygon. More... | |
void | GetMeshEdgeVertices (int pEdgeIndex, int &pStartVertexIndex, int &pEndVertexIndex) const |
Get the vertices for the given edge. More... | |
void | BeginGetMeshEdgeVertices () |
Use this method before calling GetMeshEdgeVertices if making several calls to that method. More... | |
void | EndGetMeshEdgeVertices () |
Use this method after calling GetMeshEdgeVertices if making several calls to that method. More... | |
void | SetMeshEdgeCount (int pEdgeCount) |
Presets the number edge data elements. More... | |
void | SetMeshEdge (int pEdgeIndex, int pValue) |
Sets element in edge array to specific value. More... | |
int | AddMeshEdgeIndex (int pStartVertexIndex, int pEndVertexIndex, bool pCheckForDuplicates) |
Add an edge with the given start/end points. More... | |
int | SetMeshEdgeIndex (int pEdgeIndex, int pStartVertexIndex, int pEndVertexIndex, bool pCheckForDuplicates, int pExistedEdgeCount=-1) |
Set the index for the edge with the given start/end points. More... | |
void | BeginAddMeshEdgeIndex () |
Call this before calling AddMeshEdgeIndex or SetMeshEdgeIndex to increase performance. More... | |
void | EndAddMeshEdgeIndex () |
After calling AddMeshEdgeIndex or SetMeshEdgeIndex, EndAddMeshEdgeIndex should be called. More... | |
int | AddMeshEdgeIndexForPolygon (int pPolygonIndex, int pPositionInPolygon) |
Adds an edge for the specified polygon, and edge number within the polygon. More... | |
bool | SetMeshEdgeIndex (int pEdgeIndex, int pPolygonIndex, int pPositionInPolygon) |
Sets the specified edge to the specified polygon's edge. More... | |
bool | IsTriangleMesh () const |
Determines if the mesh is composed entirely of triangles. More... | |
Crease utility functions | |
double | GetEdgeCreaseInfo (int pEdgeIndex) |
Get crease weight by edge index. More... | |
bool | GetEdgeCreaseInfoArray (FbxLayerElementArrayTemplate< double > **pCreaseArray) |
Get crease edge array. More... | |
double | GetVertexCreaseInfo (int pVertexIndex) |
Get crease weight by vertex index. More... | |
bool | GetVertexCreaseInfoArray (FbxLayerElementArrayTemplate< double > **pCreaseArray) |
Get vertex crease array. More... | |
bool | SetEdgeCreaseInfo (int pEdgeIndex, double pWeight) |
Set crease weight by edge index. More... | |
bool | SetEdgeCreaseInfoArray (FbxArray< double > *pWeightArray) |
Set crease weight data array. More... | |
bool | SetVertexCreaseInfo (int pVertexIndex, double pWeight) |
Set crease weight by vertex index. More... | |
bool | SetVertexCreaseInfoArray (FbxArray< double > *pWeightArray) |
Set crease weight data array. More... | |
Smooth mesh preview utility functions | |
enum | ESmoothness { eHull, eRough, eMedium, eFine } |
Display Smoothness. More... | |
enum | EBoundaryRule { eLegacy, eCreaseAll, eCreaseEdge } |
the boundary rule. More... | |
FbxMesh::ESmoothness | GetMeshSmoothness () const |
Get display smoothness from mesh. More... | |
void | SetMeshSmoothness (FbxMesh::ESmoothness pSmoothness) |
Set the mesh display smoothness mode. More... | |
int | GetMeshPreviewDivisionLevels () const |
Get preview subdivision levels from mesh. More... | |
void | SetMeshPreviewDivisionLevels (int pPreviewDivisionLevels) |
Set mesh preview subdivision levels. More... | |
int | GetMeshRenderDivisionLevels () const |
Get render subdivision levels from mesh. More... | |
void | SetMeshRenderDivisionLevels (int pRenderDivisionLevels) |
Set mesh render subdivision levels. More... | |
bool | GetDisplaySubdivisions () const |
Query whether to display subdivisions isolines on mesh. More... | |
void | SetDisplaySubdivisions (bool pDisplySubdivisions) |
Set the DisplySubdivisions state. More... | |
EBoundaryRule | GetBoundaryRule () const |
Get BoundaryRule from mesh. More... | |
void | SetBoundaryRule (EBoundaryRule pBoundaryRule) |
Set BoundaryRule for this mesh. More... | |
bool | GetPreserveBorders () const |
Query whether to preserve borders when preview smooth mesh is enabled. More... | |
void | SetPreserveBorders (bool pPreserveBorders) |
Set the state of the PreserveBorders flag. More... | |
bool | GetPreserveHardEdges () const |
Query whether to preserve hard edges when preview smooth mesh. More... | |
void | SetPreserveHardEdges (bool pPreserveHardEdges) |
Set the state of the PreserveHardEdges flag. More... | |
bool | GetPropagateEdgeHardness () const |
Query whether to PropagateEdgeHardness when preview smooth mesh. More... | |
void | SetPropagateEdgeHardness (bool pPropagateEdgeHardness) |
Set state of the PropagateEdgeHardness flag. More... | |
Geometry hole management utility functions | |
bool | GetPolyHoleInfo (int pFaceIndex) |
Get hole flag by face index (an index to a polygon). More... | |
bool | GetPolyHoleInfoArray (FbxLayerElementArrayTemplate< bool > **pHoleArray) |
Get hole flags Array. More... | |
bool | SetPolyHoleInfo (int pFaceIndex, bool pIsHole) |
Sets the flag indicating whether the face represents a hole or not. More... | |
bool | SetPolyHoleInfoArray (FbxArray< bool > *pHoleArray) |
Set hole flags array. More... | |
Tangents data management utility functions | |
bool | GenerateTangentsData (const char *pUVSetName=((void *) 0), bool pOverwrite=false, bool pIgnoreTangentFlip=false) |
Generate tangents data for UVSet with specific name. More... | |
bool | GenerateTangentsData (int pUVSetLayerIndex, bool pOverwrite=false, bool pIgnoreTangentFlip=false) |
Generate tangents data for UVSet in specific layer. More... | |
bool | GenerateTangentsDataForAllUVSets (bool pOverwrite=false, bool pIgnoreTangentFlip=false) |
Generate tangents data for all UVSets in all layers. More... | |
Additional Inherited Members | |
![]() | |
FbxPropertyT< FbxBool > | PrimaryVisibility |
Control the geometry render state. Geometry can still cast shadows even if this is turned off. More... | |
FbxPropertyT< FbxBool > | CastShadow |
If true, the geometry will produce shadows. More... | |
FbxPropertyT< FbxBool > | ReceiveShadow |
If true, the geometry will receive shadows. More... | |
FbxPropertyT< FbxDouble3 > | BBoxMin |
The minimum value of the control points bounding box. More... | |
FbxPropertyT< FbxDouble3 > | BBoxMax |
The maximum value of the control points bounding box. More... | |
![]() | |
FbxPropertyT< FbxDouble3 > | Color |
This property handles the color. More... | |
![]() | |
FbxProperty | RootProperty |
The root property that holds all children property for this object. More... | |
typedef FbxGeometry ParentClass |
enum ESmoothness |
Display Smoothness.
It represents smooth mesh preview mode. This concept is not used in the FBX SDK but simply carried over so applications can access it and perform the appropriate tasks.
Enumerator | |
---|---|
eHull | Default value, not active "smooth mesh preview". |
eRough | Not active "smooth mesh preview". |
eMedium | Both display cage and smooth mesh. |
eFine | Display smooth mesh. |
Definition at line 561 of file fbxmesh.h.
enum EBoundaryRule |
|
inlineprotectedvirtual |
|
inlineprotected |
|
inlinevirtual |
|
static |
|
staticprotected |
|
virtual |
Return the type of node attribute.
Reimplemented from FbxGeometry.
void BeginPolygon | ( | int | pMaterial = -1 , |
int | pTexture = -1 , |
||
int | pGroup = -1 , |
||
bool | pLegacy = true |
||
) |
Begins the process of adding a polygon to the mesh.
Add vertexes to the polygon using AddPolygon. When the polygon is complete call EndPolygon to complete the creation of the polygon.
pMaterial | Index of material to assign to this polygon if material mapping type is eByPolygon. Otherwise it must be -1 . |
pTexture | Index of texture to assign to this polygon if texture mapping type is eByPolygon. Otherwise it must be -1 . |
pGroup | Group index assigned to polygon. |
pLegacy | When set to true , automatically create a LayerElement of type Texture; This was the default behavior of earlier versions of the FBX SDK. Since version 2010, the textures are connected to the material object. |
void BeginPolygonExt | ( | int | pMaterial, |
int * | pTextures | ||
) |
Begin writing a polygon.
Add vertexes to the polygon using AddPolygon. When the polygon is complete call EndPolygon to complete the creation of the polygon.
pMaterial | Index of material to assign to this polygon if material mapping type is eByPolygon. Otherwise it must be -1 . |
pTextures | Array of index of texture (by texture type) to assign to this polygon if texture mapping type is eByPolygon. Otherwise it must be an array of -1 . This array is expected to be of size: FbxLayerElement::sTypeTextureCount. If one texture type is not used, the corresponding entry must be left at -1 . |
void AddPolygon | ( | int | pIndex, |
int | pTextureUVIndex = -1 |
||
) |
Add a polygon vertex to the current polygon.
pIndex | Index in the table of the control points. |
pTextureUVIndex | Index of texture UV coordinates to assign to this polygon if texture UV mapping type is eByPolygonVertex. Otherwise it must be -1 . |
void EndPolygon | ( | ) |
End writing a polygon, it should be called after adding one polygon.
|
inline |
Get the polygon count of this mesh.
|
inline |
Get the number of polygon vertices in a polygon.
pPolygonIndex | Index of the polygon. |
int GetPolygonGroup | ( | int | pPolygonIndex | ) | const |
Get the current group ID of the specified polygon.
A polygon group can be useful to identify a number of polygons that share the same properties. The FBX SDK does not use this information internally but guarantee its persistence in the FBX files and in memory.
pPolygonIndex | Index of the polygon. |
|
inline |
Assign the specified polygon a group ID.
A polygon can only be assigned to one group at the time.
pPolygonIndex | Index of the polygon. |
pGroup | Group index assigned to the polygon. |
|
inline |
Get a polygon vertex (i.e: an index to a control point).
pPolygonIndex | Index of queried polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonCount() . |
pPositionInPolygon | Position of polygon vertex in indexed polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonSize(pPolygonIndex) . |
bool GetPolygonVertexNormal | ( | int | pPolyIndex, |
int | pVertexIndex, | ||
FbxVector4 & | pNormal | ||
) | const |
Get the normal associated with the specified polygon vertex.
pPolyIndex | Index of the polygon. |
pVertexIndex | Index of the vertex in the polygon. |
pNormal | The returned normal. |
True
on success, false
on failure. pNormal
remain unchanged if the requested vertex does not exists. bool GetPolygonVertexNormals | ( | FbxArray< FbxVector4 > & | pNormals | ) | const |
Get the normals associated with the mesh for every polygon vertex.
pNormals | The returned normals. |
True
on success, false
on failure. bool GetPolygonVertexUV | ( | int | pPolyIndex, |
int | pVertexIndex, | ||
const char * | pUVSetName, | ||
FbxVector2 & | pUV, | ||
bool & | pUnmapped | ||
) | const |
Get the UV associated with the specified polygon vertex.
pPolyIndex | Index of the polygon. |
pVertexIndex | Index of the vertex in the polygon. |
pUVSetName | The name of the UV set that contains the UV. |
pUV | The returned UV. |
pUnmapped | State flag that indicates if the polygon vertex does not have an associated UV. |
True
on success, false
on failure. pUV
remain unchanged if the requested vertex does not exists. true
if the specified polygon vertex does not have an associated UV. In this case, pUnampped is set to true
and the content of pUV
is undefined. bool GetPolygonVertexUVs | ( | const char * | pUVSetName, |
FbxArray< FbxVector2 > & | pUVs, | ||
FbxArray< int > * | pUnmappedUVId = ((void *) 0) |
||
) | const |
Get the UVs associated with the mesh for every polygon vertex.
pUVSetName | The name of the UV set that contains the UVs. |
pUVs | The returned UVs. |
pUnmappedUVId | If specified, this array will be filled with the indices of the UVs that are not associated to a polygon vertex and thus, have an undefined value. If the array as a size of 0, then all the polygon vertices have an associated UV coordinate and the pUVs array can be used as is. Otherwise, the calling application may be required to process the invalid UV coordinates to avoid inconsistent results. It is strongly suggested to use the FbxLayerElementUV's Direct and Indexed arrays directly (specially if the calling application supports indirection of the UVs). |
True
on success, false
on failure. int* GetPolygonVertices | ( | ) | const |
Get the array of polygon vertices (i.e: indices to the control points).
This array is a concatenation of the list of polygon vertices of all the polygons. Example: a mesh made of 2 triangles with vertices [1,2,3] and vertices [2,3,4] results in [1,2,3,2,3,4]. The first polygon starts at position 0 and the second at position 3.
|
inline |
Gets the number of polygon vertices in the mesh.
int GetPolygonVertexIndex | ( | int | pPolygonIndex | ) | const |
Gets the start index into the array returned by GetPolygonVertices() for the given polygon.
This method can be used for a faster access to the polygon vertices indices. If, for example, we want to access the indices for polygon 3, the following code would do the trick
pPolygonIndex | The polygon of interest. |
int RemovePolygon | ( | int | pPolygonIndex | ) |
Remove the specified polygon from the mesh.
This method will automatically update the layers accordingly.
pPolygonIndex | Index of the polygon. |
int RemoveDuplicatedEdges | ( | FbxArray< int > & | pEdgeIndexList | ) |
Remove the duplicated edges from the mesh.
This method will remove duplicated edges. It will not change any vertex and not change the mesh topology.
pEdgeIndexList | Index list of edges. |
void InitTextureUV | ( | int | pCount, |
FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse |
||
) |
Init texture UV coordinates.
pCount | Number of texture UV elements. |
pTypeIdentifier | Specifies which texture channel this UV refers to. |
pCount
must equal the number of control points of the Mesh if the UV mapping mode is FbxLayerElement::eByControlPoint. void AddTextureUV | ( | FbxVector2 | pUV, |
FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse |
||
) |
Add texture UV coordinates.
Appends a new element at the end of the array of texture UV coordinates.
pUV | Texture UV coordinates, ranging between 0 and 1 . |
pTypeIdentifier | Specifies which texture channel this UV refers to. |
int GetTextureUVCount | ( | FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse | ) |
Get the number of texture UV coordinates.
pTypeIdentifier | The texture channel the UV refers to. |
int GetUVLayerCount | ( | ) | const |
Get the number of layer containing at least one channel UVMap.
return 0 if no UV maps have been defined.
FbxArray<FbxLayerElement::EType> GetAllChannelUV | ( | int | pLayer | ) |
Fills an array describing, for the given layer, which texture channel have UVs associated to it.
pLayer | Index of the layer. |
void InitMaterialIndices | ( | FbxLayerElement::EMappingMode | pMappingMode | ) |
Initialize material indices.
pMappingMode | The mapping mode. This method must be called after FbxGeometryBase::InitControlPoints(). The material indices refer to the position of a material in the FbxLayerElementMaterial's direct array. See FbxLayerElementMaterial for more details. Supported mapping types are eByControlPoint, eByPolygon and eALL_SAME.
|
void InitTextureIndices | ( | FbxLayerElement::EMappingMode | pMappingMode, |
FbxLayerElement::EType | pTextureType | ||
) |
Initialize texture indices.
pMappingMode | The mapping mode. The texture indices refer to the texture connection to the material. In older versions of the FBX SDK, the indices were referring to the entries in the direct array of the FbxLayerElementTexture. See FbxLayerElementTexture for more details. Supported mapping modes are eByPolygon and eALL_SAME.
|
pTextureType | The texture channel identifier. |
void InitTextureUVIndices | ( | FbxLayerElement::EMappingMode | pMappingMode, |
FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse |
||
) |
Initialize texture UV indices.
pMappingMode | The mapping mode. The texture UV indices refer to the index of an element in the FbxLayerElementUV's direct array. See FbxLayerElementUV for more details. Supported mapping types are eByControlPoint , eByPolygonVertex and eALL_SAME.
|
pTypeIdentifier | The texture channel the UVIndices refers to. |
int GetTextureUVIndex | ( | int | pPolygonIndex, |
int | pPositionInPolygon, | ||
FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse |
||
) |
Get a texture UV index associated with a polygon vertex (i.e: an index to a control point).
pPolygonIndex | Index of polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonCount(). |
pPositionInPolygon | Position of polygon vertex in indexed polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonSize(pPolygonIndex). |
pTypeIdentifier | The texture channel the UVIndex refers to. |
void SetTextureUVIndex | ( | int | pPolygonIndex, |
int | pPositionInPolygon, | ||
int | pIndex, | ||
FbxLayerElement::EType | pTypeIdentifier | ||
) |
Set a texture UV index associated with a polygon vertex (i.e: an index to a control point).
pPolygonIndex | Index of polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonCount(). |
pPositionInPolygon | Position of polygon vertex in indexed polygon. The valid range for this parameter is 0 to FbxMesh::GetPolygonSize(pPolygonIndex). |
pIndex | The index of the texture UV we want to assign to the polygon vertex. |
pTypeIdentifier | The texture channel the UVIndex refers to. |
void Reset | ( | ) |
Reset the mesh to default values.
Frees and set to NULL
all layers and clear the polygon and the control point array.
bool GenerateNormals | ( | bool | pOverwrite = false , |
bool | pByCtrlPoint = false , |
||
bool | pCW = false |
||
) |
Generate vertex normals on the mesh.
The normal computation takes into consideration, as much as possible, the smoothing groups.
pOverwrite | If true, re-generate normals data regardless of availability, otherwise left untouched if exist. |
pByCtrlPoint | If true, the recomputed normals will be defined by control points instead of by polygon vertex. |
pCW | True if the normals are calculated clockwise, false otherwise (counter-clockwise). |
true
if successfully generated normals data, or if already available and pOverwrite is false. bool CheckIfVertexNormalsCCW | ( | ) |
Compares the normals calculated by doing cross-products between the polygon vertex and by the ones stored in the normal array.
false
if ALL of them are Clockwise. Returns true
otherwise. bool CheckSamePointTwice | ( | ) | const |
Verify if the mesh has polygons that are defined on the same point more than once.
int RemoveBadPolygons | ( | ) |
Remove bad polygons from a mesh.
Degenerate polygons use a vertex more than once. Remove them from the mesh and from the layer element indices as needed.
bool SplitPoints | ( | FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse | ) |
Split points.
pTypeIdentifier | Specify which UVs are processed. |
true
if a split occurred, false otherwise. bool BuildMergeList | ( | FbxArray< int > & | pMergeList, |
bool | pExport = false |
||
) |
Insert the new indexes of the object that have to be merged.
pMergeList | The list that will contain the indexes of the objects to merge. |
pExport | If set to true , include the duplicate indexes in the merge list. |
void MergePointsForPolygonVerteNormals | ( | FbxArray< int > & | pMergeList | ) |
Merge the points specified in the list.
pMergeList | List containing the information on the points that will be merged. |
void BuildMeshEdgeArray | ( | ) |
Automatically generate edge data for the mesh.
Clears all previously stored edge information
int GetMeshEdgeCount | ( | ) | const |
Query the number of edges defined on this mesh.
int GetMeshEdgeIndex | ( | int | pStartVertexIndex, |
int | pEndVertexIndex, | ||
bool & | pReversed, | ||
int | pExistedEdgeCount = -1 |
||
) |
Get the index for the edge between the given vertices.
Note that the result of this method is the same if pStartVertexIndex and pEndVertexIndex are swapped.
pStartVertexIndex | The starting point of the edge. |
pEndVertexIndex | The ending point of the edge. |
pReversed | flag will be set to true if the reverse edge is found, false otherwise. |
pExistedEdgeCount | legal edge count in mEdgeArray |
void BeginGetMeshEdgeIndexForPolygon | ( | ) |
Use this method before calling GetMeshEdgeIndexForPolygon if making several calls to that method.
Once done calling GetMeshEdgeIndexForPolygon, call EndGetMeshEdgeIndex. This will optimize access time. Do not modify the mesh between calls to BeginGetMeshEdgeIndex and EndGetMeshEdgeIndex.
void EndGetMeshEdgeIndexForPolygon | ( | ) |
Use this method after calling GetMeshEdgeIndexForPolygon if making several calls to that method.
This will optimize access time. Do not modify the mesh between calls to BeginGetMeshEdgeIndex and EndGetMeshEdgeIndex.
int GetMeshEdgeIndexForPolygon | ( | int | pPolygon, |
int | pPositionInPolygon | ||
) |
Get the index for the specific edge of pPolygon.
pPolygon | The polygon of interest. |
pPositionInPolygon | The specific edge number in the polygon. |
void GetMeshEdgeVertices | ( | int | pEdgeIndex, |
int & | pStartVertexIndex, | ||
int & | pEndVertexIndex | ||
) | const |
Get the vertices for the given edge.
Note that the values returned are indices into the control point array.
pEdgeIndex | The edge to query. |
pStartVertexIndex | The edge's starting point will be stored here. |
pEndVertexIndex | The edge's starting point will be stored here. |
void BeginGetMeshEdgeVertices | ( | ) |
Use this method before calling GetMeshEdgeVertices if making several calls to that method.
Once done calling GetMeshEdgeVertices, call EndGetMeshEdgeVertices. This will optimize access time. Do not modify the mesh between calls to BeginGetMeshEdgeVertices and EndGetMeshEdgeVertices.
void EndGetMeshEdgeVertices | ( | ) |
Use this method after calling GetMeshEdgeVertices if making several calls to that method.
This will optimize access time. Do not modify the mesh between calls to BeginGetMeshEdgeVertices and EndGetMeshEdgeVertices.
void SetMeshEdgeCount | ( | int | pEdgeCount | ) |
Presets the number edge data elements.
pEdgeCount | The number of edges to allocate. |
|
inline |
int AddMeshEdgeIndex | ( | int | pStartVertexIndex, |
int | pEndVertexIndex, | ||
bool | pCheckForDuplicates | ||
) |
Add an edge with the given start/end points.
Note that the inserted edge may start at the given end point, and end at the given start point.
pStartVertexIndex | The starting point of the edge. |
pEndVertexIndex | The ending point of the edge. |
pCheckForDuplicates | Set to true to check if the mesh already contains an edge with these two points. Can be set to false to speed up this method, when the incoming edges are known to be consistent. |
int SetMeshEdgeIndex | ( | int | pEdgeIndex, |
int | pStartVertexIndex, | ||
int | pEndVertexIndex, | ||
bool | pCheckForDuplicates, | ||
int | pExistedEdgeCount = -1 |
||
) |
Set the index for the edge with the given start/end points.
Note that the edge may start at the given end point, and end at the given start point.
pEdgeIndex | The edge index of the edge. |
pStartVertexIndex | The starting point of the edge. |
pEndVertexIndex | The ending point of the edge. |
pCheckForDuplicates | Set to true to check if the mesh already contains an edge with these two points. Can be set to false to speed up this method, when the incoming edges are known to be consistent. |
pExistedEdgeCount | the valid edge count that we have created in edge array. This parameter only works when pCheckForDuplicates is true. The default value is -1 which meaning current edge array has been fully filled with valid edges, i.e., we will search the full edge array for the duplicated edge. |
void BeginAddMeshEdgeIndex | ( | ) |
Call this before calling AddMeshEdgeIndex or SetMeshEdgeIndex to increase performance.
Once finished adding/setting edges EndAddMeshEdgeIndex should be called.
void EndAddMeshEdgeIndex | ( | ) |
After calling AddMeshEdgeIndex or SetMeshEdgeIndex, EndAddMeshEdgeIndex should be called.
int AddMeshEdgeIndexForPolygon | ( | int | pPolygonIndex, |
int | pPositionInPolygon | ||
) |
Adds an edge for the specified polygon, and edge number within the polygon.
See SetMeshEdgeIndex for notes the the parameters.
pPolygonIndex | The polygon of interest. |
pPositionInPolygon | The edge within the polygon |
bool SetMeshEdgeIndex | ( | int | pEdgeIndex, |
int | pPolygonIndex, | ||
int | pPositionInPolygon | ||
) |
Sets the specified edge to the specified polygon's edge.
Note that the position in the polygon ranges from 0 to GetPolygonSize(pPolygonindex) - 1 and represents the edge from GetPolygonVertex(pPolygonIndex, pPositionInPolygon) to GetPolygonVertex( pPolygonIndex, pPositionInPolygon + 1 ) or from pPositionInPolygon to 0 if pPositionInPolygon == GetPolygonSize(pPolygonindex) - 1
pEdgeIndex | The edge. |
pPolygonIndex | The polygon. |
pPositionInPolygon | The specific edge number in the polygon. |
bool IsTriangleMesh | ( | ) | const |
Determines if the mesh is composed entirely of triangles.
|
inline |
|
inline |
bool GetTextureUV | ( | FbxLayerElementArrayTemplate< FbxVector2 > ** | pLockableArray, |
FbxLayerElement::EType | pTypeIdentifier = FbxLayerElement::eTextureDiffuse |
||
) | const |
bool GetMaterialIndices | ( | FbxLayerElementArrayTemplate< int > ** | pLockableArray | ) | const |
bool GetTextureIndices | ( | FbxLayerElementArrayTemplate< int > ** | pLockableArray, |
FbxLayerElement::EType | pTextureType | ||
) | const |
double GetEdgeCreaseInfo | ( | int | pEdgeIndex | ) |
Get crease weight by edge index.
pEdgeIndex | Edge index. |
bool GetEdgeCreaseInfoArray | ( | FbxLayerElementArrayTemplate< double > ** | pCreaseArray | ) |
Get crease edge array.
pCreaseArray | Edge crease data array. |
true
if the pCreaseArray is filled successfully. double GetVertexCreaseInfo | ( | int | pVertexIndex | ) |
Get crease weight by vertex index.
pVertexIndex | Vertex index. |
bool GetVertexCreaseInfoArray | ( | FbxLayerElementArrayTemplate< double > ** | pCreaseArray | ) |
Get vertex crease array.
pCreaseArray | Edge vertex data array. |
true
if the pCreaseArray is filled successfully. bool SetEdgeCreaseInfo | ( | int | pEdgeIndex, |
double | pWeight | ||
) |
Set crease weight by edge index.
pEdgeIndex | Edge index. |
pWeight | Crease weight value in the range [0.0 - 1.0]. |
true
if successfully set the crease weight. bool SetEdgeCreaseInfoArray | ( | FbxArray< double > * | pWeightArray | ) |
Set crease weight data array.
pWeightArray | Edge crease data. |
true
if successfully set the crease weight. bool SetVertexCreaseInfo | ( | int | pVertexIndex, |
double | pWeight | ||
) |
Set crease weight by vertex index.
pVertexIndex | Vertex index. |
pWeight | Crease weight value in the range [0.0 - 1.0]. |
true
if successfully set the crease weight. bool SetVertexCreaseInfoArray | ( | FbxArray< double > * | pWeightArray | ) |
Set crease weight data array.
pWeightArray | Vertex crease data. |
true
if successfully set the crease weight. FbxMesh::ESmoothness GetMeshSmoothness | ( | ) | const |
Get display smoothness from mesh.
void SetMeshSmoothness | ( | FbxMesh::ESmoothness | pSmoothness | ) |
Set the mesh display smoothness mode.
pSmoothness | New smoothness factor. |
int GetMeshPreviewDivisionLevels | ( | ) | const |
Get preview subdivision levels from mesh.
void SetMeshPreviewDivisionLevels | ( | int | pPreviewDivisionLevels | ) |
Set mesh preview subdivision levels.
pPreviewDivisionLevels | Number of subdivisions levels. |
int GetMeshRenderDivisionLevels | ( | ) | const |
Get render subdivision levels from mesh.
void SetMeshRenderDivisionLevels | ( | int | pRenderDivisionLevels | ) |
Set mesh render subdivision levels.
pRenderDivisionLevels | Number of subdivision levels. |
bool GetDisplaySubdivisions | ( | ) | const |
Query whether to display subdivisions isolines on mesh.
void SetDisplaySubdivisions | ( | bool | pDisplySubdivisions | ) |
Set the DisplySubdivisions state.
pDisplySubdivisions | New value for this flag. |
EBoundaryRule GetBoundaryRule | ( | ) | const |
Get BoundaryRule from mesh.
void SetBoundaryRule | ( | EBoundaryRule | pBoundaryRule | ) |
Set BoundaryRule for this mesh.
pBoundaryRule | New value for the internal state of this mesh. |
bool GetPreserveBorders | ( | ) | const |
Query whether to preserve borders when preview smooth mesh is enabled.
void SetPreserveBorders | ( | bool | pPreserveBorders | ) |
Set the state of the PreserveBorders flag.
pPreserveBorders | New value for this flag. |
bool GetPreserveHardEdges | ( | ) | const |
Query whether to preserve hard edges when preview smooth mesh.
void SetPreserveHardEdges | ( | bool | pPreserveHardEdges | ) |
Set the state of the PreserveHardEdges flag.
pPreserveHardEdges | New value for this flag. |
bool GetPropagateEdgeHardness | ( | ) | const |
Query whether to PropagateEdgeHardness when preview smooth mesh.
void SetPropagateEdgeHardness | ( | bool | pPropagateEdgeHardness | ) |
Set state of the PropagateEdgeHardness flag.
pPropagateEdgeHardness | New value for this flag. |
bool GetPolyHoleInfo | ( | int | pFaceIndex | ) |
Get hole flag by face index (an index to a polygon).
pFaceIndex | Index of the queried polygon. |
bool GetPolyHoleInfoArray | ( | FbxLayerElementArrayTemplate< bool > ** | pHoleArray | ) |
Get hole flags Array.
pHoleArray | Hole flags array. |
true
if the pHoleArray is filled successfully. bool SetPolyHoleInfo | ( | int | pFaceIndex, |
bool | pIsHole | ||
) |
Sets the flag indicating whether the face represents a hole or not.
pFaceIndex | Index of the processed polygon. |
pIsHole | If true , this face represent a hole. |
true
if successfully set the hole info. bool SetPolyHoleInfoArray | ( | FbxArray< bool > * | pHoleArray | ) |
Set hole flags array.
pHoleArray | Hole flag array. |
true
if successfully set the hole flags. bool GenerateTangentsData | ( | const char * | pUVSetName = ((void *) 0) , |
bool | pOverwrite = false , |
||
bool | pIgnoreTangentFlip = false |
||
) |
Generate tangents data for UVSet with specific name.
Note that the UV winding order is stored in the W component of the tangent. W = 1.0 (right-handed) W = -1.0 (left-handed) In the case of a left-handed tangent, this function automatically flips the resulting binormal to correct for mirrored geometry.
pUVSetName | The UVSet name to generate tangents data with. The UVSet on the first layer is the the default UVSet to generate. |
pOverwrite | If true, re-generate tangents data regardless of availability, otherwise left untouched if exist. |
pIgnoreTangentFlip | If true, don't test for the tangent flip when deciding which smoothing group to assign. |
true
if successfully generated tangents data, or if already available and pOverwrite is false. bool GenerateTangentsData | ( | int | pUVSetLayerIndex, |
bool | pOverwrite = false , |
||
bool | pIgnoreTangentFlip = false |
||
) |
Generate tangents data for UVSet in specific layer.
Note that the UV winding order is stored in the W component of the tangent. W = 1.0 (right-handed) W = -1.0 (left-handed) In the case of a left-handed tangent, this function automatically flips the resulting binormal to correct for mirrored geometry.
pUVSetLayerIndex | The layer to generate tangents data with. |
pOverwrite | If true, re-generate tangents data regardless of availability, otherwise left untouched if exist. |
pIgnoreTangentFlip | If true, don't test for the tangent flip when deciding which smoothing group to assign. |
true
if successfully generated tangents data, or if already available and pOverwrite is false. bool GenerateTangentsDataForAllUVSets | ( | bool | pOverwrite = false , |
bool | pIgnoreTangentFlip = false |
||
) |
Generate tangents data for all UVSets in all layers.
Note that the UV winding order is stored in the W component of the tangent: W = 1.0 (right-handed) W = -1.0 (left-handed) In the case of a left-handed tangent, this function automatically flips the resulting binormal to correct for mirrored geometry.
pOverwrite | If true, re-generate tangents data regardless of availability, otherwise left untouched if exist. |
pIgnoreTangentFlip | If true, don't test for the tangent flip when deciding which smoothing group to assign. |
true
if successfully generated tangents data, or if already available and pOverwrite is false.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
static |