Public Member Functions | Protected Member Functions | Protected Attributes

KFbxGeometryConverter Class Reference

Search for all occurrences

Detailed Description

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

Examples:

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

Definition at line 70 of file kfbxgeometryconverter.h.

#include <kfbxgeometryconverter.h>

List of all members.

Public Member Functions

  KFbxGeometryConverter (KFbxSdkManager *pManager)
  ~KFbxGeometryConverter ()
void  ReplaceNodeAttribute (KFbxNode *pNode, KFbxNodeAttribute *pNewNodeAttr)
  Replace node attribute with new one.
bool  AddTriangulatedMeshGeometry (KFbxNode *pNode, int pUVStepCoeff)
  Add a "triangulated mesh" geometry to the node.
bool  SplitMeshPerMaterial (KFbxMesh *pMesh)
  Split Mesh Per Material.
bool  SplitMeshesPerMaterial (KFbxScene *pScene)
  Split all the mesh in the scene.
bool  CreateAndCopyLayerElement (KFbxMesh *pNewMesh, KFbxMesh *pRefMesh)
  Create LayerElement, and copy settings from pRefMesh to pNewMesh.
bool  SetLayerElements (KFbxMesh *pNewMesh, KFbxMesh *pMesh, int pPolygonIndex, int pPolyPointIndex, int pLoopIndex, bool pIsSearched, bool pIsEndPolygon)
  Set Normals, UVs and Vertex Color, when building new mesh.
KFbxMesh *  TriangulateMeshAdvance (KFbxMesh const *pMesh, bool &pStatus)
  Triangulate a mesh(support without holes or with holes simple polygon)
K_DEPRECATED int  TriangulatePolygon (KFbxMesh *pNewMesh, KFbxVector4 *pControlPoints, int *pVertexIndices, int *pPolyVertexIndices, int pStartVertexIndex, KFbxVector4 &pNormal, int pMaterialIndex, int pPolygonSize, int polygonIndex)
  TriangulatePolygon Triangulation of the current polygon.

Protected Member Functions

bool  ComputePatchToMeshControlPointsWeightedMapping (KFbxPatch *pSrcPatch, KFbxMesh *pDstMesh, KFbxWeightedMapping *pMapping, bool pSwapUV=false)
bool  ComputeNurbToMeshControlPointsWeightedMapping (KFbxNurbsSurface *pSrcNurb, KFbxMesh *pDstMesh, KFbxWeightedMapping *pMapping, bool pRescaleUVs=false, bool pSwapUV=false)
void  InitializeWeightInControlPoints (KFbxGeometryBase *pGeometry)
void  InitializeWeightInNormals (KFbxLayerContainer *pLayerContainer)
void  TriangulateContinuousSurface (KFbxMesh *pMesh, KFBXSurfaceEvaluator *pSurface, kUInt pPointCountX, kUInt pPointCountY, bool ClockWise=false)
void  CheckForZeroWeightInShape (KFbxGeometry *pGeometry)
KFbxMesh *  CreateMeshFromParametricSurface (KFbxGeometry const *pGeometry)
KFbxNurb *  CreateNurbFromPatch (KFbxPatch *pPatch)
KFbxNurbsSurface *  CreateNurbsSurfaceFromPatch (KFbxPatch *pPatch)
void  ConvertShapes (KFbxGeometry const *pSource, KFbxGeometry *pDestination, KFBXSurfaceEvaluator *pEvaluator, int pUCount, int pVCount)
void  ConvertShapes (KFbxGeometry const *pSource, KFbxGeometry *pDestination, KFbxWeightedMapping *pSourceToDestinationMapping)
void  ConvertClusters (KFbxGeometry const *pSource, KFbxGeometry *pDestination, KFbxWeightedMapping *pSourceToDestinationMapping)
void  ConvertClusters (KArrayTemplate< KFbxCluster * > const &pSourceClusters, int pSourceControlPointsCount, KArrayTemplate< KFbxCluster * > &pDestinationClusters, int pDestinationControlPointsCount, KFbxWeightedMapping *pSourceToDestinationMapping)
void  BuildClusterToSourceMapping (KArrayTemplate< KFbxCluster * > const &pSourceClusters, KFbxWeightedMapping *pClusterToSourceMapping)
void  CheckClusterToSourceMapping (KFbxWeightedMapping *pClusterToSourceMapping)
void  ConvertCluster (int pSourceClusterIndex, KFbxWeightedMapping *pClusterToSourceMapping, KFbxWeightedMapping *pSourceToDestinationMapping, KFbxCluster *pDestinationCluster)
void  DuplicateControlPoints (KArrayTemplate< KFbxVector4 > &pControlPoints, KArrayTemplate< int > &pPolygonVertices)
void  UpdatePolygon (KFbxMesh *pNewMesh, KFbxMesh const *pRefMesh, int pPolygonIndex, int *pNewIndex, int &pVerticeIndexMeshTriangulated, int &pPolygonIndexMeshTriangulated)
void  UpdatePolygon (KFbxMesh *pNewMesh, KFbxMesh const *pRefMesh, int pPolygonIndex, int *pNewIndex, int &pVerticeIndexMeshTriangulated, int &pPolygonIndexMeshTriangulated, int pTriangleNum)
void  ResizePolygon (KFbxMesh *pNewMesh, int pNewCountVertices=0, int pNewCountPolygons=0, bool pClearFlag=true)
template<class T1 , class T2 >
void  ConvertNurbs (T1 *pNewNurb, T2 *pOldNurb)
bool  CopyAnimationCurves (KFbxNode *pNode, KFbxGeometry *pNewGeometry)
bool  FlipNurbsCurve (KFbxNurbsCurve *pCurve) const
void  FlipControlPoints (KFbxGeometryBase *pPoints, int pUCount, int pVCount) const
bool  ConvertMaterialReferenceMode (KFbxMesh *pMeshRef) const
void  RevertMaterialReferenceModeConversion (KFbxMesh *pMeshRef) const

Protected Attributes

KFbxSdkManager *  mManager

Triangulation

KFbxMesh *  TriangulateMesh (KFbxMesh const *pMesh)
  Triangulate a mesh.
KFbxMesh *  TriangulatePatch (KFbxPatch const *pPatch)
  Triangulate a patch.
KFbxMesh *  TriangulateNurb (KFbxNurb const *pNurb)
  Triangulate a nurb.
bool  TriangulateInPlace (KFbxNode *pNode)
  Triangulate a mesh, patch or nurb contained in a node and preserve the skins and shapes animation channels.
bool  AddAlternateGeometry (KFbxNode *pNode, KFbxGeometry *pSrcGeom, KFbxGeometry *pAltGeom, KFbxWeightedMapping *pSrcToAltWeightedMapping, bool pConvertDeformations)
  Add an "alternate" geometry to the node.
bool  ConvertGeometryAnimation (KFbxNode *pNode, KFbxGeometry *pSrcGeom, KFbxGeometry *pDstGeom)
  Convert skins and shapes from source to destination geometry.
bool  ComputeGeometryControlPointsWeightedMapping (KFbxGeometry *pSrcGeom, KFbxGeometry *pDstGeom, KFbxWeightedMapping *pSrcToDstWeightedMapping, bool pSwapUV=false)
  Compute a "vertex-correspondence" table that helps passing from source to destination geometry.

Geometry Conversion

KFbxNurb *  ConvertPatchToNurb (KFbxPatch *pPatch)
  Convert from patch to nurb.
bool  ConvertPatchToNurbInPlace (KFbxNode *pNode)
  Convert a patch contained in a node to a nurb.
KFbxNurbsSurface *  ConvertPatchToNurbsSurface (KFbxPatch *pPatch)
  Convert a patch to nurb surface.
bool  ConvertPatchToNurbsSurfaceInPlace (KFbxNode *pNode)
  Convert a patch contained in a node to a nurb surface.
KFbxNurbsSurface *  ConvertNurbToNurbsSurface (KFbxNurb *pNurb)
  Convert a KFbxNurb to a KFbxNurbsSurface.
KFbxNurb *  ConvertNurbsSurfaceToNurb (KFbxNurbsSurface *pNurb)
  Convert a KFbxNurbsSurface to a KFbxNurb.
bool  ConvertNurbToNurbsSurfaceInPlace (KFbxNode *pNode)
  Convert a nurb, contained in a node, to a nurbs surface.
bool  ConvertNurbsSurfaceToNurbInPlace (KFbxNode *pNode)
  Convert a nurb contained in a node to a nurbs surface.

Nurb UV and Links Swapping

KFbxNurb *  FlipNurb (KFbxNurb *pNurb, bool pSwapUV, bool pSwapClusters)
  Flip UV and/or skin clusters of a nurb.
KFbxNurbsSurface *  FlipNurbsSurface (KFbxNurbsSurface *pNurb, bool pSwapUV, bool pSwapClusters)
  Flip UV and/or skin clusters of a nurb surface.

Normals By Polygon Vertex Emulation

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

Constructor & Destructor Documentation


Member Function Documentation

KFbxMesh* TriangulateMesh ( KFbxMesh 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.
KFbxMesh* TriangulatePatch ( KFbxPatch 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.
KFbxMesh* TriangulateNurb ( KFbxNurb const *  pNurb )

Triangulate a nurb.

Parameters:
pNurb 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 ( KFbxNode *  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 TriangulateNurb().
bool AddAlternateGeometry ( KFbxNode *  pNode,
KFbxGeometry *  pSrcGeom,
KFbxGeometry *  pAltGeom,
KFbxWeightedMapping *  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 ( KFbxNode *  pNode,
KFbxGeometry *  pSrcGeom,
KFbxGeometry *  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 ( KFbxGeometry *  pSrcGeom,
KFbxGeometry *  pDstGeom,
KFbxWeightedMapping *  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.
KFbxNurb* ConvertPatchToNurb ( KFbxPatch *  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 ConvertPatchToNurbInPlace ( KFbxNode *  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.
KFbxNurbsSurface* ConvertPatchToNurbsSurface ( KFbxPatch *  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 ( KFbxNode *  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.
KFbxNurbsSurface* ConvertNurbToNurbsSurface ( KFbxNurb *  pNurb )

Convert a KFbxNurb to a KFbxNurbsSurface.

Parameters:
pNurb Pointer to the original nurb
Returns:
A KFbxNurbsSurface that is equivalent to the original nurb.
KFbxNurb* ConvertNurbsSurfaceToNurb ( KFbxNurbsSurface *  pNurb )

Convert a KFbxNurbsSurface to a KFbxNurb.

Parameters:
pNurb Pointer to the original nurbs surface
Returns:
A KFbxNurb that is equivalent to the original nurbs surface.
bool ConvertNurbToNurbsSurfaceInPlace ( KFbxNode *  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 ConvertNurbsSurfaceToNurbInPlace ( KFbxNode *  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
KFbxNurb* FlipNurb ( KFbxNurb *  pNurb,
bool  pSwapUV,
bool  pSwapClusters 
)

Flip UV and/or skin clusters of a nurb.

Parameters:
pNurb 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 kFbxNurb, or NULL if the function fails.
KFbxNurbsSurface* FlipNurbsSurface ( KFbxNurbsSurface *  pNurb,
bool  pSwapUV,
bool  pSwapClusters 
)

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

Parameters:
pNurb 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 kFbxNurbSurface, or NULL if the function fails.
bool EmulateNormalsByPolygonVertex ( KFbxMesh *  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 ( KFbxMesh *  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 ( KFbxMesh *  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 ( KFbxMesh *  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 ( KFbxNode *  pNode,
KFbxNodeAttribute *  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 ( KFbxNode *  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() , TriangulateNurb() and TriangulateInPlace() are applicable.
bool SplitMeshPerMaterial ( KFbxMesh *  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 KFbxLayerElement::eBY_POLYGON). 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 KFbxNode that hold the original KFbxMesh. The original KFbxMesh STAY UNCHANGED. Now, the new mesh will have Normals, UVs, vertex color, material and textures.
bool SplitMeshesPerMaterial ( KFbxScene *  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 ( KFbxMesh *  pNewMesh,
KFbxMesh *  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 ( KFbxMesh *  pNewMesh,
KFbxMesh *  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 KFbxLayerElement::eBY_POLYGON, only pIsEndPolygon/pPolygonIndex are meaningful here, pIsSearched/pPolyPointIndex/pLoopIndex are not used here.
KFbxMesh* TriangulateMeshAdvance ( KFbxMesh 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.
K_DEPRECATED int TriangulatePolygon ( KFbxMesh *  pNewMesh,
KFbxVector4 *  pControlPoints,
int *  pVertexIndices,
int *  pPolyVertexIndices,
int  pStartVertexIndex,
KFbxVector4 &  pNormal,
int  pMaterialIndex,
int  pPolygonSize,
int  polygonIndex 
)

TriangulatePolygon Triangulation of the current polygon.

Parameters:
pNewMesh The mesh to triangulate
pControlPoints Control points on the old mesh
pVertexIndices Vertex indices on the old mesh
pPolyVertexIndices Vertex indices for the current polygon
pStartVertexIndex Polygon Start Index from vertex indices on the old mesh
pNormal Face normal of the polygon
pMaterialIndex Material index of the polygon
pPolygonSize Vertex number of the polygon
polygonIndex Index o the polygon
Returns:
int Number of triangles after the triangulation
bool ComputePatchToMeshControlPointsWeightedMapping ( KFbxPatch *  pSrcPatch,
KFbxMesh *  pDstMesh,
KFbxWeightedMapping *  pMapping,
bool  pSwapUV = false 
) [protected]
bool ComputeNurbToMeshControlPointsWeightedMapping ( KFbxNurbsSurface *  pSrcNurb,
KFbxMesh *  pDstMesh,
KFbxWeightedMapping *  pMapping,
bool  pRescaleUVs = false,
bool  pSwapUV = false 
) [protected]
void InitializeWeightInControlPoints ( KFbxGeometryBase *  pGeometry ) [protected]
void InitializeWeightInNormals ( KFbxLayerContainer *  pLayerContainer ) [protected]
void TriangulateContinuousSurface ( KFbxMesh *  pMesh,
KFBXSurfaceEvaluator *  pSurface,
kUInt  pPointCountX,
kUInt  pPointCountY,
bool  ClockWise = false 
) [protected]
void CheckForZeroWeightInShape ( KFbxGeometry *  pGeometry ) [protected]
KFbxMesh* CreateMeshFromParametricSurface ( KFbxGeometry const *  pGeometry ) [protected]
KFbxNurb* CreateNurbFromPatch ( KFbxPatch *  pPatch ) [protected]
KFbxNurbsSurface* CreateNurbsSurfaceFromPatch ( KFbxPatch *  pPatch ) [protected]
void ConvertShapes ( KFbxGeometry const *  pSource,
KFbxGeometry *  pDestination,
KFBXSurfaceEvaluator *  pEvaluator,
int  pUCount,
int  pVCount 
) [protected]
void ConvertShapes ( KFbxGeometry const *  pSource,
KFbxGeometry *  pDestination,
KFbxWeightedMapping *  pSourceToDestinationMapping 
) [protected]
void ConvertClusters ( KFbxGeometry const *  pSource,
KFbxGeometry *  pDestination,
KFbxWeightedMapping *  pSourceToDestinationMapping 
) [protected]
void ConvertClusters ( KArrayTemplate< KFbxCluster * > const &  pSourceClusters,
int  pSourceControlPointsCount,
KArrayTemplate< KFbxCluster * > &  pDestinationClusters,
int  pDestinationControlPointsCount,
KFbxWeightedMapping *  pSourceToDestinationMapping 
) [protected]
void BuildClusterToSourceMapping ( KArrayTemplate< KFbxCluster * > const &  pSourceClusters,
KFbxWeightedMapping *  pClusterToSourceMapping 
) [protected]
void CheckClusterToSourceMapping ( KFbxWeightedMapping *  pClusterToSourceMapping ) [protected]
void ConvertCluster ( int  pSourceClusterIndex,
KFbxWeightedMapping *  pClusterToSourceMapping,
KFbxWeightedMapping *  pSourceToDestinationMapping,
KFbxCluster *  pDestinationCluster 
) [protected]
void DuplicateControlPoints ( KArrayTemplate< KFbxVector4 > &  pControlPoints,
KArrayTemplate< int > &  pPolygonVertices 
) [protected]
void UpdatePolygon ( KFbxMesh *  pNewMesh,
KFbxMesh const *  pRefMesh,
int  pPolygonIndex,
int *  pNewIndex,
int &  pVerticeIndexMeshTriangulated,
int &  pPolygonIndexMeshTriangulated 
) [protected]
void UpdatePolygon ( KFbxMesh *  pNewMesh,
KFbxMesh const *  pRefMesh,
int  pPolygonIndex,
int *  pNewIndex,
int &  pVerticeIndexMeshTriangulated,
int &  pPolygonIndexMeshTriangulated,
int  pTriangleNum 
) [protected]
void ResizePolygon ( KFbxMesh *  pNewMesh,
int  pNewCountVertices = 0,
int  pNewCountPolygons = 0,
bool  pClearFlag = true 
) [protected]
void ConvertNurbs ( T1 *  pNewNurb,
T2 *  pOldNurb 
) [protected]
bool CopyAnimationCurves ( KFbxNode *  pNode,
KFbxGeometry *  pNewGeometry 
) [protected]
bool FlipNurbsCurve ( KFbxNurbsCurve *  pCurve ) const [protected]
void FlipControlPoints ( KFbxGeometryBase *  pPoints,
int  pUCount,
int  pVCount 
) const [protected]
bool ConvertMaterialReferenceMode ( KFbxMesh *  pMeshRef ) const [protected]
void RevertMaterialReferenceModeConversion ( KFbxMesh *  pMeshRef ) const [protected]

Member Data Documentation


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

KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter
KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter KFbxGeometryConverter