cisst-saw
Loading...
Searching...
No Matches
msh3PDTreeNode Class Reference

#include <msh3PDTreeNode.h>

Public Member Functions

 msh3PDTreeNode (int *pDataIndexArray, int numIndexes, msh3PDTreeBase *pTree, msh3PDTreeNode *pParent)
 msh3PDTreeNode (double)
 ~msh3PDTreeNode ()
int FindClosestDatum (const vct3 &v, vct3 &closestPoint, double &ErrorBound, unsigned int &numNodesVisited, unsigned int &numNodesSearched)
void FindIntersectedPoints (const vct3 &v, const double boundingDistance, msh3Mesh &mesh, std::vector< int > &faceIdx)
int NumData () const
int IsTerminalNode () const
int SortNodeForSplit ()
vctFrm3 ComputeCovFrame (int i0, int i1)
int ConstructSubtree (int CountThresh, double DiagThresh)
void AccumulateCentroid (int datum, vct3 &sum) const
void AccumulateVariances (int datum, const vct3 &mean, vctDouble3x3 &C) const
int Datum (int i) const
int & Datum (int i)
msh3PDTreeNodeGetChildSplitNode (const vct3 &datumPos)
int FindTerminalNode (int datum, msh3PDTreeNode **termNode)
void PrintTerminalNodes (std::ofstream &fs)
bool NodeContainsDatum (int datum)

Public Attributes

msh3PDTreeBasepMyTree
msh3PDTreeNodepParent
msh3PDTreeNodepLEq
msh3PDTreeNodepMore
int * pDataIndices
int NData
int myDepth
vctFrm3 F
msh3BoundingBox Bounds
double EigMax
vct3 EigRankMin
bool bUseParentEigMaxBound
bool bUseParentEigRankMinBounds
double * pEigMax
vct3pEigRankMin

Constructor & Destructor Documentation

◆ msh3PDTreeNode() [1/2]

msh3PDTreeNode::msh3PDTreeNode ( int * pDataIndexArray,
int numIndexes,
msh3PDTreeBase * pTree,
msh3PDTreeNode * pParent )

◆ msh3PDTreeNode() [2/2]

msh3PDTreeNode::msh3PDTreeNode ( double )
inline

◆ ~msh3PDTreeNode()

msh3PDTreeNode::~msh3PDTreeNode ( )

Member Function Documentation

◆ AccumulateCentroid()

void msh3PDTreeNode::AccumulateCentroid ( int datum,
vct3 & sum ) const

◆ AccumulateVariances()

void msh3PDTreeNode::AccumulateVariances ( int datum,
const vct3 & mean,
vctDouble3x3 & C ) const

◆ ComputeCovFrame()

vctFrm3 msh3PDTreeNode::ComputeCovFrame ( int i0,
int i1 )

◆ ConstructSubtree()

int msh3PDTreeNode::ConstructSubtree ( int CountThresh,
double DiagThresh )

◆ Datum() [1/2]

int & msh3PDTreeNode::Datum ( int i)
inline

◆ Datum() [2/2]

int msh3PDTreeNode::Datum ( int i) const
inline

◆ FindClosestDatum()

int msh3PDTreeNode::FindClosestDatum ( const vct3 & v,
vct3 & closestPoint,
double & ErrorBound,
unsigned int & numNodesVisited,
unsigned int & numNodesSearched )

◆ FindIntersectedPoints()

void msh3PDTreeNode::FindIntersectedPoints ( const vct3 & v,
const double boundingDistance,
msh3Mesh & mesh,
std::vector< int > & faceIdx )

◆ FindTerminalNode()

int msh3PDTreeNode::FindTerminalNode ( int datum,
msh3PDTreeNode ** termNode )

◆ GetChildSplitNode()

msh3PDTreeNode * msh3PDTreeNode::GetChildSplitNode ( const vct3 & datumPos)

◆ IsTerminalNode()

int msh3PDTreeNode::IsTerminalNode ( ) const
inline

◆ NodeContainsDatum()

bool msh3PDTreeNode::NodeContainsDatum ( int datum)
inline

◆ NumData()

int msh3PDTreeNode::NumData ( ) const
inline

◆ PrintTerminalNodes()

void msh3PDTreeNode::PrintTerminalNodes ( std::ofstream & fs)

◆ SortNodeForSplit()

int msh3PDTreeNode::SortNodeForSplit ( )

Member Data Documentation

◆ Bounds

msh3BoundingBox msh3PDTreeNode::Bounds

◆ bUseParentEigMaxBound

bool msh3PDTreeNode::bUseParentEigMaxBound

◆ bUseParentEigRankMinBounds

bool msh3PDTreeNode::bUseParentEigRankMinBounds

◆ EigMax

double msh3PDTreeNode::EigMax

◆ EigRankMin

vct3 msh3PDTreeNode::EigRankMin

◆ F

vctFrm3 msh3PDTreeNode::F

◆ myDepth

int msh3PDTreeNode::myDepth

◆ NData

int msh3PDTreeNode::NData

◆ pDataIndices

int* msh3PDTreeNode::pDataIndices

◆ pEigMax

double* msh3PDTreeNode::pEigMax

◆ pEigRankMin

vct3* msh3PDTreeNode::pEigRankMin

◆ pLEq

msh3PDTreeNode* msh3PDTreeNode::pLEq

◆ pMore

msh3PDTreeNode * msh3PDTreeNode::pMore

◆ pMyTree

msh3PDTreeBase* msh3PDTreeNode::pMyTree

◆ pParent

msh3PDTreeNode* msh3PDTreeNode::pParent

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