FCDocument/FCDGeometryPolygonsTools.h File Reference

This file defines the FCDGeometryPolygonsTools namespace. More...

Go to the source code of this file.

Namespaces

namespace  FCDGeometryPolygonsTools

Defines

#define MAX_BUFFER_COUNT   ((uint16)~0)
 MAX_BUFFER_COUNT is the default value to split by when packing vertices and indices.

Typedefs

typedef fm::map< uint32, UInt32ListFCDGeometryIndexTranslationMap
 A translation map between old vertex position indices and the new indices.
typedef fm::pvector< FCDGeometryIndexTranslationMapFCDGeometryIndexTranslationMapList
 A dynamically-sized array of translation maps.
typedef fm::vector< UInt32ListFCDNewIndicesList
 A dynamically-sized array of index lists.

Functions

FCOLLADA_EXPORT void FCDGeometryPolygonsTools::Triangulate (FCDGeometryMesh *mesh)
 Triangulates a mesh.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::Triangulate (FCDGeometryPolygons *polygons, bool recalculate=true)
 Triangulates a polygons set.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::GenerateTextureTangentBasis (FCDGeometryMesh *mesh, FCDGeometrySource *texcoordSource, bool generateBinormals=true)
 Generates the texture tangents and binormals for a given source of texture coordinates.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::GenerateUniqueIndices (FCDGeometryMesh *mesh, FCDGeometryPolygons *polygons=NULL, FCDGeometryIndexTranslationMap *translationMap=NULL)
 Prepares the mesh for using its geometry sources in vertex buffers with a unique index buffer.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::GenerateUniqueIndices (FCDGeometryMesh *mesh, FCDGeometryPolygons *polygonsToProcess, FCDNewIndicesList &outIndices, FCDGeometryIndexTranslationMapList &outTranslationMaps)
 Prepares the mesh for using its geometry sources in vertex buffers with a unique index buffer.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::ApplyUniqueIndices (float *targData, float *srcData, uint32 stride, const FCDGeometryIndexTranslationMap *translationMap)
 Applies the translation map onto some vertex data.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::ApplyUniqueIndices (FCDGeometryMesh *targMesh, FCDGeometryMesh *baseMesh, const UInt32List &newIndices, const FCDGeometryIndexTranslationMapList &translationMaps)
 Applies the translation map onto some vertex data.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::RevertUniqueIndices (const FCDGeometryPolygonsInput &inSrc, FCDGeometryPolygonsInput &outSrc, const FCDGeometryIndexTranslationMap &translationMap)
 Reverts the modifications done when applying the unique index buffer data translation unto some polygons input.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::PackVertexBufferV3 (uint8 *destBuffer, uint32 destBuffStride, const FCDGeometrySource *source, uint32 vCount, uint16 *vtxPackingMap, const FCDGeometryIndexTranslationMap &translationMap)
 Used to pack a vertex buffer object with 3D float vertex data.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::PackVertexBufferColor (uint8 *destBuffer, uint32 destBuffStride, const FCDGeometrySource *source, uint32 vCount, uint16 *vtxPackingMap, const FCDGeometryIndexTranslationMap &translationMap)
 Used to pack a vertex buffer object object with 4 bytes color data.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::PackVertexBufferV2 (uint8 *destBuffer, uint32 destBuffStride, const FCDGeometrySource *source, uint32 vCount, uint16 *vtxPackingMap, const FCDGeometryIndexTranslationMap &translationMap)
 Used to pack a vertex buffer object object with 2D float vertex data.
FCOLLADA_EXPORT uint16 FCDGeometryPolygonsTools::GenerateVertexPackingMap (size_t maxIndex, size_t maxIndices, size_t maxVertices, const uint32 *inIndices, uint16 *outIndices, UInt16List *outPackingMap, uint16 *outNVertices=NULL)
 Generates a packing map for a mesh' given vertex data.
FCOLLADA_EXPORT uint32 FCDGeometryPolygonsTools::FindLargestUniqueIndex (const FCDGeometryIndexTranslationMap &translationMap)
 Retrieves the largest unique index within a given translation map.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::FitIndexBuffers (FCDGeometryMesh *mesh, size_t maximumIndexCount)
 Splits the mesh's polygons sets to ensure that none of them have more than a given number of indices within their index buffers.
FCOLLADA_EXPORT void FCDGeometryPolygonsTools::ReverseNormals (FCDGeometryMesh *mesh)
 Reverses all the normals of a mesh.


Detailed Description

This file defines the FCDGeometryPolygonsTools namespace.


Define Documentation

#define MAX_BUFFER_COUNT   ((uint16)~0)
 

MAX_BUFFER_COUNT is the default value to split by when packing vertices and indices.

It represents the usual upper limit of video cards on buffer submission size


Typedef Documentation

typedef fm::map<uint32, UInt32List> FCDGeometryIndexTranslationMap
 

A translation map between old vertex position indices and the new indices.

It is generated in the FCDGeometryPolygonsTools::GenerateUniqueIndices function.


Generated on Thu Feb 14 16:58:36 2008 for FCollada by  doxygen 1.4.6-NO