My Project: dgMeshEffect Class Reference

My Project

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
dgMeshEffect Class Reference

`#include <dgMeshEffect.h>`

Inheritance diagram for dgMeshEffect:

## Classes

class | dgIndexArray
class | dgMeshBVH
class | dgVertexAtribute

## Public Member Functions

| dgMeshEffect (dgMemoryAllocator *const allocator)
| dgMeshEffect (dgCollisionInstance *const collision)
| dgMeshEffect (const dgMeshEffect &source)
| dgMeshEffect (dgPolyhedra &mesh, const dgMeshEffect &source)
| dgMeshEffect (dgMemoryAllocator *const allocator, dgDeserialize deserialization, void *const userData)
| dgMeshEffect (dgMemoryAllocator *const allocator, const char *const fileName)
| dgMeshEffect (dgMemoryAllocator *const allocator, const dgFloat64 *const vertexCloud, dgInt32 count, dgInt32 strideInByte, dgFloat64 distTol)
| dgMeshEffect (dgMemoryAllocator *const allocator, const dgMatrix &planeMatrix, dgFloat32 witdth, dgFloat32 breadth, dgInt32 material, const dgMatrix &textureMatrix0, const dgMatrix &textureMatrix1)
virtual | ~dgMeshEffect (void)
void | Trace () const
void | SaveOFF (const char *const fileName) const
void | ApplyTransform (const dgMatrix &matrix)
dgMatrix | CalculateOOBB (dgBigVector &size) const
void | CalculateAABB (dgBigVector &min, dgBigVector &max) const
void | CalculateNormals (dgFloat64 angleInRadians)
void | SphericalMapping (dgInt32 material)
void | BoxMapping (dgInt32 front, dgInt32 side, dgInt32 top)
void | UniformBoxMapping (dgInt32 material, const dgMatrix &textruMatrix)
void | CylindricalMapping (dgInt32 cylinderMaterial, dgInt32 capMaterial)
void | AngleBaseFlatteningMapping (dgInt32 cylinderMaterial, dgReportProgress progressReportCallback, void *const userData)
dgEdge * | InsertEdgeVertex (dgEdge *const edge, dgFloat64 param)
dgMeshEffect * | Union (const dgMatrix &matrix, const dgMeshEffect *const clipper) const
dgMeshEffect * | Difference (const dgMatrix &matrix, const dgMeshEffect *const clipper) const
dgMeshEffect * | Intersection (const dgMatrix &matrix, const dgMeshEffect *const clipper) const
void | ClipMesh (const dgMatrix &matrix, const dgMeshEffect *const clipper, dgMeshEffect **const top, dgMeshEffect **const bottom) const
dgMeshEffect * | ConvexMeshIntersection (const dgMeshEffect *const convexMesh) const
dgMeshEffect * | GetFirstLayer ()
dgMeshEffect * | GetNextLayer (dgMeshEffect *const layer)
void | Triangulate ()
void | ConvertToPolygons ()
void | RemoveUnusedVertices (dgInt32 *const vertexRemapTable)
void | BeginPolygon ()
void | AddPolygon (dgInt32 count, const dgFloat32 *const vertexList, dgInt32 stride, dgInt32 material)
void | AddPolygon (dgInt32 count, const dgFloat64 *const vertexList, dgInt32 stride, dgInt32 material)
void | EndPolygon (dgFloat64 tol, bool fixTjoint=true)
void | PackVertexArrays ()
void | BuildFromVertexListIndexList (dgInt32 faceCount, const dgInt32 *const faceIndexCount, const dgInt32 *const faceMaterialIndex, const dgFloat32 *const vertex, dgInt32 vertexStrideInBytes, const dgInt32 *const vertexIndex, const dgFloat32 *const normal, dgInt32 normalStrideInBytes, const dgInt32 *const normalIndex, const dgFloat32 *const uv0, dgInt32 uv0StrideInBytes, const dgInt32 *const uv0Index, const dgFloat32 *const uv1, dgInt32 uv1StrideInBytes, const dgInt32 *const uv1Index)
dgInt32 | GetVertexCount () const
dgInt32 | GetVertexStrideInByte () const
dgFloat64 * | GetVertexPool () const
dgInt32 | GetPropertiesCount () const
dgInt32 | GetPropertiesStrideInByte () const
dgFloat64 * | GetAttributePool () const
dgFloat64 * | GetNormalPool () const
dgFloat64 * | GetUV0Pool () const
dgFloat64 * | GetUV1Pool () const
dgEdge * | SpliteFace (dgInt32 v0, dgInt32 v1)
dgInt32 | GetTotalFaceCount () const
dgInt32 | GetTotalIndexCount () const
void | GetFaces (dgInt32 *const faceCount, dgInt32 *const materials, void **const faceNodeList) const
void | RepairTJoints ()
bool | SeparateDuplicateLoops (dgEdge *const face)
bool | HasOpenEdges () const
dgFloat64 | CalculateVolume () const
void | GetVertexStreams (dgInt32 vetexStrideInByte, dgFloat32 *const vertex, dgInt32 normalStrideInByte, dgFloat32 *const normal, dgInt32 uvStrideInByte0, dgFloat32 *const uv0, dgInt32 uvStrideInByte1, dgFloat32 *const uv1)
void | GetIndirectVertexStreams (dgInt32 vetexStrideInByte, dgFloat64 *const vertex, dgInt32 *const vertexIndices, dgInt32 *const vertexCount, dgInt32 normalStrideInByte, dgFloat64 *const normal, dgInt32 *const normalIndices, dgInt32 *const normalCount, dgInt32 uvStrideInByte0, dgFloat64 *const uv0, dgInt32 *const uvIndices0, dgInt32 *const uvCount0, dgInt32 uvStrideInByte1, dgFloat64 *const uv1, dgInt32 *const uvIndices1, dgInt32 *const uvCount1)
dgIndexArray * | MaterialGeometryBegin ()
void | MaterialGeomteryEnd (dgIndexArray *const handle)
dgInt32 | GetFirstMaterial (dgIndexArray *const handle) const
dgInt32 | GetNextMaterial (dgIndexArray *const handle, dgInt32 materialHandle) const
dgInt32 | GetMaterialID (dgIndexArray *const handle, dgInt32 materialHandle) const
dgInt32 | GetMaterialIndexCount (dgIndexArray *const handle, dgInt32 materialHandle) const
void | GetMaterialGetIndexStream (dgIndexArray *const handle, dgInt32 materialHandle, dgInt32 *const index) const
void | GetMaterialGetIndexStreamShort (dgIndexArray *const handle, dgInt32 materialHandle, dgInt16 *const index) const
dgCollisionInstance * | CreateCollisionTree (dgWorld *const world, dgInt32 shapeID) const
dgCollisionInstance * | CreateConvexCollision (dgWorld *const world, dgFloat64 tolerance, dgInt32 shapeID, const dgMatrix &matrix=dgGetIdentityMatrix()) const
dgMeshEffect * | CreateSimplification (dgInt32 maxVertexCount, dgReportProgress reportProgressCallback, void *const userData) const
dgMeshEffect * | CreateConvexApproximation (dgFloat32 maxConcavity, dgFloat32 backFaceDistanceFactor, dgInt32 maxHullOuputCount, dgInt32 maxVertexPerHull, dgReportProgress reportProgressCallback, void *const userData) const
void | Serialize (dgSerialize callback, void *const userData) const
dgBigVector & | GetVertex (dgInt32 index) const
dgVertexAtribute & | GetAttribute (dgInt32 index) const
void | TransformMesh (const dgMatrix &matrix)
void * | GetFirstVertex () const
void * | GetNextVertex (const void *const vertex) const
int | GetVertexIndex (const void *const vertex) const
void * | GetFirstPoint () const
void * | GetNextPoint (const void *const point) const
int | GetPointIndex (const void *const point) const
int | GetVertexIndexFromPoint (const void *const point) const
void * | GetFirstEdge () const
void * | GetNextEdge (const void *const edge) const
void | GetEdgeIndex (const void *const edge, dgInt32 &v0, dgInt32 &v1) const
void * | GetFirstFace () const
void * | GetNextFace (const void *const face) const
int | IsFaceOpen (const void *const face) const
int | GetFaceMaterial (const void *const face) const
int | GetFaceIndexCount (const void *const face) const
void | GetFaceIndex (const void *const face, dgInt32 *const indices) const
void | GetFaceAttributeIndex (const void *const face, dgInt32 *const indices) const
dgBigVector | CalculateFaceNormal (const void *const face) const
void | SetFaceMaterial (const void *const face, int materialID) const
dgVertexAtribute | InterpolateVertex (const dgBigVector &point, const dgEdge *const face) const
bool | Sanity () const
void | AddVertex (const dgBigVector &vertex)
void | AddAtribute (const dgVertexAtribute &attib)
void | AddPoint (const dgFloat64 *vertexList, dgInt32 material)
Public Member Functions inherited from dgPolyhedra
| dgPolyhedra (dgMemoryAllocator *const allocator)
| dgPolyhedra (const dgPolyhedra &polyhedra)
virtual | ~dgPolyhedra ()
dgEdge * | AddFace (dgInt32 v0, dgInt32 v1, dgInt32 v2)
dgEdge * | AddFace (dgInt32 count, const dgInt32 *const index)
dgEdge * | AddFace (dgInt32 count, const dgInt32 *const index, const dgInt64 *const userdata)
virtual void | DeleteFace (dgEdge *const edge)
dgInt32 | GetFaceCount () const
dgInt32 | GetEdgeCount () const
dgInt32 | GetLastVertexIndex () const
dgInt32 | IncLRU () const
void | SetLRU (dgInt32 lru) const
dgEdge * | FindEdge (dgInt32 v0, dgInt32 v1) const
dgTreeNode * | FindEdgeNode (dgInt32 v0, dgInt32 v1) const
dgEdge * | AddHalfEdge (dgInt32 v0, dgInt32 v1)
void | DeleteEdge (dgEdge *const edge)
void | DeleteEdge (dgInt32 v0, dgInt32 v1)
dgEdge * | ConnectVertex (dgEdge *const e0, dgEdge *const e1)
bool | FlipEdge (dgEdge *const edge)
dgEdge * | SpliteEdge (dgInt32 newIndex, dgEdge *const edge)
dgBigVector | FaceNormal (const dgEdge *const face, const dgFloat64 *const vertex, dgInt32 strideInBytes) const
void | BeginConectedSurface () const
bool | GetConectedSurface (dgPolyhedra &polyhedra) const
void | EndConectedSurface () const
dgObb | CalculateSphere (const dgFloat64 *const vertex, dgInt32 strideInBytes, const dgMatrix *const basis=NULL) const
void | ChangeEdgeIncidentVertex (dgEdge *const edge, dgInt32 newIndex)
void | DeleteDegenerateFaces (const dgFloat64 *const pool, dgInt32 dstStrideInBytes, dgFloat64 minArea)
bool | Optimize (const dgFloat64 *const pool, dgInt32 strideInBytes, dgReportProgress normalizedProgress, void *const reportProgressUserData, dgFloat64 tol, dgInt32 maxFaceCount=1<< 28)
void | Triangulate (const dgFloat64 *const vertex, dgInt32 strideInBytes, dgPolyhedra *const leftOversOut)
void | ConvexPartition (const dgFloat64 *const vertex, dgInt32 strideInBytes, dgPolyhedra *const leftOversOut)
dgEdge * | CollapseEdge (dgEdge *const edge)
void | PolygonizeFace (dgEdge *face, const dgFloat64 *const pool, dgInt32 stride)
Public Member Functions inherited from dgTree< dgEdge, dgEdgeKey >
| dgTree (dgMemoryAllocator *const allocator)
virtual | ~dgTree ()
dgMemoryAllocator * | GetAllocator () const
void | SetAllocator (dgMemoryAllocator *const allocator)
| operator dgInt32 () const
dgInt32 | GetCount () const
dgTreeNode * | GetRoot () const
dgTreeNode * | Minimum () const
dgTreeNode * | Maximum () const
dgTreeNode * | Find (dgEdgeKey key) const
dgTreeNode * | FindGreater (dgEdgeKey key) const
dgTreeNode * | FindGreaterEqual (dgEdgeKey key) const
dgTreeNode * | FindLessEqual (dgEdgeKey key) const
dgTreeNode * | GetNodeFromInfo (dgEdge &info) const
dgTreeNode * | Insert (const dgEdge &element, dgEdgeKey key, bool &elementWasInTree)
dgTreeNode * | Insert (const dgEdge &element, dgEdgeKey key)
dgTreeNode * | Insert (dgTreeNode *const node, dgEdgeKey key)
dgTreeNode * | Replace (dgEdge &element, dgEdgeKey key)
dgTreeNode * | ReplaceKey (dgEdgeKey oldKey, dgEdgeKey newKey)
dgTreeNode * | ReplaceKey (dgTreeNode *const node, dgEdgeKey key)
void | Remove (dgEdgeKey key)
void | Remove (dgTreeNode *const node)
void | RemoveAll ()
void | Unlink (dgTreeNode *const node)
void | SwapInfo (dgTree &tree)
bool | SanityCheck () const
Public Member Functions inherited from dgRefCounter
| dgRefCounter (void)
int | GetRef () const
int | Release ()
void | AddRef ()

## Static Public Member Functions

static dgMeshEffect * | CreateDelaunayTetrahedralization (dgMemoryAllocator *const allocator, dgInt32 pointCount, dgInt32 pointStrideInBytes, const dgFloat32 *const pointCloud, dgInt32 materialId, const dgMatrix &textureProjectionMatrix)
static dgMeshEffect * | CreateVoronoiConvexDecomposition (dgMemoryAllocator *const allocator, dgInt32 pointCount, dgInt32 pointStrideInBytes, const dgFloat32 *const pointCloud, dgInt32 materialId, const dgMatrix &textureProjectionMatrix)
static dgMeshEffect * | CreateFromSerialization (dgMemoryAllocator *const allocator, dgDeserialize deserialization, void *const userData)

## Protected Member Functions

virtual void | BeginFace ()
virtual void | EndFace ()
void | Init ()
dgBigVector | GetOrigin () const
dgInt32 | CalculateMaxAttributes () const
dgFloat64 | QuantizeCordinade (dgFloat64 val) const
void | ClearAttributeArray ()
dgInt32 | EnumerateAttributeArray (dgVertexAtribute *const attib)
void | ApplyAttributeArray (dgVertexAtribute *const attib, dgInt32 maxCount)
void | MergeFaces (const dgMeshEffect *const source)
dgVertexAtribute | InterpolateEdge (dgEdge *const edge, dgFloat64 param) const
bool | PlaneClip (const dgMeshEffect &convexMesh, const dgEdge *const face)
dgMeshEffect * | GetNextLayer (dgInt32 mark)
dgMeshEffect * | CreateVoronoiConvex (const dgBigVector *const conevexPointCloud, dgInt32 count, dgInt32 materialId, const dgMatrix &textureProjectionMatrix, dgFloat32 normalAngleInRadians) const
Protected Member Functions inherited from dgRefCounter
virtual | ~dgRefCounter (void)

## Protected Attributes

dgInt32 | m_pointCount
dgInt32 | m_maxPointCount
dgInt32 | m_atribCount
dgInt32 | m_maxAtribCount
dgBigVector * | m_points
dgVertexAtribute * | m_attrib

## Friends

class | dgConvexHull3d
class | dgConvexHull4d
class | dgBooleanMeshBVH
class | dgTriangleAnglesToUV
class | dgCollisionCompoundFractured

## Constructor & Destructor Documentation

## § dgMeshEffect() [1/8]

dgMeshEffect::dgMeshEffect | ( | dgMemoryAllocator *const | allocator | ) |

## § dgMeshEffect() [2/8]

dgMeshEffect::dgMeshEffect | ( | dgCollisionInstance *const | collision | ) |

## § dgMeshEffect() [3/8]

dgMeshEffect::dgMeshEffect | ( | const dgMeshEffect & | source | ) |

## § dgMeshEffect() [4/8]

dgMeshEffect::dgMeshEffect | ( | dgPolyhedra & | mesh,
|  | const dgMeshEffect & | source
| ) |  |

## § dgMeshEffect() [5/8]

dgMeshEffect::dgMeshEffect | ( | dgMemoryAllocator *const | allocator,
|  | dgDeserialize | deserialization,
|  | void *const | userData
| ) |  |

## § dgMeshEffect() [6/8]

dgMeshEffect::dgMeshEffect | ( | dgMemoryAllocator *const | allocator,
|  | const char *const | fileName
| ) |  |

## § dgMeshEffect() [7/8]

dgMeshEffect::dgMeshEffect | ( | dgMemoryAllocator *const | allocator,
|  | const dgFloat64 *const | vertexCloud,
|  | dgInt32 | count,
|  | dgInt32 | strideInByte,
|  | dgFloat64 | distTol
| ) |  |

## § dgMeshEffect() [8/8]

dgMeshEffect::dgMeshEffect | ( | dgMemoryAllocator *const | allocator,
|  | const dgMatrix & | planeMatrix,
|  | dgFloat32 | witdth,
|  | dgFloat32 | breadth,
|  | dgInt32 | material,
|  | const dgMatrix & | textureMatrix0,
|  | const dgMatrix & | textureMatrix1
| ) |  |

## § ~dgMeshEffect()

dgMeshEffect::~dgMeshEffect | ( | void |  | ) |

virtual

## Member Function Documentation

## § AddAtribute()

void dgMeshEffect::AddAtribute | ( | const dgVertexAtribute & | attib | ) |

## § AddPoint()

void dgMeshEffect::AddPoint | ( | const dgFloat64 * | vertexList,
|  | dgInt32 | material
| ) |  |

## § AddPolygon() [1/2]

void dgMeshEffect::AddPolygon | ( | dgInt32 | count,
|  | const dgFloat32 *const | vertexList,
|  | dgInt32 | stride,
|  | dgInt32 | material
| ) |  |

## § AddPolygon() [2/2]

void dgMeshEffect::AddPolygon | ( | dgInt32 | count,
|  | const dgFloat64 *const | vertexList,
|  | dgInt32 | stride,
|  | dgInt32 | material
| ) |  |

## § AddVertex()

void dgMeshEffect::AddVertex | ( | const dgBigVector & | vertex | ) |

## § AngleBaseFlatteningMapping()

void dgMeshEffect::AngleBaseFlatteningMapping | ( | dgInt32 | cylinderMaterial,
|  | dgReportProgress | progressReportCallback,
|  | void *const | userData
| ) |  |

## § ApplyAttributeArray()

void dgMeshEffect::ApplyAttributeArray | ( | dgVertexAtribute *const | attib,
|  | dgInt32 | maxCount
| ) |  |

protected

## § ApplyTransform()

void dgMeshEffect::ApplyTransform | ( | const dgMatrix & | matrix | ) |

## § BeginFace()

void dgMeshEffect::BeginFace | ( |  | ) |

protectedvirtual

Reimplemented from dgPolyhedra.

## § BeginPolygon()

void dgMeshEffect::BeginPolygon | ( |  | ) |

## § BoxMapping()

void dgMeshEffect::BoxMapping | ( | dgInt32 | front,
|  | dgInt32 | side,
|  | dgInt32 | top
| ) |  |

## § BuildFromVertexListIndexList()

void dgMeshEffect::BuildFromVertexListIndexList | ( | dgInt32 | faceCount,
|  | const dgInt32 *const | faceIndexCount,
|  | const dgInt32 *const | faceMaterialIndex,
|  | const dgFloat32 *const | vertex,
|  | dgInt32 | vertexStrideInBytes,
|  | const dgInt32 *const | vertexIndex,
|  | const dgFloat32 *const | normal,
|  | dgInt32 | normalStrideInBytes,
|  | const dgInt32 *const | normalIndex,
|  | const dgFloat32 *const | uv0,
|  | dgInt32 | uv0StrideInBytes,
|  | const dgInt32 *const | uv0Index,
|  | const dgFloat32 *const | uv1,
|  | dgInt32 | uv1StrideInBytes,
|  | const dgInt32 *const | uv1Index
| ) |  |

## § CalculateAABB()

void dgMeshEffect::CalculateAABB | ( | dgBigVector & | min,
|  | dgBigVector & | max
| ) |  | const

## § CalculateFaceNormal()

dgBigVector dgMeshEffect::CalculateFaceNormal | ( | const void *const | face | ) | const

## § CalculateMaxAttributes()

dgInt32 dgMeshEffect::CalculateMaxAttributes | ( |  | ) | const

protected

## § CalculateNormals()

void dgMeshEffect::CalculateNormals | ( | dgFloat64 | angleInRadians | ) |

## § CalculateOOBB()

dgMatrix dgMeshEffect::CalculateOOBB | ( | dgBigVector & | size | ) | const

## § CalculateVolume()

dgFloat64 dgMeshEffect::CalculateVolume | ( |  | ) | const

## § ClearAttributeArray()

void dgMeshEffect::ClearAttributeArray | ( |  | ) |

protected

## § ClipMesh()

void dgMeshEffect::ClipMesh | ( | const dgMatrix & | matrix,
|  | const dgMeshEffect *const | clipper,
|  | dgMeshEffect **const | top,
|  | dgMeshEffect **const | bottom
| ) |  | const

## § ConvertToPolygons()

void dgMeshEffect::ConvertToPolygons | ( |  | ) |

## § ConvexMeshIntersection()

dgMeshEffect * dgMeshEffect::ConvexMeshIntersection | ( | const dgMeshEffect *const | convexMesh | ) | const

## § CreateCollisionTree()

dgCollisionInstance * dgMeshEffect::CreateCollisionTree | ( | dgWorld *const | world,
|  | dgInt32 | shapeID
| ) |  | const

## § CreateConvexApproximation()

dgMeshEffect * dgMeshEffect::CreateConvexApproximation | ( | dgFloat32 | maxConcavity,
|  | dgFloat32 | backFaceDistanceFactor,
|  | dgInt32 | maxHullOuputCount,
|  | dgInt32 | maxVertexPerHull,
|  | dgReportProgress | reportProgressCallback,
|  | void *const | userData
| ) |  | const

## § CreateConvexCollision()

dgCollisionInstance * dgMeshEffect::CreateConvexCollision | ( | dgWorld *const | world,
|  | dgFloat64 | tolerance,
|  | dgInt32 | shapeID,
|  | const dgMatrix & | matrix = `dgGetIdentityMatrix()`
| ) |  | const

## § CreateDelaunayTetrahedralization()

dgMeshEffect * dgMeshEffect::CreateDelaunayTetrahedralization | ( | dgMemoryAllocator *const | allocator,
|  | dgInt32 | pointCount,
|  | dgInt32 | pointStrideInBytes,
|  | const dgFloat32 *const | pointCloud,
|  | dgInt32 | materialId,
|  | const dgMatrix & | textureProjectionMatrix
| ) |  |

static

## § CreateFromSerialization()

dgMeshEffect * dgMeshEffect::CreateFromSerialization | ( | dgMemoryAllocator *const | allocator,
|  | dgDeserialize | deserialization,
|  | void *const | userData
| ) |  |

static

## § CreateSimplification()

dgMeshEffect * dgMeshEffect::CreateSimplification | ( | dgInt32 | maxVertexCount,
|  | dgReportProgress | reportProgressCallback,
|  | void *const | userData
| ) |  | const

## § CreateVoronoiConvex()

dgMeshEffect* dgMeshEffect::CreateVoronoiConvex | ( | const dgBigVector *const | conevexPointCloud,
|  | dgInt32 | count,
|  | dgInt32 | materialId,
|  | const dgMatrix & | textureProjectionMatrix,
|  | dgFloat32 | normalAngleInRadians
| ) |  | const

protected

## § CreateVoronoiConvexDecomposition()

dgMeshEffect * dgMeshEffect::CreateVoronoiConvexDecomposition | ( | dgMemoryAllocator *const | allocator,
|  | dgInt32 | pointCount,
|  | dgInt32 | pointStrideInBytes,
|  | const dgFloat32 *const | pointCloud,
|  | dgInt32 | materialId,
|  | const dgMatrix & | textureProjectionMatrix
| ) |  |

static

## § CylindricalMapping()

void dgMeshEffect::CylindricalMapping | ( | dgInt32 | cylinderMaterial,
|  | dgInt32 | capMaterial
| ) |  |

## § Difference()

dgMeshEffect * dgMeshEffect::Difference | ( | const dgMatrix & | matrix,
|  | const dgMeshEffect *const | clipper
| ) |  | const

## § EndFace()

void dgMeshEffect::EndFace | ( |  | ) |

protectedvirtual

Reimplemented from dgPolyhedra.

## § EndPolygon()

void dgMeshEffect::EndPolygon | ( | dgFloat64 | tol,
|  | bool | fixTjoint = `true`
| ) |  |

## § EnumerateAttributeArray()

dgInt32 dgMeshEffect::EnumerateAttributeArray | ( | dgVertexAtribute *const | attib | ) |

protected

## § GetAttribute()

DG_INLINE dgMeshEffect::dgVertexAtribute & dgMeshEffect::GetAttribute | ( | dgInt32 | index | ) | const

## § GetAttributePool()

DG_INLINE dgFloat64 * dgMeshEffect::GetAttributePool | ( |  | ) | const

## § GetEdgeIndex()

void dgMeshEffect::GetEdgeIndex | ( | const void *const | edge,
|  | dgInt32 & | v0,
|  | dgInt32 & | v1
| ) |  | const

## § GetFaceAttributeIndex()

void dgMeshEffect::GetFaceAttributeIndex | ( | const void *const | face,
|  | dgInt32 *const | indices
| ) |  | const

## § GetFaceIndex()

void dgMeshEffect::GetFaceIndex | ( | const void *const | face,
|  | dgInt32 *const | indices
| ) |  | const

## § GetFaceIndexCount()

dgInt32 dgMeshEffect::GetFaceIndexCount | ( | const void *const | face | ) | const

## § GetFaceMaterial()

dgInt32 dgMeshEffect::GetFaceMaterial | ( | const void *const | face | ) | const

## § GetFaces()

void dgMeshEffect::GetFaces | ( | dgInt32 *const | faceCount,
|  | dgInt32 *const | materials,
|  | void **const | faceNodeList
| ) |  | const

## § GetFirstEdge()

void * dgMeshEffect::GetFirstEdge | ( |  | ) | const

## § GetFirstFace()

void * dgMeshEffect::GetFirstFace | ( |  | ) | const

## § GetFirstLayer()

DG_INLINE dgMeshEffect * dgMeshEffect::GetFirstLayer | ( |  | ) |

## § GetFirstMaterial()

dgInt32 dgMeshEffect::GetFirstMaterial | ( | dgIndexArray *const | handle | ) | const

## § GetFirstPoint()

void * dgMeshEffect::GetFirstPoint | ( |  | ) | const

## § GetFirstVertex()

void * dgMeshEffect::GetFirstVertex | ( |  | ) | const

## § GetIndirectVertexStreams()

void dgMeshEffect::GetIndirectVertexStreams | ( | dgInt32 | vetexStrideInByte,
|  | dgFloat64 *const | vertex,
|  | dgInt32 *const | vertexIndices,
|  | dgInt32 *const | vertexCount,
|  | dgInt32 | normalStrideInByte,
|  | dgFloat64 *const | normal,
|  | dgInt32 *const | normalIndices,
|  | dgInt32 *const | normalCount,
|  | dgInt32 | uvStrideInByte0,
|  | dgFloat64 *const | uv0,
|  | dgInt32 *const | uvIndices0,
|  | dgInt32 *const | uvCount0,
|  | dgInt32 | uvStrideInByte1,
|  | dgFloat64 *const | uv1,
|  | dgInt32 *const | uvIndices1,
|  | dgInt32 *const | uvCount1
| ) |  |

## § GetMaterialGetIndexStream()

void dgMeshEffect::GetMaterialGetIndexStream | ( | dgIndexArray *const | handle,
|  | dgInt32 | materialHandle,
|  | dgInt32 *const | index
| ) |  | const

## § GetMaterialGetIndexStreamShort()

void dgMeshEffect::GetMaterialGetIndexStreamShort | ( | dgIndexArray *const | handle,
|  | dgInt32 | materialHandle,
|  | dgInt16 *const | index
| ) |  | const

## § GetMaterialID()

DG_INLINE dgInt32 dgMeshEffect::GetMaterialID | ( | dgIndexArray *const | handle,
|  | dgInt32 | materialHandle
| ) |  | const

## § GetMaterialIndexCount()

DG_INLINE dgInt32 dgMeshEffect::GetMaterialIndexCount | ( | dgIndexArray *const | handle,
|  | dgInt32 | materialHandle
| ) |  | const

## § GetNextEdge()

void * dgMeshEffect::GetNextEdge | ( | const void *const | edge | ) | const

## § GetNextFace()

void * dgMeshEffect::GetNextFace | ( | const void *const | face | ) | const

## § GetNextLayer() [1/2]

DG_INLINE dgMeshEffect * dgMeshEffect::GetNextLayer | ( | dgMeshEffect *const | layer | ) |

## § GetNextLayer() [2/2]

dgMeshEffect * dgMeshEffect::GetNextLayer | ( | dgInt32 | mark | ) |

protected

## § GetNextMaterial()

dgInt32 dgMeshEffect::GetNextMaterial | ( | dgIndexArray *const | handle,
|  | dgInt32 | materialHandle
| ) |  | const

## § GetNextPoint()

void * dgMeshEffect::GetNextPoint | ( | const void *const | point | ) | const

## § GetNextVertex()

void * dgMeshEffect::GetNextVertex | ( | const void *const | vertex | ) | const

## § GetNormalPool()

DG_INLINE dgFloat64 * dgMeshEffect::GetNormalPool | ( |  | ) | const

## § GetOrigin()

dgBigVector dgMeshEffect::GetOrigin | ( |  | ) | const

protected

## § GetPointIndex()

dgInt32 dgMeshEffect::GetPointIndex | ( | const void *const | point | ) | const

## § GetPropertiesCount()

DG_INLINE dgInt32 dgMeshEffect::GetPropertiesCount | ( |  | ) | const

## § GetPropertiesStrideInByte()

DG_INLINE dgInt32 dgMeshEffect::GetPropertiesStrideInByte | ( |  | ) | const

## § GetTotalFaceCount()

dgInt32 dgMeshEffect::GetTotalFaceCount | ( |  | ) | const

## § GetTotalIndexCount()

dgInt32 dgMeshEffect::GetTotalIndexCount | ( |  | ) | const

## § GetUV0Pool()

DG_INLINE dgFloat64 * dgMeshEffect::GetUV0Pool | ( |  | ) | const

## § GetUV1Pool()

DG_INLINE dgFloat64 * dgMeshEffect::GetUV1Pool | ( |  | ) | const

## § GetVertex()

DG_INLINE dgBigVector & dgMeshEffect::GetVertex | ( | dgInt32 | index | ) | const

## § GetVertexCount()

DG_INLINE dgInt32 dgMeshEffect::GetVertexCount | ( |  | ) | const

## § GetVertexIndex()

dgInt32 dgMeshEffect::GetVertexIndex | ( | const void *const | vertex | ) | const

## § GetVertexIndexFromPoint()

dgInt32 dgMeshEffect::GetVertexIndexFromPoint | ( | const void *const | point | ) | const

## § GetVertexPool()

DG_INLINE dgFloat64 * dgMeshEffect::GetVertexPool | ( |  | ) | const

## § GetVertexStreams()

void dgMeshEffect::GetVertexStreams | ( | dgInt32 | vetexStrideInByte,
|  | dgFloat32 *const | vertex,
|  | dgInt32 | normalStrideInByte,
|  | dgFloat32 *const | normal,
|  | dgInt32 | uvStrideInByte0,
|  | dgFloat32 *const | uv0,
|  | dgInt32 | uvStrideInByte1,
|  | dgFloat32 *const | uv1
| ) |  |

## § GetVertexStrideInByte()

DG_INLINE dgInt32 dgMeshEffect::GetVertexStrideInByte | ( |  | ) | const

## § HasOpenEdges()

bool dgMeshEffect::HasOpenEdges | ( |  | ) | const

## § Init()

void dgMeshEffect::Init | ( |  | ) |

protected

## § InsertEdgeVertex()

dgEdge * dgMeshEffect::InsertEdgeVertex | ( | dgEdge *const | edge,
|  | dgFloat64 | param
| ) |  |

## § InterpolateEdge()

dgMeshEffect::dgVertexAtribute dgMeshEffect::InterpolateEdge | ( | dgEdge *const | edge,
|  | dgFloat64 | param
| ) |  | const

protected

## § InterpolateVertex()

dgMeshEffect::dgVertexAtribute dgMeshEffect::InterpolateVertex | ( | const dgBigVector & | point,
|  | const dgEdge *const | face
| ) |  | const

## § Intersection()

dgMeshEffect * dgMeshEffect::Intersection | ( | const dgMatrix & | matrix,
|  | const dgMeshEffect *const | clipper
| ) |  | const

## § IsFaceOpen()

dgInt32 dgMeshEffect::IsFaceOpen | ( | const void *const | face | ) | const

## § MaterialGeometryBegin()

dgMeshEffect::dgIndexArray * dgMeshEffect::MaterialGeometryBegin | ( |  | ) |

## § MaterialGeomteryEnd()

void dgMeshEffect::MaterialGeomteryEnd | ( | dgIndexArray *const | handle | ) |

## § MergeFaces()

void dgMeshEffect::MergeFaces | ( | const dgMeshEffect *const | source | ) |

protected

## § PackVertexArrays()

void dgMeshEffect::PackVertexArrays | ( |  | ) |

## § PlaneClip()

bool dgMeshEffect::PlaneClip | ( | const dgMeshEffect & | convexMesh,
|  | const dgEdge *const | face
| ) |  |

protected

## § QuantizeCordinade()

DG_INLINE dgFloat64 dgMeshEffect::QuantizeCordinade | ( | dgFloat64 | val | ) | const

protected

## § RemoveUnusedVertices()

void dgMeshEffect::RemoveUnusedVertices | ( | dgInt32 *const | vertexRemapTable | ) |

## § RepairTJoints()

void dgMeshEffect::RepairTJoints | ( |  | ) |

## § Sanity()

bool dgMeshEffect::Sanity | ( |  | ) | const

## § SaveOFF()

void dgMeshEffect::SaveOFF | ( | const char *const | fileName | ) | const

## § SeparateDuplicateLoops()

bool dgMeshEffect::SeparateDuplicateLoops | ( | dgEdge *const | face | ) |

## § Serialize()

void dgMeshEffect::Serialize | ( | dgSerialize | callback,
|  | void *const | userData
| ) |  | const

## § SetFaceMaterial()

void dgMeshEffect::SetFaceMaterial | ( | const void *const | face,
|  | int | materialID
| ) |  | const

## § SphericalMapping()

void dgMeshEffect::SphericalMapping | ( | dgInt32 | material | ) |

## § SpliteFace()

dgEdge * dgMeshEffect::SpliteFace | ( | dgInt32 | v0,
|  | dgInt32 | v1
| ) |  |

## § Trace()

void dgMeshEffect::Trace | ( |  | ) | const

## § TransformMesh()

void dgMeshEffect::TransformMesh | ( | const dgMatrix & | matrix | ) |

## § Triangulate()

void dgMeshEffect::Triangulate | ( |  | ) |

## § UniformBoxMapping()

void dgMeshEffect::UniformBoxMapping | ( | dgInt32 | material,
|  | const dgMatrix & | textruMatrix
| ) |  |

## § Union()

dgMeshEffect * dgMeshEffect::Union | ( | const dgMatrix & | matrix,
|  | const dgMeshEffect *const | clipper
| ) |  | const

## Friends And Related Function Documentation

## § dgBooleanMeshBVH

friend class dgBooleanMeshBVH

friend

## § dgCollisionCompoundFractured

friend class dgCollisionCompoundFractured

friend

## § dgConvexHull3d

friend class dgConvexHull3d

friend

## § dgConvexHull4d

friend class dgConvexHull4d

friend

## § dgTriangleAnglesToUV

friend class dgTriangleAnglesToUV

friend

## Member Data Documentation

## § m_atribCount

dgInt32 dgMeshEffect::m_atribCount

protected

## § m_attrib

dgVertexAtribute* dgMeshEffect::m_attrib

protected

## § m_maxAtribCount

dgInt32 dgMeshEffect::m_maxAtribCount

protected

## § m_maxPointCount

dgInt32 dgMeshEffect::m_maxPointCount

protected

## § m_pointCount

dgInt32 dgMeshEffect::m_pointCount

protected

## § m_points

dgBigVector* dgMeshEffect::m_points

protected

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

- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect.h
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect1.cpp
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect2.cpp
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect3.cpp
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect4.cpp
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect5.cpp
- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect6.cpp