My Project: dgMeshEffect::dgMeshBVH Class Reference

My Project

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

`#include <dgMeshEffect.h>`

Inheritance diagram for dgMeshEffect::dgMeshBVH:

## Classes

class | dgFitnessList
class | dgMeshBVHNode

## Public Member Functions

| dgMeshBVH (dgMeshEffect *const mesh)
virtual | ~dgMeshBVH ()
virtual void | Build ()
virtual void | Cleanup ()
void | GetOverlapNodes (dgList< dgMeshBVHNode *> &overlapNodes, const dgBigVector &p0, const dgBigVector &p1) const
dgMeshBVHNode * | FaceRayCast (const dgBigVector &l0, const dgBigVector &l1, dgFloat64 &paramOut, bool doubleSidedFaces) const

## Protected Member Functions

dgMeshBVHNode * | AddFaceNode (dgEdge *const face, void *const userData)
void | RemoveNode (dgMeshBVHNode *const treeNode)
void | ImproveNodeFitness ()
void | ImproveNodeFitness (dgMeshBVHNode *const node)
dgFloat32 | CalculateSurfaceArea (dgMeshBVHNode *const node0, dgMeshBVHNode *const node1, dgVector &minBox, dgVector &maxBox) const
virtual bool | SanityCheck () const
virtual dgFloat64 | VertexRayCast (const dgBigVector &l0, const dgBigVector &l1) const
virtual dgFloat64 | RayFaceIntersect (const dgMeshBVHNode *const face, const dgBigVector &p0, const dgBigVector &p1, bool dobleSidedFaces) const
virtual bool | RayRayIntersect (dgEdge *const edge, const dgMeshEffect *const otherMesh, dgEdge *const otherEdge, dgFloat64 &param, dgFloat64 &otherParam) const

## Protected Attributes

dgMeshEffect * | m_mesh
dgMeshBVHNode * | m_rootNode
dgFitnessList | m_fitness

## Friends

class | dgMeshEffect

## Constructor & Destructor Documentation

## § dgMeshBVH()

dgMeshEffect::dgMeshBVH::dgMeshBVH | ( | dgMeshEffect *const | mesh | ) |

## § ~dgMeshBVH()

dgMeshEffect::dgMeshBVH::~dgMeshBVH | ( |  | ) |

virtual

## Member Function Documentation

## § AddFaceNode()

dgMeshEffect::dgMeshBVH::dgMeshBVHNode * dgMeshEffect::dgMeshBVH::AddFaceNode | ( | dgEdge *const | face,
|  | void *const | userData
| ) |  |

protected

## § Build()

void dgMeshEffect::dgMeshBVH::Build | ( |  | ) |

virtual

Reimplemented in dgBooleanMeshClipper.

## § CalculateSurfaceArea()

dgFloat32 dgMeshEffect::dgMeshBVH::CalculateSurfaceArea | ( | dgMeshBVHNode *const | node0,
|  | dgMeshBVHNode *const | node1,
|  | dgVector & | minBox,
|  | dgVector & | maxBox
| ) |  | const

protected

## § Cleanup()

void dgMeshEffect::dgMeshBVH::Cleanup | ( |  | ) |

virtual

Reimplemented in dgBooleanMeshClipper.

## § FaceRayCast()

dgMeshEffect::dgMeshBVH::dgMeshBVHNode * dgMeshEffect::dgMeshBVH::FaceRayCast | ( | const dgBigVector & | l0,
|  | const dgBigVector & | l1,
|  | dgFloat64 & | paramOut,
|  | bool | doubleSidedFaces
| ) |  | const

## § GetOverlapNodes()

void dgMeshEffect::dgMeshBVH::GetOverlapNodes | ( | dgList< dgMeshBVHNode *> & | overlapNodes,
|  | const dgBigVector & | p0,
|  | const dgBigVector & | p1
| ) |  | const

## § ImproveNodeFitness() [1/2]

void dgMeshEffect::dgMeshBVH::ImproveNodeFitness | ( |  | ) |

protected

## § ImproveNodeFitness() [2/2]

void dgMeshEffect::dgMeshBVH::ImproveNodeFitness | ( | dgMeshBVHNode *const | node | ) |

protected

## § RayFaceIntersect()

dgFloat64 dgMeshEffect::dgMeshBVH::RayFaceIntersect | ( | const dgMeshBVHNode *const | face,
|  | const dgBigVector & | p0,
|  | const dgBigVector & | p1,
|  | bool | dobleSidedFaces
| ) |  | const

protectedvirtual

Reimplemented in dgHACDClusterGraph::dgBackFaceFinder.

## § RayRayIntersect()

bool dgMeshEffect::dgMeshBVH::RayRayIntersect | ( | dgEdge *const | edge,
|  | const dgMeshEffect *const | otherMesh,
|  | dgEdge *const | otherEdge,
|  | dgFloat64 & | param,
|  | dgFloat64 & | otherParam
| ) |  | const

protectedvirtual

## § RemoveNode()

void dgMeshEffect::dgMeshBVH::RemoveNode | ( | dgMeshBVHNode *const | treeNode | ) |

protected

## § SanityCheck()

bool dgMeshEffect::dgMeshBVH::SanityCheck | ( |  | ) | const

protectedvirtual

Reimplemented in dgBooleanMeshClipper.

## § VertexRayCast()

dgFloat64 dgMeshEffect::dgMeshBVH::VertexRayCast | ( | const dgBigVector & | l0,
|  | const dgBigVector & | l1
| ) |  | const

protectedvirtual

## Friends And Related Function Documentation

## § dgMeshEffect

friend class dgMeshEffect

friend

## Member Data Documentation

## § m_fitness

dgFitnessList dgMeshEffect::dgMeshBVH::m_fitness

protected

## § m_mesh

dgMeshEffect* dgMeshEffect::dgMeshBVH::m_mesh

protected

## § m_rootNode

dgMeshBVHNode* dgMeshEffect::dgMeshBVH::m_rootNode

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