My Project: dgConvexHull3d Class Reference

My Project

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
dgConvexHull3d Class Reference

`#include <dgConvexHull3d.h>`

Inheritance diagram for dgConvexHull3d:

## Public Member Functions

| dgConvexHull3d (const dgConvexHull3d &source)
| dgConvexHull3d (dgMemoryAllocator *const allocator, const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount=0x7fffffff)
virtual | ~dgConvexHull3d ()
dgInt32 | GetVertexCount () const
const dgBigVector * | GetVertexPool () const
const dgBigVector & | GetVertex (dgInt32 i) const
dgFloat64 | GetDiagonal () const
void | GetAABB (dgBigVector &boxP0, dgBigVector &boxP1) const
dgFloat64 | RayCast (const dgBigVector &localP0, const dgBigVector &localP1) const
void | CalculateVolumeAndSurfaceArea (dgFloat64 &volume, dgFloat64 &surcafeArea) const
Public Member Functions inherited from dgList< dgConvexHull3DFace >
| dgList (dgMemoryAllocator *const allocator)
virtual | ~dgList ()
dgMemoryAllocator * | GetAllocator () const
void | SetAllocator (dgMemoryAllocator *const allocator)
| operator dgInt32 () const
dgInt32 | GetCount () const
dgListNode * | GetLast () const
dgListNode * | GetFirst () const
dgListNode * | Append ()
dgListNode * | Append (dgListNode *const node)
dgListNode * | Append (const dgConvexHull3DFace &element)
dgListNode * | Addtop ()
dgListNode * | Addtop (dgListNode *const node)
dgListNode * | Addtop (const dgConvexHull3DFace &element)
void | RotateToEnd (dgListNode *const node)
void | RotateToBegin (dgListNode *const node)
void | InsertAfter (dgListNode *const root, dgListNode *const node)
void | InsertBefore (dgListNode *const root, dgListNode *const node)
dgListNode * | Find (const dgConvexHull3DFace &element) const
dgListNode * | GetNodeFromInfo (dgConvexHull3DFace &m_info) const
void | Remove (dgListNode *const node)
void | Remove (const dgConvexHull3DFace &element)
void | RemoveAll ()
void | Merge (dgList< dgConvexHull3DFace > &list)
void | Unlink (dgListNode *const node)
bool | SanityCheck () const

## Protected Member Functions

| dgConvexHull3d (dgMemoryAllocator *const allocator)
void | BuildHull (const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount)
virtual dgListNode * | AddFace (dgInt32 i0, dgInt32 i1, dgInt32 i2)
virtual void | DeleteFace (dgListNode *const node)
virtual dgInt32 | InitVertexArray (dgHullVertex *const points, const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, void *const memoryPool, dgInt32 maxMemSize)
void | CalculateConvexHull (dgAABBPointTree3d *vertexTree, dgHullVertex *const points, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount)
dgInt32 | BuildNormalList (dgBigVector *const normalArray) const
dgInt32 | SupportVertex (dgAABBPointTree3d **const tree, const dgHullVertex *const points, const dgBigVector &dir) const
dgFloat64 | TetrahedrumVolume (const dgBigVector &p0, const dgBigVector &p1, const dgBigVector &p2, const dgBigVector &p3) const
void | TessellateTriangle (dgInt32 level, const dgVector &p0, const dgVector &p1, const dgVector &p2, dgInt32 &count, dgBigVector *const ouput, dgInt32 &start) const
dgAABBPointTree3d * | BuildTree (dgAABBPointTree3d *const parent, dgHullVertex *const points, dgInt32 count, dgInt32 baseIndex, dgInt8 **const memoryPool, dgInt32 &maxMemSize) const
bool | Sanity () const

## Static Protected Member Functions

static dgInt32 | ConvexCompareVertex (const dgHullVertex *const A, const dgHullVertex *const B, void *const context)

## Protected Attributes

dgInt32 | m_count
dgFloat64 | m_diag
dgBigVector | m_aabbP0
dgBigVector | m_aabbP1
dgArray< dgBigVector > | m_points

## Constructor & Destructor Documentation

## § dgConvexHull3d() [1/3]

dgConvexHull3d::dgConvexHull3d | ( | const dgConvexHull3d & | source | ) |

## § dgConvexHull3d() [2/3]

dgConvexHull3d::dgConvexHull3d | ( | dgMemoryAllocator *const | allocator,
|  | const dgFloat64 *const | vertexCloud,
|  | dgInt32 | strideInBytes,
|  | dgInt32 | count,
|  | dgFloat64 | distTol,
|  | dgInt32 | maxVertexCount = `0x7fffffff`
| ) |  |

## § ~dgConvexHull3d()

dgConvexHull3d::~dgConvexHull3d | ( | void |  | ) |

virtual

## § dgConvexHull3d() [3/3]

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

protected

## Member Function Documentation

## § AddFace()

dgConvexHull3d::dgListNode * dgConvexHull3d::AddFace | ( | dgInt32 | i0,
|  | dgInt32 | i1,
|  | dgInt32 | i2
| ) |  |

protectedvirtual

## § BuildHull()

void dgConvexHull3d::BuildHull | ( | const dgFloat64 *const | vertexCloud,
|  | dgInt32 | strideInBytes,
|  | dgInt32 | count,
|  | dgFloat64 | distTol,
|  | dgInt32 | maxVertexCount
| ) |  |

protected

## § BuildNormalList()

dgInt32 dgConvexHull3d::BuildNormalList | ( | dgBigVector *const | normalArray | ) | const

protected

## § BuildTree()

dgAABBPointTree3d * dgConvexHull3d::BuildTree | ( | dgAABBPointTree3d *const | parent,
|  | dgHullVertex *const | points,
|  | dgInt32 | count,
|  | dgInt32 | baseIndex,
|  | dgInt8 **const | memoryPool,
|  | dgInt32 & | maxMemSize
| ) |  | const

protected

## § CalculateConvexHull()

void dgConvexHull3d::CalculateConvexHull | ( | dgAABBPointTree3d * | vertexTree,
|  | dgHullVertex *const | points,
|  | dgInt32 | count,
|  | dgFloat64 | distTol,
|  | dgInt32 | maxVertexCount
| ) |  |

protected

## § CalculateVolumeAndSurfaceArea()

void dgConvexHull3d::CalculateVolumeAndSurfaceArea | ( | dgFloat64 & | volume,
|  | dgFloat64 & | surcafeArea
| ) |  | const

## § ConvexCompareVertex()

dgInt32 dgConvexHull3d::ConvexCompareVertex | ( | const dgHullVertex *const | A,
|  | const dgHullVertex *const | B,
|  | void *const | context
| ) |  |

staticprotected

## § DeleteFace()

void dgConvexHull3d::DeleteFace | ( | dgListNode *const | node | ) |

protectedvirtual

## § GetAABB()

void dgConvexHull3d::GetAABB | ( | dgBigVector & | boxP0,
|  | dgBigVector & | boxP1
| ) |  | const

inline

## § GetDiagonal()

dgFloat64 dgConvexHull3d::GetDiagonal | ( |  | ) | const

inline

## § GetVertex()

const dgBigVector & dgConvexHull3d::GetVertex | ( | dgInt32 | i | ) | const

inline

## § GetVertexCount()

dgInt32 dgConvexHull3d::GetVertexCount | ( |  | ) | const

inline

## § GetVertexPool()

const dgBigVector * dgConvexHull3d::GetVertexPool | ( |  | ) | const

inline

## § InitVertexArray()

dgInt32 dgConvexHull3d::InitVertexArray | ( | dgHullVertex *const | points,
|  | const dgFloat64 *const | vertexCloud,
|  | dgInt32 | strideInBytes,
|  | dgInt32 | count,
|  | void *const | memoryPool,
|  | dgInt32 | maxMemSize
| ) |  |

protectedvirtual

## § RayCast()

dgFloat64 dgConvexHull3d::RayCast | ( | const dgBigVector & | localP0,
|  | const dgBigVector & | localP1
| ) |  | const

## § Sanity()

bool dgConvexHull3d::Sanity | ( |  | ) | const

protected

## § SupportVertex()

dgInt32 dgConvexHull3d::SupportVertex | ( | dgAABBPointTree3d **const | tree,
|  | const dgHullVertex *const | points,
|  | const dgBigVector & | dir
| ) |  | const

protected

## § TessellateTriangle()

void dgConvexHull3d::TessellateTriangle | ( | dgInt32 | level,
|  | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | p2,
|  | dgInt32 & | count,
|  | dgBigVector *const | ouput,
|  | dgInt32 & | start
| ) |  | const

protected

## § TetrahedrumVolume()

dgFloat64 dgConvexHull3d::TetrahedrumVolume | ( | const dgBigVector & | p0,
|  | const dgBigVector & | p1,
|  | const dgBigVector & | p2,
|  | const dgBigVector & | p3
| ) |  | const

protected

## Member Data Documentation

## § m_aabbP0

dgBigVector dgConvexHull3d::m_aabbP0

protected

## § m_aabbP1

dgBigVector dgConvexHull3d::m_aabbP1

protected

## § m_count

dgInt32 dgConvexHull3d::m_count

protected

## § m_diag

dgFloat64 dgConvexHull3d::m_diag

protected

## § m_points

dgArray<dgBigVector> dgConvexHull3d::m_points

protected

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

- dynamics.mod/NewtonDynamics/source/core/dgConvexHull3d.h
- dynamics.mod/NewtonDynamics/source/core/dgConvexHull3d.cpp