|
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().