#include <topology.hpp>
Definition at line 73 of file topology.hpp.
typedef bounding_box<C,typename use<ref_def,double, V >::Ref> BoundingBox |
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.
Definition at line 82 of file topology.hpp.
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.
Definition at line 83 of file topology.hpp.
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.
Definition at line 79 of file topology.hpp.
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.
Definition at line 80 of file topology.hpp.
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >, and tpl3d< C, V >.
Definition at line 78 of file topology.hpp.
Definition at line 76 of file topology.hpp.
Definition at line 77 of file topology.hpp.
topology | ( | ) | [inline] |
Definition at line 85 of file topology.hpp.
topology | ( | const BoundingBox & | bx | ) |
~topology | ( | void | ) | [inline, virtual] |
Definition at line 124 of file topology.hpp.
void insert | ( | BoundingBox * | bx, | |
bool | cross = false | |||
) | [inline, virtual] |
Definition at line 134 of file topology.hpp.
References mmx::shape::cross(), topology< C, V >::insert(), bounding_box< C, V >::xmax(), bounding_box< C, V >::xmin(), bounding_box< C, V >::ymax(), bounding_box< C, V >::ymin(), bounding_box< C, V >::zmax(), and bounding_box< C, V >::zmin().
00134 { 00135 Point 00136 *p0= new Point(bx->xmin(),bx->ymin(),bx->zmin()), 00137 *p1= new Point(bx->xmin(),bx->ymax(),bx->zmin()), 00138 *p2= new Point(bx->xmax(),bx->ymax(),bx->zmin()), 00139 *p3= new Point(bx->xmax(),bx->ymin(),bx->zmin()); 00140 00141 this->insert(p0);this->insert(p1); this->insert(new Edge(p0,p1)); 00142 this->insert(p1);this->insert(p2); this->insert(new Edge(p1,p2)); 00143 this->insert(p2);this->insert(p3); this->insert(new Edge(p2,p3)); 00144 this->insert(p3);this->insert(p0); this->insert(new Edge(p3,p0)); 00145 00146 Point 00147 *q0= new Point(bx->xmin(),bx->ymin(),bx->zmax()), 00148 *q1= new Point(bx->xmin(),bx->ymax(),bx->zmax()), 00149 *q2= new Point(bx->xmax(),bx->ymax(),bx->zmax()), 00150 *q3= new Point(bx->xmax(),bx->ymin(),bx->zmax()); 00151 00152 this->insert(q0);this->insert(q1); this->insert(new Edge(q0,q1)); 00153 this->insert(q1);this->insert(q2); this->insert(new Edge(q1,q2)); 00154 this->insert(q2);this->insert(q3); this->insert(new Edge(q2,q3)); 00155 this->insert(q3);this->insert(q0); this->insert(new Edge(q3,q0)); 00156 00157 this->insert(p0);this->insert(q0);this->insert(new Edge(p0,q0)); 00158 this->insert(p1);this->insert(q1);this->insert(new Edge(p1,q1)); 00159 this->insert(p2);this->insert(q2);this->insert(new Edge(p2,q2)); 00160 this->insert(p3);this->insert(q3);this->insert(new Edge(p3,q3)); 00161 00162 if(cross) { 00163 Point 00164 *r0= new Point(bx->xmin(),bx->ymin(),bx->zmax()), 00165 *r1= new Point(bx->xmin(),bx->ymax(),bx->zmax()), 00166 *r2= new Point(bx->xmax(),bx->ymax(),bx->zmax()), 00167 *r3= new Point(bx->xmax(),bx->ymin(),bx->zmax()); 00168 00169 this->insert(r0);this->insert(r2);this->insert(new Edge(r0,r2)); 00170 this->insert(r1);this->insert(r3);this->insert(new Edge(r1,r3)); 00171 } 00172 }
virtual void insert | ( | Face * | ) | [inline, virtual] |
Reimplemented in tpl3d< C, V >.
Definition at line 93 of file topology.hpp.
virtual void insert | ( | Edge * | ) | [pure virtual] |
Implemented in tpl3d< C, V >.
virtual void insert | ( | Point * | ) | [pure virtual] |
Implemented in tpl3d< C, V >.
Referenced by topology< C, V >::insert(), bcell2d_voronoi_site2d< C, V >::insert_regular(), bcell2d_voronoi_impl_diagram< C, V >::insert_regular(), bcell2d_voronoi_impl2d< C, V >::insert_regular(), bcell2d_voronoi_diagram< C, V >::insert_regular(), bcell2d_algebraic_curve< C, V >::insert_regular(), and bcell2d_algebraic_curve< C, V >::insert_singular().
Implemented in tpl3d< C, V >.
Referenced by bcell2d_algebraic_curve< C, V >::insert_regular(), and bcell2d_algebraic_curve< C, V >::insert_singular().
virtual void insert_singular | ( | Point * | ) | [pure virtual] |
Implemented in tpl3d< C, V >.
Referenced by bcell2d_list< C, V >::insert_regular(), and bcell2d_intersection< C, V >::insert_regular().
void set_precision | ( | double | eps | ) | [inline] |
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >.
Definition at line 130 of file topology.hpp.
void set_smoothness | ( | double | eps | ) | [inline] |
Reimplemented in subdivision< C, with_tpl3d< V >, CELL >.
Definition at line 126 of file topology.hpp.