Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

FbxGeometryConverter Class Reference

Search for all occurrences

Detailed Description

This class provides the functionality to convert geometry nodes attributes (FbxMesh, FbxNurbs and FbxPatch) and mainly focuses on the two major categories: Triangulation and conversion between NURBS and Patches surfaces.

Examples:

Normals/main.cxx, and ViewScene/SceneContext.cxx.

Definition at line 45 of file fbxgeometryconverter.h.

#include <fbxgeometryconverter.h>

List of all members.

Public Member Functions

  FbxGeometryConverter (FbxManager *pManager)
  Constructor.
  ~FbxGeometryConverter ()
  Destructor.
void  ReplaceNodeAttribute (FbxNode *pNode, FbxNodeAttribute *pNewNodeAttr)
  Replace node attribute with new one.
bool  AddTriangulatedMeshGeometry (FbxNode *pNode, int pUVStepCoeff)
  Add a "triangulated mesh" geometry to the node.
bool  SplitMeshPerMaterial (FbxMesh *pMesh)
  Split Mesh Per Material.
bool  SplitMeshesPerMaterial (FbxScene *pScene)
  Split all the mesh in the scene.
bool  CreateAndCopyLayerElement (FbxMesh *pNewMesh, FbxMesh *pRefMesh)
  Create LayerElement, and copy settings from pRefMesh to pNewMesh.
bool  SetLayerElements (FbxMesh *pNewMesh, FbxMesh *pMesh, int pPolygonIndex, int pPolyPointIndex, int pLoopIndex, bool pIsSearched, bool pIsEndPolygon)
  Set Normals, UVs and Vertex Color, when building new mesh.
FbxMesh TriangulateMeshAdvance (FbxMesh const *pMesh, bool &pStatus)
  Triangulate a mesh(support without holes or with holes simple polygon)
FbxNode MergeMeshes (FbxArray< FbxNode * > &pMeshNodes, const char *pNodeName, FbxScene *pScene)
  Merge multiple meshes to one mesh.

Static Public Member Functions

static void  FbxTriangulation (int *Index, int pNumSide)
  FbxTriangulation.

Protected Member Functions

bool  ComputePatchToMeshControlPointsWeightedMapping (FbxPatch *pSrcPatch, FbxMesh *pDstMesh, FbxWeightedMapping *pMapping, bool pSwapUV=false)
bool  ComputeNurbsToMeshControlPointsWeightedMapping (FbxNurbsSurface *pSrcNurbs, FbxMesh *pDstMesh, FbxWeightedMapping *pMapping, bool pRescaleUVs=false, bool pSwapUV=false)
void  InitializeWeightInControlPoints (FbxGeometryBase *pGeometry)
void  InitializeWeightInNormals (FbxLayerContainer *pLayerContainer)
void  TriangulateContinuousSurface (FbxMesh *pMesh, FbxSurfaceEvaluator *pSurface, FbxUInt pPointCountX, FbxUInt pPointCountY, bool ClockWise=false)
void  CheckForZeroWeightInShape (FbxGeometry *pGeometry)
FbxMesh CreateMeshFromParametricSurface (FbxGeometry const *pGeometry)
FbxNurbs CreateNurbsFromPatch (FbxPatch *pPatch)
FbxNurbsSurface CreateNurbsSurfaceFromPatch (FbxPatch *pPatch)
void  ConvertShapes (FbxGeometry const *pSource, FbxGeometry *pDestination, FbxSurfaceEvaluator *pEvaluator, int pUCount, int pVCount)
void  ConvertShapes (FbxGeometry const *pSource, FbxGeometry *pDestination, FbxWeightedMapping *pSourceToDestinationMapping)
void  ConvertClusters (FbxGeometry const *pSource, FbxGeometry *pDestination, FbxWeightedMapping *pSourceToDestinationMapping)
void  ConvertClusters (FbxArray< FbxCluster * > const &pSourceClusters, int pSourceControlPointsCount, FbxArray< FbxCluster * > &pDestinationClusters, int pDestinationControlPointsCount, FbxWeightedMapping *pSourceToDestinationMapping)
void  BuildClusterToSourceMapping (FbxArray< FbxCluster * > const &pSourceClusters, FbxWeightedMapping *pClusterToSourceMapping)
void  CheckClusterToSourceMapping (FbxWeightedMapping *pClusterToSourceMapping)
void  ConvertCluster (int pSourceClusterIndex, FbxWeightedMapping *pClusterToSourceMapping, FbxWeightedMapping *pSourceToDestinationMapping, FbxCluster *pDestinationCluster)
void  DuplicateControlPoints (FbxArray< FbxVector4 > &pControlPoints, FbxArray< int > &pPolygonVertices)
void  UpdatePolygon (FbxMesh *pNewMesh, FbxMesh const *pRefMesh, int pPolygonIndex, int *pNewIndex, int &pVerticeIndexMeshTriangulated, int &pPolygonIndexMeshTriangulated)
void  UpdatePolygon (FbxMesh *pNewMesh, FbxMesh const *pRefMesh, int pPolygonIndex, int *pNewIndex, int &pVerticeIndexMeshTriangulated, int &pPolygonIndexMeshTriangulated, int pTriangleNum)
void  ResizePolygon (FbxMesh *pNewMesh, int pNewCountVertices=0, int pNewCountPolygons=0, bool pClearFlag=true)
template<class T1 , class T2 >
void  ConvertNurbs (T1 *pNewNurbs, T2 *pOldNurb)
bool  CopyAnimationCurves (FbxNode *pNode, FbxGeometry *pNewGeometry)
bool  FlipNurbsCurve (FbxNurbsCurve *pCurve) const
void  FlipControlPoints (FbxGeometryBase *pPoints, int pUCount, int pVCount) const
bool  ConvertMaterialReferenceMode (FbxMesh *pMeshRef) const
void  RevertMaterialReferenceModeConversion (FbxMesh *pMeshRef) const

Protected Attributes

FbxManager mManager

Triangulation

FbxMesh TriangulateMesh (FbxMesh const *pMesh)
  Triangulate a mesh.
FbxMesh TriangulatePatch (FbxPatch const *pPatch)
  Triangulate a patch.
FbxMesh TriangulateNurbs (FbxNurbs const *pNurbs)
  Triangulate a nurb.
bool  TriangulateInPlace (FbxNode *pNode)
  Triangulate a mesh, patch or nurb contained in a node and preserve the skins and shapes animation channels.
bool  AddAlternateGeometry (FbxNode *pNode, FbxGeometry *pSrcGeom, FbxGeometry *pAltGeom, FbxWeightedMapping *pSrcToAltWeightedMapping, bool pConvertDeformations)
  Add an "alternate" geometry to the node.
bool  ConvertGeometryAnimation (FbxNode *pNode, FbxGeometry *pSrcGeom, FbxGeometry *pDstGeom)
  Convert skins and shapes from source to destination geometry.
bool  ComputeGeometryControlPointsWeightedMapping (FbxGeometry *pSrcGeom, FbxGeometry *pDstGeom, FbxWeightedMapping *pSrcToDstWeightedMapping, bool pSwapUV=false)
  Compute a "vertex-correspondence" table that helps passing from source to destination geometry.

Geometry Conversion

FbxNurbs ConvertPatchToNurbs (FbxPatch *pPatch)
  Convert from patch to nurb.
bool  ConvertPatchToNurbsInPlace (FbxNode *pNode)
  Convert a patch contained in a node to a nurb.
FbxNurbsSurface ConvertPatchToNurbsSurface (FbxPatch *pPatch)
  Convert a patch to nurb surface.
bool  ConvertPatchToNurbsSurfaceInPlace (FbxNode *pNode)
  Convert a patch contained in a node to a nurb surface.
FbxNurbsSurface ConvertNurbsToNurbsSurface (FbxNurbs *pNurbs)
  Convert a FbxNurbs to a FbxNurbsSurface.
FbxNurbs ConvertNurbsSurfaceToNurbs (FbxNurbsSurface *pNurbs)
  Convert a FbxNurbsSurface to a FbxNurbs.
bool  ConvertNurbsToNurbsSurfaceInPlace (FbxNode *pNode)
  Convert a nurb, contained in a node, to a nurbs surface.
bool  ConvertNurbsSurfaceToNurbsInPlace (FbxNode *pNode)
  Convert a nurb contained in a node to a nurbs surface.

Nurb UV and Links Swapping

FbxNurbs FlipNurbs (FbxNurbs *pNurbs, bool pSwapUV, bool pSwapClusters)
  Flip UV and/or skin clusters of a nurb.
FbxNurbsSurface FlipNurbsSurface (FbxNurbsSurface *pNurbs, bool pSwapUV, bool pSwapClusters)
  Flip UV and/or skin clusters of a nurb surface.

Normals By Polygon Vertex Emulation

bool  EmulateNormalsByPolygonVertex (FbxMesh *pMesh)
  Emulate normals by polygon vertex mode for a mesh.
bool  ComputeEdgeSmoothingFromNormals (FbxMesh *pMesh) const
  Create edge smoothing information from polygon-vertex mapped normals.
bool  ComputePolygonSmoothingFromEdgeSmoothing (FbxMesh *pMesh, int pIndex=0) const
  Convert edge smoothing to polygon smoothing group.
bool  ComputeEdgeSmoothingFromPolygonSmoothing (FbxMesh *pMesh, int pIndex=0) const
  Convert polygon smoothing group to edge smoothing.

Constructor & Destructor Documentation

FbxGeometryConverter ( FbxManager pManager )

Constructor.

Parameters:
pManager SDK object manager.

Destructor.


Member Function Documentation

FbxMesh* TriangulateMesh ( FbxMesh const *  pMesh )

Triangulate a mesh.

Parameters:
pMesh Pointer to the mesh to triangulate.
Returns:
Pointer to the new triangulated mesh.
Remarks:
This method creates a new mesh, leaving the source mesh unchanged.
FbxMesh* TriangulatePatch ( FbxPatch const *  pPatch )

Triangulate a patch.

Parameters:
pPatch Pointer to the patch to triangulate.
Returns:
Pointer to the new triangulated mesh.
Remarks:
The current deformations (skins & shapes) on the patch are also converted and applied to the resulting mesh.
FbxMesh* TriangulateNurbs ( FbxNurbs const *  pNurbs )

Triangulate a nurb.

Parameters:
pNurbs Pointer to the nurb to triangulate.
Returns:
Pointer to the new triangulated mesh.
Remarks:
The current deformations (skins and shapes) on the nurb are also converted and applied to the resulting mesh.
bool TriangulateInPlace ( FbxNode pNode )

Triangulate a mesh, patch or nurb contained in a node and preserve the skins and shapes animation channels.

Parameters:
pNode Pointer to the node containing the geometry to triangulate.
Returns:
true on success, or false if the node attribute is not a mesh, a patch or a nurb.
Remarks:
See the remarks for functions TriangulateMesh(), TriangulatePatch() and TriangulateNurbs().
Examples:
ViewScene/SceneContext.cxx.
bool AddAlternateGeometry ( FbxNode pNode,
FbxGeometry pSrcGeom,
FbxGeometry pAltGeom,
FbxWeightedMapping pSrcToAltWeightedMapping,
bool  pConvertDeformations 
)

Add an "alternate" geometry to the node.

Parameters:
pNode Pointer to the node containing the geometry.
pSrcGeom Pointer to the source geometry.
pAltGeom Pointer to the alternate geometry.
pSrcToAltWeightedMapping Pointer to the weighted mapping table (optional).
pConvertDeformations Flag used only if parameter pSrcToAltWeightedMapping is a valid pointer to a weighted mapping table. Set to true to convert deformations using the weighted mapping table.
Returns:
true on success, or false if the node attribute is not a mesh, a patch or a nurb.
Remarks:
Although this method is publicly available, its only use in the FBX SDK is internal to some of the conversion routines declared in this class.
bool ConvertGeometryAnimation ( FbxNode pNode,
FbxGeometry pSrcGeom,
FbxGeometry pDstGeom 
)

Convert skins and shapes from source to destination geometry.

Parameters:
pNode Pointer to the node containing the geometry.
pSrcGeom Pointer to the source geometry.
pDstGeom Pointer to the destination geometry.
Returns:
true on success, false otherwise.
Remarks:
Source and destination geometry must belong to the same node and must be linked by a geometry weighted map.
Although this method is publicly available, its only use in the FBX SDK is internal to some of the conversion routines declared in this class.
bool ComputeGeometryControlPointsWeightedMapping ( FbxGeometry pSrcGeom,
FbxGeometry pDstGeom,
FbxWeightedMapping pSrcToDstWeightedMapping,
bool  pSwapUV = false 
)

Compute a "vertex-correspondence" table that helps passing from source to destination geometry.

Parameters:
pSrcGeom Pointer to the source geometry.
pDstGeom Pointer to the destination geometry.
pSrcToDstWeightedMapping Pointer to the weighted mapping table.
pSwapUV Set to true to swap UVs.
Returns:
true on success, false if the function fails to compute the correspondence.
Remarks:
Skins and shapes are also converted to fit the alternate geometry.
FbxNurbs* ConvertPatchToNurbs ( FbxPatch pPatch )

Convert from patch to nurb.

Parameters:
pPatch Pointer to the patch to convert.
Returns:
Created nurb or NULL if the conversion fails.
Remarks:
The patch must be of type eBSpline, eBezier or eLinear.
bool ConvertPatchToNurbsInPlace ( FbxNode pNode )

Convert a patch contained in a node to a nurb.

Use this function to preserve the patch's skins and shapes animation channels.

Parameters:
pNode Pointer to the node containing the patch.
Returns:
true on success, false if the node attribute is not a patch.
Remarks:
The patch must be of type eBSpline, eBezier or eLinear.
FbxNurbsSurface* ConvertPatchToNurbsSurface ( FbxPatch pPatch )

Convert a patch to nurb surface.

Parameters:
pPatch Pointer to the patch to convert.
Returns:
Created nurb surface or NULL if conversion fails.
Remarks:
The patch must be of type eBSpline, eBezier or eLinear.
bool ConvertPatchToNurbsSurfaceInPlace ( FbxNode pNode )

Convert a patch contained in a node to a nurb surface.

Use this function to preserve the patch's skins and shapes animation channels.

Parameters:
pNode Pointer to the node containing the patch.
Returns:
true on success, false if the node attribute is not a patch.
Remarks:
The patch must be of type eBSpline, eBezier or eLinear.
FbxNurbsSurface* ConvertNurbsToNurbsSurface ( FbxNurbs pNurbs )

Convert a FbxNurbs to a FbxNurbsSurface.

Parameters:
pNurbs Pointer to the original nurb
Returns:
A FbxNurbsSurface that is equivalent to the original nurb.
FbxNurbs* ConvertNurbsSurfaceToNurbs ( FbxNurbsSurface pNurbs )

Convert a FbxNurbsSurface to a FbxNurbs.

Parameters:
pNurbs Pointer to the original nurbs surface
Returns:
A FbxNurbs that is equivalent to the original nurbs surface.
bool ConvertNurbsToNurbsSurfaceInPlace ( FbxNode pNode )

Convert a nurb, contained in a node, to a nurbs surface.

Use this function to preserve the nurb's skins and shapes animation channels.

Parameters:
pNode Pointer to the node containing the nurb.
Returns:
true on success, false otherwise
bool ConvertNurbsSurfaceToNurbsInPlace ( FbxNode pNode )

Convert a nurb contained in a node to a nurbs surface.

Use this function to preserve the nurb's skins and shapes animation channels.

Parameters:
pNode Pointer to the node containing the nurbs surface.
Returns:
true on success, false otherwise
FbxNurbs* FlipNurbs ( FbxNurbs pNurbs,
bool  pSwapUV,
bool  pSwapClusters 
)

Flip UV and/or skin clusters of a nurb.

Parameters:
pNurbs Pointer to the Source nurb.
pSwapUV Set to true to swap the UVs.
pSwapClusters Set to true to swap the control point indices of clusters.
Returns:
A flipped FbxNurbs, or NULL if the function fails.
FbxNurbsSurface* FlipNurbsSurface ( FbxNurbsSurface pNurbs,
bool  pSwapUV,
bool  pSwapClusters 
)

Flip UV and/or skin clusters of a nurb surface.

Parameters:
pNurbs Pointer to the Source nurb surface.
pSwapUV Set to true to swap the UVs.
pSwapClusters Set to true to swap the control point indices of clusters.
Returns:
A flipped FbxNurbsSurface, or NULL if the function fails.
bool EmulateNormalsByPolygonVertex ( FbxMesh pMesh )

Emulate normals by polygon vertex mode for a mesh.

Parameters:
pMesh Pointer to the mesh object.
Returns:
true on success, false if the number of normals in the mesh and in its associated shapes don't match the number of polygon vertices.
Remarks:
For applications that only supports normals by control points, this function duplicates control points to equal the number of polygon vertices. skins and shapes are also converted. As preconditions:
  1. polygons must have been created
  2. the number of normals in the mesh and in its associated shapes must match the number of polygon vertices.
bool ComputeEdgeSmoothingFromNormals ( FbxMesh pMesh ) const

Create edge smoothing information from polygon-vertex mapped normals.

Existing smoothing information is removed and edge data is created if none exists on the mesh.

Parameters:
pMesh The mesh used to generate edge smoothing.
Returns:
true on success, false otherwise.
Remarks:
The edge smoothing data is placed on Layer 0 of the mesh. Normals do not need to be on Layer 0, since the first layer with per polygon vertex normals is used.
bool ComputePolygonSmoothingFromEdgeSmoothing ( FbxMesh pMesh,
int  pIndex = 0 
) const

Convert edge smoothing to polygon smoothing group.

Existing smoothing information is replaced.

Parameters:
pMesh The mesh that contains the smoothing to be converted.
pIndex The index of the layer smoothing to be converted.
Returns:
true on success, false otherwise.
Remarks:
The smoothing group is bitwise. Each bit of the integer represents one smoothing group. Therefore, there is a maximum of 32 smoothing groups.
bool ComputeEdgeSmoothingFromPolygonSmoothing ( FbxMesh pMesh,
int  pIndex = 0 
) const

Convert polygon smoothing group to edge smoothing.

Existing smoothing information is replaced.

Parameters:
pMesh The mesh that contains the smoothing to be converted.
pIndex The index of the layer smoothing to be converted
Returns:
true on success, false otherwise.
void ReplaceNodeAttribute ( FbxNode pNode,
FbxNodeAttribute pNewNodeAttr 
)

Replace node attribute with new one.

Parameters:
pNode Pointer to the node which node attribute will be replaced.
pNewNodeAttr new node attribute.
Remarks:
a)node attribute of all instance object will also be replaced; b)the old node attribute will be destroyed.
bool AddTriangulatedMeshGeometry ( FbxNode pNode,
int  pUVStepCoeff 
)

Add a "triangulated mesh" geometry to the node.

Parameters:
pNode Pointer to the node containing the geometry.
pUVStepCoeff Coefficient factor for the U/V steps. Must be >= 1.
Returns:
true on success, false if the node attribute is not a mesh, a patch or a nurb.
Remarks:
The remarks relative to functions TriangulateMesh(), TriangulatePatch() , TriangulateNurbs() and TriangulateInPlace() are applicable.
bool SplitMeshPerMaterial ( FbxMesh pMesh )

Split Mesh Per Material.

Each split mesh only has a single material on it.

Parameters:
pMesh The mesh that contains the smoothing to be converted.
Returns:
true on success, false otherwise.
Remarks:
It will work only on mesh that have material mapped "per-face" (Mapping Mode is FbxLayerElement::eByPolygon). It does NOT work on meshes with material mapped per-vertex/per-edge/etc. It will create as many meshes on output that there are materials applied to it. If one mesh have some polygons with material A, some polygons with material B, and some polygons with NO material, it should create 3 meshes after calling this function. The newly created meshes should be attached to the same FbxNode that hold the original FbxMesh. The original FbxMesh STAY UNCHANGED. Now, the new mesh will have Normals, UVs, vertex color, material and textures.
bool SplitMeshesPerMaterial ( FbxScene pScene )

Split all the mesh in the scene.

Parameters:
pScene each mesh in the scene will be split.
Returns:
true on success, false otherwise.
bool CreateAndCopyLayerElement ( FbxMesh pNewMesh,
FbxMesh pRefMesh 
)

Create LayerElement, and copy settings from pRefMesh to pNewMesh.

Parameters:
pNewMesh new mesh to create layerElement.
pRefMesh reference mesh, to copy layerElement settings from it.
Returns:
true on success, false otherwise.
bool SetLayerElements ( FbxMesh pNewMesh,
FbxMesh pMesh,
int  pPolygonIndex,
int  pPolyPointIndex,
int  pLoopIndex,
bool  pIsSearched,
bool  pIsEndPolygon 
)

Set Normals, UVs and Vertex Color, when building new mesh.

Remarks:
If MappingMode is FbxLayerElement::eByPolygon, only pIsEndPolygon/pPolygonIndex are meaningful here, pIsSearched/pPolyPointIndex/pLoopIndex are not used here.
FbxMesh* TriangulateMeshAdvance ( FbxMesh const *  pMesh,
bool &  pStatus 
)

Triangulate a mesh(support without holes or with holes simple polygon)

Parameters:
pMesh Pointer to the mesh to triangulate.
pStatus The status is true if the triangulation is successful for the whole mesh.
Returns:
Pointer to the new triangulated mesh.
Remarks:
This method creates a new mesh, leaving the source mesh unchanged.
FbxNode* MergeMeshes ( FbxArray< FbxNode * > &  pMeshNodes,
const char *  pNodeName,
FbxScene pScene 
)

Merge multiple meshes to one mesh.

The method will merge: a) mesh vertex; b) mesh polygon; c) mesh edge; d) all mesh elements; only the layer 0 elements is merged. e) if there are skins for old mesh, merge these skins. The new skin clusters link to old skeletons.

Parameters:
pMeshNodes FBX nodes that hold multiple meshes. These meshes will be merged.
pNodeName Name of new mesh node.
pScene The scene that will contain the new mesh node.
Returns:
The new mesh node if merge successfully, otherwise NULL is returned.
Remarks:
This method creates a new mesh, leaving the source mesh unchanged. The transform of new mesh node is: translate (0, 0, 0), rotation (0, 0, 0), scale (1, 1, 1). For layer element material, normal, smoothing, UV set, vertex color, binormal, tangent and polygon group, if any mesh misses these element, the merge for this kind of element is skipped. For layer element crease, hole, visibility and user data, if any mesh has such element, the kind of element will be merged. The missing element will be filled with default values. For meshes with skin binding, if the pose of frame 0 is different with bind pose, the new mesh will be distorted.
static void FbxTriangulation ( int *  Index,
int  pNumSide 
) [static]

FbxTriangulation.

Parameters:
Index Output array of triangle indices
pNumSide Input number of sides of the polygon to triangulate -- Triangulation algorithm is strip, Sorting vertex index for strip in clockwise.

2 3 4 0----------0---------0 / ` / ` 5 1 / 0 0 / ` / ` / 0 0-----0-------------0 6 7 The result of this one will be [{0,1,2},{2,3,0},{0,3,7},{3,4,7},{7,4,6},{4,5,6}]

bool ComputePatchToMeshControlPointsWeightedMapping ( FbxPatch pSrcPatch,
FbxMesh pDstMesh,
FbxWeightedMapping pMapping,
bool  pSwapUV = false 
) [protected]
bool ComputeNurbsToMeshControlPointsWeightedMapping ( FbxNurbsSurface pSrcNurbs,
FbxMesh pDstMesh,
FbxWeightedMapping pMapping,
bool  pRescaleUVs = false,
bool  pSwapUV = false 
) [protected]
void InitializeWeightInControlPoints ( FbxGeometryBase pGeometry ) [protected]
void InitializeWeightInNormals ( FbxLayerContainer pLayerContainer ) [protected]
void TriangulateContinuousSurface ( FbxMesh pMesh,
FbxSurfaceEvaluator *  pSurface,
FbxUInt  pPointCountX,
FbxUInt  pPointCountY,
bool  ClockWise = false 
) [protected]
void CheckForZeroWeightInShape ( FbxGeometry pGeometry ) [protected]
FbxMesh* CreateMeshFromParametricSurface ( FbxGeometry const *  pGeometry ) [protected]
FbxNurbs* CreateNurbsFromPatch ( FbxPatch pPatch ) [protected]
FbxNurbsSurface* CreateNurbsSurfaceFromPatch ( FbxPatch pPatch ) [protected]
void ConvertShapes ( FbxGeometry const *  pSource,
FbxGeometry pDestination,
FbxSurfaceEvaluator *  pEvaluator,
int  pUCount,
int  pVCount 
) [protected]
void ConvertShapes ( FbxGeometry const *  pSource,
FbxGeometry pDestination,
FbxWeightedMapping pSourceToDestinationMapping 
) [protected]
void ConvertClusters ( FbxGeometry const *  pSource,
FbxGeometry pDestination,
FbxWeightedMapping pSourceToDestinationMapping 
) [protected]
void ConvertClusters ( FbxArray< FbxCluster * > const &  pSourceClusters,
int  pSourceControlPointsCount,
FbxArray< FbxCluster * > &  pDestinationClusters,
int  pDestinationControlPointsCount,
FbxWeightedMapping pSourceToDestinationMapping 
) [protected]
void BuildClusterToSourceMapping ( FbxArray< FbxCluster * > const &  pSourceClusters,
FbxWeightedMapping pClusterToSourceMapping 
) [protected]
void CheckClusterToSourceMapping ( FbxWeightedMapping pClusterToSourceMapping ) [protected]
void ConvertCluster ( int  pSourceClusterIndex,
FbxWeightedMapping pClusterToSourceMapping,
FbxWeightedMapping pSourceToDestinationMapping,
FbxCluster pDestinationCluster 
) [protected]
void DuplicateControlPoints ( FbxArray< FbxVector4 > &  pControlPoints,
FbxArray< int > &  pPolygonVertices 
) [protected]
void UpdatePolygon ( FbxMesh pNewMesh,
FbxMesh const *  pRefMesh,
int  pPolygonIndex,
int *  pNewIndex,
int &  pVerticeIndexMeshTriangulated,
int &  pPolygonIndexMeshTriangulated 
) [protected]
void UpdatePolygon ( FbxMesh pNewMesh,
FbxMesh const *  pRefMesh,
int  pPolygonIndex,
int *  pNewIndex,
int &  pVerticeIndexMeshTriangulated,
int &  pPolygonIndexMeshTriangulated,
int  pTriangleNum 
) [protected]
void ResizePolygon ( FbxMesh pNewMesh,
int  pNewCountVertices = 0,
int  pNewCountPolygons = 0,
bool  pClearFlag = true 
) [protected]
void ConvertNurbs ( T1 *  pNewNurbs,
T2 *  pOldNurb 
) [protected]
bool CopyAnimationCurves ( FbxNode pNode,
FbxGeometry pNewGeometry 
) [protected]
bool FlipNurbsCurve ( FbxNurbsCurve pCurve ) const [protected]
void FlipControlPoints ( FbxGeometryBase pPoints,
int  pUCount,
int  pVCount 
) const [protected]
bool ConvertMaterialReferenceMode ( FbxMesh pMeshRef ) const [protected]
void RevertMaterialReferenceModeConversion ( FbxMesh pMeshRef ) const [protected]

Member Data Documentation

FbxManager* mManager [protected]

The documentation for this class was generated from the following file:

FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter
FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter FbxGeometryConverter