Atoms Crowd  4.1.0
AtomsUtils::KdTreeAccel_base Class Referenceabstract
Inheritance diagram for AtomsUtils::KdTreeAccel_base:
AtomsUtils::KdTreeAccel

Public Member Functions

 KdTreeAccel_base (Mesh *mesh, unsigned int numThreads, unsigned int max_depth, float Ct=Ct_DEFAULT, float Ci=Ci_DEFAULT, float emptyBonus=emptyBonus_DEFAULT)
 
virtual void build ()=0
 
bool intersect (const AtomsMath::Vector3f &orig, const AtomsMath::Vector3f &dir, float &param, unsigned int &outFaceId, float &outU, float &outV)
 
AtomsMath::Vector3f closestPoint (const AtomsMath::Vector3f &orig, unsigned int &outFaceId, float &outU, float &outV, float &distance)
 
void searchInSiblings (const AtomsMath::Vector3f &orig, KdTreeNode *closestNode, AtomsMath::Vector3f &closetsPoint, int &outFaceId, float &outU, float &outV, float &minDistance, std::set< KdTreeNode * > &nodeVisited)
 
KdTreeNoderoot ()
 
std::vector< KdTreeNode * > & nodes ()
 
bool intersectsBoxLine (const AtomsMath::Box3f &b, const AtomsMath::Line3f &r, AtomsMath::Vector3f &ip) const
 

Public Attributes

const SAH sah
 

Protected Attributes

KdTreeNodem_root
 
const Meshm_mesh
 
unsigned int m_numThreads
 
unsigned int m_maxDepth
 
std::vector< Trianglem_triangleList
 
std::vector< KdTreeNode * > m_nodes
 

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