libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MxElementTree Class Reference

Detailed Description

Element search tree for MxMesh.

Todo:
  • Extend nearest() to all element types
  • Test whether bounding volumes can use single precision
See Also
MxMesh

#include <mxelementtree.h>

Collaboration diagram for MxElementTree:
[legend]

Public Member Functions

 MxElementTree ()
 empty tree
 
void allocate (MxMeshPtr pm, uint mincount=8)
 allocate tree for all elements in the entire mesh
 
void allocateSections (MxMeshPtr pm, const Indices &sects, uint mincount=8)
 allocate tree for sections listed
 
void sort ()
 sort entire tree, computes bounding volumes
 
uint minElemCount () const
 access minimum element count per node
 
uint nelements () const
 number of elements searched
 
MxMeshPtr mesh ()
 access stored mesh
 
DopTypedop (uint k)
 access bounding volume
 
const Vct3point (uint k) const
 access mesh node
 
uint mappedIndex (uint k) const
 access element mapping
 
const uint * mappedElement (uint k, uint &nv, uint &isec) const
 access element vertices through mapping
 
uint nearest (const Vct3 &p) const
 locate surface element which is nearest to point p
 
bool find (const Vct3 &p, Real radius, Indices &eix) const
 find all surface elements within radius r of p
 

Private Member Functions

Real elementDistance (const Vct3 &p, uint k) const
 determine distance of p from element k
 
Real edTri3 (const Vct3 &p, const uint *vi) const
 distance of p from Tri3
 

Private Attributes

MxMeshPtr pmx
 pointer to mesh to use
 
ImplicitTree itree
 binary tree
 
Indices elix
 element indices used in tree
 
std::vector< DopTypebvol
 bounding volumes for nodes
 

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