shape_doc 0.1
|
#include <octree_node.hpp>
Definition at line 24 of file octree_node.hpp.
enum EDGE_TYPE |
enum FACE_TYPE |
enum NODE_TYPE |
octree_node | ( | void | ) |
octree_node | ( | Object | object, |
CELL | cl | ||
) |
Definition at line 112 of file octree_node.hpp.
octree_node | ( | NODE_TYPE | nodeType, |
octree_node< Object, CELL > * | parent, | ||
CELL & | cl | ||
) |
Definition at line 142 of file octree_node.hpp.
{ this->m_cell = cl ; this->m_type = type ; this->m_parent = parent ; F_NEchild = NULL ; F_NWchild = NULL ; F_SEchild = NULL ; F_SWchild = NULL ; B_NEchild = NULL ; B_NWchild = NULL ; B_SEchild = NULL ; B_SWchild = NULL ; depth = parent->depth+1 ; switch(type) { case F_NE: parent->setFNEchild(this) ; break ; case F_NW: parent->setFNWchild(this) ; break ; case F_SW: parent->setFSWchild(this) ; break ; case F_SE: parent->setFSEchild(this) ; break ; case B_NE: parent->setBNEchild(this) ; break ; case B_NW: parent->setBNWchild(this) ; break ; case B_SW: parent->setBSWchild(this) ; break ; case B_SE: parent->setBSEchild(this) ; break ; default: std::cerr << "Error : the node's type isn't appropriate \n" ; break ; } }
octree_node | ( | octree_node< Object, CELL > * | left, |
octree_node< Object, CELL > * | right, | ||
CELL | cl | ||
) |
Definition at line 126 of file octree_node.hpp.
References mmx::shape_ssi::left(), and mmx::shape_ssi::right().
{ this->m_parent = NULL ; this->m_cell = cl ; left->type = F_NW ; left->parent = this ; F_NWchild = left ; right->type = F_NE ; right->parent = this ; F_NEchild = right ; F_NWchild = left ; F_SWchild = NULL ; F_NEchild = right ; F_SEchild = NULL ; B_NEchild = NULL ; B_NWchild = NULL ; B_SEchild = NULL ; B_SWchild = NULL ; depth = left->depth-1 ; }
octree_node | ( | octree_node< Object, CELL > & | node | ) | [protected] |
octree_node<Object, CELL>* BNEchild | ( | void | ) | [inline] |
Definition at line 68 of file octree_node.hpp.
References octree_node< Object, CELL >::B_NEchild.
{ return B_NEchild ; }
octree_node<Object, CELL>* BNWchild | ( | void | ) | [inline] |
Definition at line 69 of file octree_node.hpp.
References octree_node< Object, CELL >::B_NWchild.
{ return B_NWchild ; }
octree_node<Object, CELL>* BSEchild | ( | void | ) | [inline] |
Definition at line 70 of file octree_node.hpp.
References octree_node< Object, CELL >::B_SEchild.
{ return B_SEchild ; }
octree_node<Object, CELL>* BSWchild | ( | void | ) | [inline] |
Definition at line 71 of file octree_node.hpp.
References octree_node< Object, CELL >::B_SWchild.
{ return B_SWchild ; }
octree_node<Object, CELL>* FNEchild | ( | void | ) | [inline] |
Definition at line 63 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NEchild.
{ return F_NEchild ; }
octree_node<Object, CELL>* FNWchild | ( | void | ) | [inline] |
Definition at line 64 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NWchild.
{ return F_NWchild ; }
octree_node<Object, CELL>* FSEchild | ( | void | ) | [inline] |
Definition at line 65 of file octree_node.hpp.
References octree_node< Object, CELL >::F_SEchild.
{ return F_SEchild ; }
octree_node<Object, CELL>* FSWchild | ( | void | ) | [inline] |
Definition at line 66 of file octree_node.hpp.
References octree_node< Object, CELL >::F_SWchild.
{ return F_SWchild ; }
const CELL& get_cell | ( | void | ) | const [inline] |
Definition at line 55 of file octree_node.hpp.
References octree_node< Object, CELL >::m_cell.
{ return m_cell; }
CELL& get_cell | ( | void | ) | [inline] |
Definition at line 56 of file octree_node.hpp.
References octree_node< Object, CELL >::m_cell.
{ return m_cell ; }
bool isLeaf | ( | void | ) | const |
size_t leafDistance | ( | void | ) | const |
Definition at line 178 of file octree_node.hpp.
References mmx::min(), and Node.
{ if ( this->isLeaf() ) return 0; struct inner { size_t operator()( const Node* node ) { if ( node == 0 ) return 0; else return node->leafDistance(); } } I; size_t d = 0; d = std::min( d, I(B_NEchild) ); d = std::min( d, I(B_NWchild) ); d = std::min( d, I(B_SEchild) ); d = std::min( d, I(B_SWchild) ); d = std::min( d, I(F_NEchild) ); d = std::min( d, I(F_NWchild) ); d = std::min( d, I(F_SEchild) ); d = std::min( d, I(F_SWchild) ); return d+1; }
octree_node<Object, CELL>* left | ( | void | ) | [inline] |
Definition at line 73 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NWchild.
{ return F_NWchild ; }
Object object | ( | void | ) | [inline] |
Definition at line 59 of file octree_node.hpp.
References octree_node< Object, CELL >::m_objects.
{ return m_objects.front() ; }
octree_node<Object, CELL>* right | ( | void | ) | [inline] |
Definition at line 74 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NEchild.
{ return F_NEchild ; }
void setBNEchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 50 of file octree_node.hpp.
References octree_node< Object, CELL >::B_NEchild.
{ B_NEchild = n ; }
void setBNWchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 51 of file octree_node.hpp.
References octree_node< Object, CELL >::B_NWchild.
{ B_NWchild = n ; }
void setBSEchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 52 of file octree_node.hpp.
References octree_node< Object, CELL >::B_SEchild.
{ B_SEchild = n ; }
void setBSWchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 53 of file octree_node.hpp.
References octree_node< Object, CELL >::B_SWchild.
{ B_SWchild = n ; }
void setCell | ( | const CELL & | c | ) | [inline] |
Definition at line 41 of file octree_node.hpp.
References octree_node< Object, CELL >::m_cell.
{ m_cell = c ; }
void setFNEchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 45 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NEchild.
{ F_NEchild = n ; }
void setFNWchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 46 of file octree_node.hpp.
References octree_node< Object, CELL >::F_NWchild.
{ F_NWchild = n ; }
void setFSEchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 47 of file octree_node.hpp.
References octree_node< Object, CELL >::F_SEchild.
{ F_SEchild = n ; }
void setFSWchild | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 48 of file octree_node.hpp.
References octree_node< Object, CELL >::F_SWchild.
{ F_SWchild = n ; }
void setParent | ( | octree_node< Object, CELL > * | n | ) | [inline] |
Definition at line 43 of file octree_node.hpp.
References octree_node< Object, CELL >::m_parent.
Referenced by quadtree< Object, CELL >::quadtree().
{ m_parent = n ; }
NODE_TYPE type | ( | void | ) | [inline] |
Definition at line 61 of file octree_node.hpp.
References octree_node< Object, CELL >::m_type.
{ return m_type ; }
octree_node<Object, CELL>* B_NEchild |
Definition at line 89 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::BNEchild(), and octree_node< Object, CELL >::setBNEchild().
octree_node<Object, CELL>* B_NWchild |
Definition at line 90 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::BNWchild(), and octree_node< Object, CELL >::setBNWchild().
octree_node<Object, CELL>* B_SEchild |
Definition at line 91 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::BSEchild(), and octree_node< Object, CELL >::setBSEchild().
octree_node<Object, CELL>* B_SWchild |
Definition at line 92 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::BSWchild(), and octree_node< Object, CELL >::setBSWchild().
int depth |
Definition at line 94 of file octree_node.hpp.
octree_node<Object, CELL>* F_NEchild |
Definition at line 85 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::FNEchild(), octree_node< Object, CELL >::right(), and octree_node< Object, CELL >::setFNEchild().
octree_node<Object, CELL>* F_NWchild |
Definition at line 86 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::FNWchild(), octree_node< Object, CELL >::left(), and octree_node< Object, CELL >::setFNWchild().
octree_node<Object, CELL>* F_SEchild |
Definition at line 87 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::FSEchild(), and octree_node< Object, CELL >::setFSEchild().
octree_node<Object, CELL>* F_SWchild |
Definition at line 88 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::FSWchild(), and octree_node< Object, CELL >::setFSWchild().
int index |
Definition at line 95 of file octree_node.hpp.
CELL m_cell |
Definition at line 80 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::get_cell(), and octree_node< Object, CELL >::setCell().
std::list<Object> m_objects |
Definition at line 81 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::object().
octree_node<Object, CELL>* m_parent |
Definition at line 84 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::setParent().
Definition at line 82 of file octree_node.hpp.
Referenced by octree_node< Object, CELL >::type().