#include <node.hpp>
Definition at line 22 of file node.hpp.
enum NODE_TYPE |
node | ( | void | ) | [inline] |
Definition at line 81 of file node.hpp.
References node< _CELL >::depth, node< _CELL >::index, node< _CELL >::LEFT, node< _CELL >::m_cell, node< _CELL >::m_left, node< _CELL >::m_parent, node< _CELL >::m_right, node< _CELL >::m_type, and node< _CELL >::m_var.
Definition at line 97 of file node.hpp.
References node< _CELL >::depth, node< _CELL >::index, node< _CELL >::LEFT, node< _CELL >::m_cell, node< _CELL >::m_left, node< _CELL >::m_parent, node< _CELL >::m_right, node< _CELL >::m_type, and node< _CELL >::m_var.
Definition at line 125 of file node.hpp.
References node< _CELL >::depth, node< _CELL >::LEFT, node< _CELL >::m_cell, node< _CELL >::m_left, node< _CELL >::m_parent, node< _CELL >::m_right, node< _CELL >::m_type, node< _CELL >::m_var, and node< _CELL >::RIGHT.
00126 { 00127 this->m_cell = cl ; 00128 this->m_type = type ; 00129 this->m_var = v ; 00130 this->m_parent = parent ; 00131 00132 this->m_left = NULL; 00133 this->m_right = NULL; 00134 00135 depth = parent->depth+1 ; 00136 00137 switch(type) { 00138 case LEFT : parent->set_leftchild(this) ; break ; 00139 case RIGHT: parent->set_rightchild(this) ; break ; 00140 default: std::cerr << "Error : the node's type isn't appropriate \n" ; break ; 00141 } 00142 }
Definition at line 113 of file node.hpp.
References node< _CELL >::depth, node< _CELL >::LEFT, node< _CELL >::m_cell, node< _CELL >::m_left, node< _CELL >::m_parent, node< _CELL >::m_right, node< _CELL >::m_var, node< _CELL >::RIGHT, and node< _CELL >::type().
const CELL& get_cell | ( | void | ) | const [inline] |
Definition at line 46 of file node.hpp.
Referenced by dualize< C, V, Cell >::get_dual_cell(), dualize< C, V, Cell >::get_dual_edge(), dualize< C, V, Cell >::get_dual_face(), dualize< C, V, Cell >::get_dual_vertex(), subdivision< C, V, Cell >::run(), mesher3d_shape< C, V >::run(), mesher3d_algebraic_curve< C, V >::run(), and mesher2d< C, V >::run().
00046 { return m_cell; }
bool is_leaf | ( | void | ) | const [inline] |
Definition at line 144 of file node.hpp.
References node< _CELL >::m_left, and node< _CELL >::m_right.
Referenced by dualize< C, V, Cell >::get_dual_cell(), dualize< C, V, Cell >::get_dual_edge(), dualize< C, V, Cell >::get_dual_face(), dualize< C, V, Cell >::get_dual_vertex(), and node< _CELL >::leaf_distance().
size_t leaf_distance | ( | void | ) | const [inline] |
Definition at line 151 of file node.hpp.
References node< _CELL >::is_leaf(), node< _CELL >::m_left, node< _CELL >::m_right, mmx::min(), and NODE.
00152 { 00153 if ( this->is_leaf() ) 00154 return 0; 00155 00156 struct inner { 00157 size_t operator()( const NODE* node ) { 00158 if ( node == 0 ) 00159 return 0; 00160 else 00161 return node->leaf_distance(); 00162 } 00163 } I; 00164 00165 size_t d = 0; 00166 d = std::min( d, I(m_left) ); 00167 d = std::min( d, I(m_right) ); 00168 00169 return d+1; 00170 }
Definition at line 54 of file node.hpp.
Referenced by dualize< C, V, Cell >::get_dual_cell(), dualize< C, V, Cell >::get_dual_edge(), dualize< C, V, Cell >::get_dual_face(), and dualize< C, V, Cell >::get_dual_vertex().
00054 { return m_left ; }
Definition at line 55 of file node.hpp.
Referenced by dualize< C, V, Cell >::get_dual_cell(), dualize< C, V, Cell >::get_dual_edge(), dualize< C, V, Cell >::get_dual_face(), and dualize< C, V, Cell >::get_dual_vertex().
00055 { return m_right ; }
void set_cell | ( | const CELL & | c | ) | [inline] |
Definition at line 40 of file node.hpp.
Referenced by mesher3d_algebraic_curve< C, V >::run(), mesher2d< C, V >::run(), and subdivision< C, V, Cell >::set_input().
00040 { m_cell = c ; }
Definition at line 41 of file node.hpp.
Referenced by kdtree< CELL * >::kdtree().
00041 { m_parent = n ; }
int split_dir | ( | void | ) | const [inline] |
NODE_TYPE type | ( | void | ) | const [inline] |
Definition at line 51 of file node.hpp.
Referenced by node< _CELL >::node().
00051 { return m_type ; }
int depth |
Definition at line 76 of file node.hpp.
Referenced by node< _CELL >::node().
int index |
Definition at line 77 of file node.hpp.
Referenced by node< _CELL >::node().
Definition at line 67 of file node.hpp.
Referenced by node< CELL * >::get_cell(), node< _CELL >::node(), and node< CELL * >::set_cell().
Definition at line 73 of file node.hpp.
Referenced by node< _CELL >::is_leaf(), node< _CELL >::leaf_distance(), node< CELL * >::left(), node< _CELL >::node(), node< CELL * >::set_leftchild(), semialgebraic2d< C, V >::subdivide(), mesher3d_shape< C, V >::subdivide(), mesher3d_algebraic_curve< C, V >::subdivide(), mesher2d< C, V >::subdivide(), and arrangement2d< C, V >::subdivide().
Definition at line 72 of file node.hpp.
Referenced by node< _CELL >::node(), node< CELL * >::parent(), and node< CELL * >::set_parent().
Definition at line 74 of file node.hpp.
Referenced by node< _CELL >::is_leaf(), node< _CELL >::leaf_distance(), node< _CELL >::node(), node< CELL * >::right(), node< CELL * >::set_rightchild(), semialgebraic2d< C, V >::subdivide(), mesher3d_shape< C, V >::subdivide(), mesher3d_algebraic_curve< C, V >::subdivide(), mesher2d< C, V >::subdivide(), and arrangement2d< C, V >::subdivide().
Definition at line 69 of file node.hpp.
Referenced by node< _CELL >::node(), and node< CELL * >::type().
int m_var |
Definition at line 70 of file node.hpp.
Referenced by node< _CELL >::node(), node< CELL * >::split_dir(), and node< CELL * >::var().