#include <bcell2d_parametric_curve.hpp>
Definition at line 29 of file bcell2d_parametric_curve.hpp.
typedef bounding_box<C, REF_OF(V) > BoundingBox |
Reimplemented from bcell2d< C, REF_OF(V) >.
Definition at line 32 of file bcell2d_parametric_curve.hpp.
Reimplemented from bcell2d< C, REF_OF(V) >.
Definition at line 34 of file bcell2d_parametric_curve.hpp.
Reimplemented in bcell2d_algebraic_curve< C, V >, and bcell2d_voronoi_site2d< C, V >.
Definition at line 51 of file bcell2d.hpp.
Reimplemented from bcell2d< C, REF_OF(V) >.
Definition at line 35 of file bcell2d_parametric_curve.hpp.
Reimplemented from bcell2d< C, REF_OF(V) >.
Definition at line 36 of file bcell2d_parametric_curve.hpp.
bcell2d_parametric_curve | ( | parametric_curve< C, V > * | curve, | |
const BoundingBox & | bx | |||
) | [inline] |
Definition at line 61 of file bcell2d_parametric_curve.hpp.
BoundingBox boundingBox | ( | ) | const [inline, inherited] |
Definition at line 71 of file cell.hpp.
00071 { return (BoundingBox)*this; }
bool contains | ( | double | x, | |
double | y, | |||
double | z, | |||
bool | strict = false | |||
) | [inline, inherited] |
Definition at line 226 of file bounding_box.hpp.
References bounding_box< C, V >::m_xmax, bounding_box< C, V >::m_xmin, bounding_box< C, V >::m_ymax, bounding_box< C, V >::m_ymin, bounding_box< C, V >::m_zmax, and bounding_box< C, V >::m_zmin.
00227 { 00228 if(!strict) 00229 return (((m_xmin <= x) && (x <= m_xmax)) 00230 && ((m_ymin <= y) && (y <= m_ymax)) 00231 && ((m_zmin <= z) && (z <= m_zmax))) ; 00232 else 00233 return (((m_xmin < x) && (x < m_xmax)) 00234 && ((m_ymin < y) && (y < m_ymax)) 00235 && ((m_zmin < z) && (z < m_zmax))) ; 00236 }
bool contains | ( | double | x, | |
double | y, | |||
bool | strict = false | |||
) | [inline, inherited] |
Definition at line 215 of file bounding_box.hpp.
References bounding_box< C, V >::m_xmax, bounding_box< C, V >::m_xmin, bounding_box< C, V >::m_ymax, and bounding_box< C, V >::m_ymin.
bool contains | ( | double | x, | |
bool | strict = false | |||
) | [inline, inherited] |
Definition at line 206 of file bounding_box.hpp.
References bounding_box< C, V >::m_xmax, and bounding_box< C, V >::m_xmin.
void disconnect | ( | ) | [inline, inherited] |
virtual bool insert_regular | ( | Topology * | ) | [inline, virtual] |
Implements bcell< C, REF_OF(REF_OF(V)) >.
Definition at line 51 of file bcell2d_parametric_curve.hpp.
virtual bool insert_singular | ( | Topology * | ) | [inline, virtual] |
Implements bcell< C, REF_OF(REF_OF(V)) >.
Definition at line 52 of file bcell2d_parametric_curve.hpp.
bounding_box< C, V > * intersect | ( | const bounding_box< C, V > & | other | ) | [inline, inherited] |
Definition at line 319 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), SELF, 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().
Referenced by bounding_box< double, V >::operator*().
00319 { 00320 SELF * bcell = new SELF ; 00321 bcell->set_xmin(mmxmax(this->xmin(), other.xmin())) ; 00322 bcell->set_xmax(mmxmin(this->xmax(), other.xmax())) ; 00323 bcell->set_ymin(mmxmax(this->ymin(), other.ymin())) ; 00324 bcell->set_ymax(mmxmin(this->ymax(), other.ymax())) ; 00325 bcell->set_zmin(mmxmax(this->zmin(), other.zmin())) ; 00326 bcell->set_zmax(mmxmin(this->zmax(), other.zmax())) ; 00327 return bcell ; 00328 }
void intersected | ( | bounding_box< C, V > * | other | ) | [inline, inherited] |
Definition at line 299 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), bounding_box< C, V >::set_xmax(), bounding_box< C, V >::set_xmin(), bounding_box< C, V >::set_ymax(), bounding_box< C, V >::set_ymin(), bounding_box< C, V >::set_zmax(), bounding_box< C, V >::set_zmin(), 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().
00299 { 00300 set_xmin(mmxmax(this->xmin(), other->xmin())) ; 00301 set_xmax(mmxmin(this->xmax(), other->xmax())) ; 00302 set_ymin(mmxmax(this->ymin(), other->ymin())) ; 00303 set_ymax(mmxmin(this->ymax(), other->ymax())) ; 00304 set_zmin(mmxmax(this->zmin(), other->zmin())) ; 00305 set_zmax(mmxmin(this->zmax(), other->zmax())) ; 00306 }
Definition at line 98 of file bcell2d.hpp.
References bcell2d< C, V >::e_intersections, bcell2d< C, V >::n_intersections, Seq< C, R >::reversed(), bcell2d< C, V >::s_intersections, and bcell2d< C, V >::w_intersections.
00098 { 00099 switch(i) { 00100 case 0: 00101 return s_intersections; 00102 case 1: 00103 return e_intersections; 00104 case 2: 00105 return n_intersections.reversed(); 00106 case 3: 00107 return w_intersections.reversed(); 00108 default: 00109 return (Seq<Point *>()); 00110 } 00111 00112 }
Definition at line 84 of file bcell2d.hpp.
References bcell2d< C, V >::e_intersections, bcell2d< C, V >::n_intersections, Seq< C, R >::reversed(), bcell2d< C, V >::s_intersections, and bcell2d< C, V >::w_intersections.
Referenced by bcell2d_voronoi_site2d< C, V >::pair(), bcell2d_algebraic_curve< C, V >::pair(), bcell2d_voronoi_site2d< C, V >::starting_point(), and bcell2d_algebraic_curve< C, V >::starting_point().
00084 { 00085 // std::cout<<"Intersection " 00086 // << this->n_intersections.size()<<" " 00087 // << this->s_intersections.size()<<" " 00088 // << this->e_intersections.size()<<" " 00089 // << this->w_intersections.size()<<std::endl; 00090 Seq<Point *> r; 00091 r<< this->s_intersections; 00092 r<< this->e_intersections; 00093 r<< this->n_intersections.reversed(); 00094 r<< this->w_intersections.reversed(); 00095 return ( r ); 00096 }
bool intersects | ( | bounding_box< C, V > * | other, | |
bool | strict = true | |||
) | [inline, inherited] |
Definition at line 239 of file bounding_box.hpp.
References bounding_box< C, V >::is0D(), bounding_box< C, V >::is1D(), bounding_box< C, V >::is2D(), bounding_box< C, V >::is3d(), mmx::shape::mmxmax(), mmx::shape::mmxmin(), 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().
00240 { 00241 if(this->is0D()) 00242 return (this->xmin() == other->xmin()) ; 00243 else if(this->is1D()) 00244 if(strict) 00245 return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax()))) ; 00246 else 00247 return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax()))) ; 00248 else if(this->is2D()) 00249 if(strict) 00250 return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax())) && 00251 (mmxmax(this->ymin(), other->ymin()) < mmxmin(this->ymax(), other->ymax()))) ; 00252 else 00253 return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) && 00254 (mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax()))) ; 00255 else if(this->is3d()) { 00256 if(strict) 00257 return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax())) && 00258 (mmxmax(this->ymin(), other->ymin()) < mmxmin(this->ymax(), other->ymax())) && 00259 (mmxmax(this->zmin(), other->zmin()) < mmxmin(this->zmax(), other->zmax()))) ; 00260 else 00261 return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) && 00262 (mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax())) && 00263 (mmxmax(this->zmin(), other->zmin()) <= mmxmin(this->zmax(), other->zmax()))) ; 00264 } 00265 return false ; 00266 }
bool is0D | ( | void | ) | const [inline, inherited] |
Definition at line 80 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersects(), and bounding_box< C, V >::unites().
bool is1D | ( | void | ) | const [inline, inherited] |
Definition at line 81 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersects(), and bounding_box< C, V >::unites().
bool is2D | ( | void | ) | const [inline, inherited] |
Definition at line 82 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersects(), and bounding_box< C, V >::unites().
bool is3d | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersects(), and bounding_box< C, V >::unites().
bool is_active | ( | void | ) | [inline, virtual] |
Implements cell< C, V >.
Definition at line 44 of file bcell2d_parametric_curve.hpp.
bool is_border | ( | void | ) | const [inline, inherited] |
Definition at line 114 of file bcell2d.hpp.
References bcell2d< C, V >::e_neighbors, bcell2d< C, V >::n_neighbors, bcell2d< C, V >::s_neighbors, Seq< C, R >::size(), and bcell2d< C, V >::w_neighbors.
00114 { 00115 return ( this->s_neighbors.size()==0 || 00116 this->e_neighbors.size()==0 || 00117 this->n_neighbors.size()==0 || 00118 this->w_neighbors.size()==0 ); 00119 }
bool is_corner | ( | void | ) | const [inherited] |
bool is_intersected | ( | void | ) | [inline, virtual] |
Implements bcell< C, REF_OF(REF_OF(V)) >.
Definition at line 46 of file bcell2d_parametric_curve.hpp.
bool is_regular | ( | void | ) | [inline, virtual] |
Implements cell< C, V >.
Definition at line 67 of file bcell2d_parametric_curve.hpp.
void join0 | ( | bcell2d< C , REF_OF(V) > * | b | ) | [inline, inherited] |
void join1 | ( | bcell2d< C , REF_OF(V) > * | b | ) | [inline, inherited] |
virtual unsigned nb_intersect | ( | void | ) | const [inline, virtual, inherited] |
Definition at line 77 of file bcell2d.hpp.
References bcell2d< C, V >::e_intersections, bcell2d< C, V >::n_intersections, bcell2d< C, V >::s_intersections, Seq< C, R >::size(), and bcell2d< C, V >::w_intersections.
Referenced by bcell2d_voronoi_site2d< C, V >::is_intersected(), bcell2d_algebraic_curve< C, V >::is_intersected(), and bcell2d_algebraic_curve< C, V >::is_regular().
00077 { 00078 return (this->n_intersections.size()+ 00079 this->s_intersections.size()+ 00080 this->e_intersections.size()+ 00081 this->w_intersections.size() ); 00082 }
virtual bcell2d* neighbor | ( | Point * | p | ) | [inline, virtual, inherited] |
Definition at line 167 of file bcell2d.hpp.
References bcell2d< C, V >::e_intersections, bcell2d< C, V >::e_neighbors, Seq< C, R >::member(), bcell2d< C, V >::n_intersections, bcell2d< C, V >::n_neighbors, bcell2d< C, V >::s_intersections, bcell2d< C, V >::s_neighbors, bcell2d< C, V >::w_intersections, and bcell2d< C, V >::w_neighbors.
00167 { 00168 foreach( bcell2d *c, this->s_neighbors ) 00169 if ( c->n_intersections.member(p) ) 00170 { 00171 return c; 00172 } 00173 foreach( bcell2d *c, this->e_neighbors ) 00174 if ( c->w_intersections.member(p) ) 00175 { 00176 return c; 00177 } 00178 foreach( bcell2d *c, this->n_neighbors ) 00179 if ( c->s_intersections.member(p) ) 00180 { 00181 return c; 00182 } 00183 foreach( bcell2d *c, this->w_neighbors ) 00184 if ( c->e_intersections.member(p) ) 00185 { 00186 return c; 00187 } 00188 00189 // Point p on boundary. 00190 //std::cout<<"... Point ("<<p->x()<<","<<p->y()<<") not found on neighbors of "<< this<<"("<<this->neighbors().size() <<")"<<std::endl; 00191 return NULL; 00192 }
Definition at line 154 of file bcell2d.hpp.
References bcell2d< C, V >::e_neighbors, bcell2d< C, V >::n_neighbors, bcell2d< C, V >::s_neighbors, and bcell2d< C, V >::w_neighbors.
00154 { 00155 Seq<bcell2d *> r; 00156 r<< this->s_neighbors; 00157 r<< this->e_neighbors; 00158 r<< this->n_neighbors; 00159 r<< this->w_neighbors; 00160 return ( r ); }
double & operator() | ( | unsigned | v, | |
unsigned | s | |||
) | [inline, inherited] |
Definition at line 356 of file bounding_box.hpp.
References bounding_box< C, V >::m_xmax, bounding_box< C, V >::m_xmin, bounding_box< C, V >::m_ymax, bounding_box< C, V >::m_ymin, bounding_box< C, V >::m_zmax, and bounding_box< C, V >::m_zmin.
double operator() | ( | unsigned | v, | |
unsigned | s | |||
) | const [inline, inherited] |
Definition at line 343 of file bounding_box.hpp.
References 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().
bounding_box<C,V>* operator* | ( | const bounding_box< C, V > & | other | ) | [inline, inherited] |
Definition at line 103 of file bounding_box.hpp.
00103 { return intersect(other) ; }
bounding_box<C,V>* operator+ | ( | const bounding_box< C, V > & | other | ) | [inline, inherited] |
Definition at line 104 of file bounding_box.hpp.
00104 { return unite(other) ; }
virtual Point* pair | ( | Point * | p, | |
int & | sgn | |||
) | [pure virtual, inherited] |
Definition at line 48 of file bcell2d_parametric_curve.hpp.
void set_xmax | ( | double | x | ) | [inline, inherited] |
Definition at line 74 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), and bounding_box< C, V >::united().
00074 { this->m_xmax = x ; }
void set_xmin | ( | double | x | ) | [inline, inherited] |
Definition at line 73 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), and bounding_box< C, V >::united().
00073 { this->m_xmin = x ; }
void set_ymax | ( | double | y | ) | [inline, inherited] |
Definition at line 76 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), and bounding_box< C, V >::united().
00076 { this->m_ymax = y ; }
void set_ymin | ( | double | y | ) | [inline, inherited] |
Definition at line 75 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), and bounding_box< C, V >::united().
00075 { this->m_ymin = y ; }
void set_zmax | ( | double | z | ) | [inline, inherited] |
Definition at line 78 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), voronoi2dimpl< C, V >::run(), mesher2d< C, V >::set_input_bbox(), and bounding_box< C, V >::united().
00078 { this->m_zmax = z ; }
void set_zmin | ( | double | z | ) | [inline, inherited] |
Definition at line 77 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::intersected(), voronoi2dimpl< C, V >::run(), mesher2d< C, V >::set_input_bbox(), and bounding_box< C, V >::united().
00077 { this->m_zmin = z ; }
int side | ( | Point * | p | ) | [inline, inherited] |
Definition at line 132 of file bcell2d.hpp.
References bcell2d< C, V >::e_intersections, bcell2d< C, V >::intersections(), bcell2d< C, V >::s_intersections, Seq< C, R >::search(), Seq< C, R >::size(), and bcell2d< C, V >::w_intersections.
00132 { 00133 Seq<Point*> all; 00134 int s,i,a; 00135 s = s_intersections.size(); 00136 all = this->intersections(); 00137 a = all.size(); 00138 i = all.search(p); 00139 if (i==-1) return (-1); 00140 else return 00141 ( i<s ? 0 : 00142 ( i<s+(int)e_intersections.size() ? 1 : 00143 ( i<a-(int)w_intersections.size() ? 2 : 00144 3 ))); 00145 }
double size | ( | void | ) | [inline, inherited] |
Definition at line 199 of file bounding_box.hpp.
References bounding_box< C, V >::m_xmax, bounding_box< C, V >::m_xmin, bounding_box< C, V >::m_ymax, bounding_box< C, V >::m_ymin, bounding_box< C, V >::m_zmax, bounding_box< C, V >::m_zmin, and mmx::max().
Referenced by voronoi2dimpl< C, V >::run(), voronoi2d< C, V >::run(), mesher3d_shape< C, V >::run(), mesher3d_algebraic_curve< C, V >::run(), and mesher2d< C, V >::run().
virtual void split_position | ( | int & | v, | |
double & | t | |||
) | [virtual, inherited] |
Implements bcell< C, REF_OF(REF_OF(V)) >.
virtual Point* starting_point | ( | int | sgn | ) | [inline, virtual] |
Implements bcell2d< C, REF_OF(V) >.
Definition at line 49 of file bcell2d_parametric_curve.hpp.
virtual void subdivide | ( | bcell< C , REF_OF(REF_OF(V)) > *& | left, | |
bcell< C , REF_OF(REF_OF(V)) > *& | right, | |||
int | v, | |||
double | s | |||
) | [pure virtual, inherited] |
virtual int subdivide | ( | bcell< C , REF_OF(REF_OF(V)) > *& | left, | |
bcell< C , REF_OF(REF_OF(V)) > *& | right | |||
) | [virtual, inherited] |
Definition at line 73 of file bcell2d_parametric_curve.hpp.
00073 { 00074 // double xc = (bx->xmin()+bx->xmax())/2 ; 00075 // double yc = (bx->ymin()+bx->ymax())/2 ; 00076 00077 // SELF * nw = new SELF();//bx->xmin(), xc, yc, bx->ymax()) ; 00078 // SELF * ne = new SELF();//xc, bx->xmax(), yc, bx->ymax()) ; 00079 // SELF * sw = new SELF();//bx->xmin(), xc, bx->ymin(), yc) ; 00080 // SELF * se = new SELF();//xc, bx->xmax(), bx->ymin(), yc) ; 00081 00082 // foreach(point * p, n_intersections) { 00083 // if(p->x() <= xc) nw->northIntersectionpoints() << p ; 00084 // if(p->x() > xc) ne->northIntersectionpoints() << p ; 00085 // } 00086 00087 // foreach(point * p, s_intersections) { 00088 // if(p->x() <= xc) sw->southIntersectionpoints() << p ; 00089 // if(p->x() > xc) se->southIntersectionpoints() << p ; 00090 // } 00091 00092 // foreach(point * p, w_intersections) { 00093 // if(p->y() <= yc) sw->westIntersectionpoints() << p ; 00094 // if(p->y() > yc) nw->westIntersectionpoints() << p ; 00095 // } 00096 00097 // foreach(point * p, e_intersections) { 00098 // if(p->y() <= yc) se->eastIntersectionpoints() << p ; 00099 // if(p->y() > yc) ne->eastIntersectionpoints() << p ; 00100 // } 00101 00102 // foreach(point * p, m_critical) { 00103 // if(p->x() <= xc && p->y() <= yc) sw->criticalpoints() << p ; 00104 // if(p->x() <= xc && p->y() > yc) nw->criticalpoints() << p ; 00105 // if(p->x() > xc && p->y() <= yc) se->criticalpoints() << p ; 00106 // if(p->x() > xc && p->y() > yc) ne->criticalpoints() << p ; 00107 // } 00108 00109 // foreach(point * p, m_extremal) { 00110 // if(p->x() <= xc && p->y() <= yc) sw->extermalpoints() << p ; 00111 // if(p->x() <= xc && p->y() > yc) nw->extermalpoints() << p ; 00112 // if(p->x() > xc && p->y() <= yc) se->extermalpoints() << p ; 00113 // if(p->x() > xc && p->y() > yc) ne->extermalpoints() << p ; 00114 // } 00115 00116 // foreach(point * p, m_singular) { 00117 // if(p->x() <= xc && p->y() <= yc) sw->singularpoints() << p ; 00118 // if(p->x() <= xc && p->y() > yc) nw->singularpoints() << p ; 00119 // if(p->x() > xc && p->y() <= yc) se->singularpoints() << p ; 00120 // if(p->x() > xc && p->y() > yc) ne->singularpoints() << p ; 00121 // } 00122 00123 00124 // bcells << (Cell *)nw ; bcells << (Cell *)ne ; 00125 // bcells << (Cell *)sw ; bcells << (Cell *)se ; 00126 }
bounding_box< C, V > * unite | ( | bounding_box< C, V > * | other | ) | [inline, inherited] |
Definition at line 331 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), SELF, 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().
Referenced by bounding_box< double, V >::operator+().
00331 { 00332 SELF * bcell = new SELF ; 00333 bcell->set_xmin(mmxmin(this->xmin(), other->xmin())) ; 00334 bcell->set_xmax(mmxmax(this->xmax(), other->xmax())) ; 00335 bcell->set_ymin(mmxmin(this->ymin(), other->ymin())) ; 00336 bcell->set_ymax(mmxmax(this->ymax(), other->ymax())) ; 00337 bcell->set_zmin(mmxmin(this->zmin(), other->zmin())) ; 00338 bcell->set_zmax(mmxmax(this->zmax(), other->zmax())) ; 00339 return bcell ; 00340 }
void united | ( | bounding_box< C, V > * | other | ) | [inline, inherited] |
Definition at line 309 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), bounding_box< C, V >::set_xmax(), bounding_box< C, V >::set_xmin(), bounding_box< C, V >::set_ymax(), bounding_box< C, V >::set_ymin(), bounding_box< C, V >::set_zmax(), bounding_box< C, V >::set_zmin(), 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().
00309 { 00310 set_xmin(mmxmin(this->xmin(), other->xmin())) ; 00311 set_xmax(mmxmax(this->xmax(), other->xmax())) ; 00312 set_ymin(mmxmin(this->ymin(), other->ymin())) ; 00313 set_ymax(mmxmax(this->ymax(), other->ymax())) ; 00314 set_zmin(mmxmin(this->zmin(), other->zmin())) ; 00315 set_zmax(mmxmax(this->zmax(), other->zmax())) ; 00316 }
bool unites | ( | bounding_box< C, V > * | other, | |
bool | strict = true | |||
) | [inline, inherited] |
Definition at line 269 of file bounding_box.hpp.
References bounding_box< C, V >::is0D(), bounding_box< C, V >::is1D(), bounding_box< C, V >::is2D(), bounding_box< C, V >::is3d(), mmx::shape::mmxmax(), mmx::shape::mmxmin(), 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().
00270 { 00271 if(this->is0D()) 00272 return (this->xmin() == other->xmin()) ; 00273 else if(this->is1D()) { 00274 if(strict) 00275 return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax()))) ; 00276 else 00277 return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax()))) ; 00278 } else if(this->is2D()) { 00279 if(strict) 00280 return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax())) && 00281 (mmxmin(this->ymin(), other->ymin()) < mmxmax(this->ymax(), other->ymax()))) ; 00282 else 00283 return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) && 00284 (mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax()))) ; 00285 } else if(this->is3d()) { 00286 if(strict) 00287 return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax())) && 00288 (mmxmin(this->ymin(), other->ymin()) < mmxmax(this->ymax(), other->ymax())) && 00289 (mmxmin(this->zmin(), other->zmin()) < mmxmax(this->zmax(), other->zmax()))) ; 00290 else 00291 return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) && 00292 (mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax())) && 00293 (mmxmin(this->zmin(), other->zmin()) <= mmxmax(this->zmax(), other->zmax()))) ; 00294 } 00295 return false ; 00296 }
double xmax | ( | void | ) | const [inline, inherited] |
Definition at line 63 of file bounding_box.hpp.
00063 { return m_xmax ; }
double xmax | ( | void | ) | [inline, inherited] |
Definition at line 56 of file bounding_box.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), cell2d< C, REF_OF(V) >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), bcell2d_voronoi_impl_diagram< C, V >::compute_boundary(), bcell2d_voronoi_diagram< C, V >::compute_boundary(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), cell2d_algebraic_curve< C, V >::gradient(), bcell2d_voronoi_site2d< C, V >::gradient(), bcell2d_voronoi_impl2d< C, V >::gradient(), bcell2d_algebraic_curve< C, V >::gradient(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bcell2d_voronoi_impl_diagram< C, V >::insert_regular(), bcell2d_voronoi_diagram< C, V >::insert_regular(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), solver_implicit< C, V >::intersection(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), cell2d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), cell3d_algebraic_surface< C, V >::point(), solver_implicit< C, V >::singular(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), cell2d_algebraic_curve< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell2d_voronoi_impl_diagram< C, V >::split_position(), bcell2d_voronoi_diagram< C, V >::split_position(), bcell2d_list< C, V >::split_position(), bcell2d_intersection< C, V >::split_position(), bcell2d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell2d_voronoi_impl_diagram< C, V >::subdivide(), bcell2d_voronoi_diagram< C, V >::subdivide(), bcell2d_list< C, V >::subdivide(), bcell2d_intersection< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), voronoi_site2d< C, V >::upper_bound(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00056 { return m_xmax ; }
double xmin | ( | void | ) | const [inline, inherited] |
Definition at line 62 of file bounding_box.hpp.
00062 { return m_xmin ; }
double xmin | ( | void | ) | [inline, inherited] |
Definition at line 55 of file bounding_box.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), cell2d< C, REF_OF(V) >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), bcell2d_voronoi_impl_diagram< C, V >::compute_boundary(), bcell2d_voronoi_diagram< C, V >::compute_boundary(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), cell2d_algebraic_curve< C, V >::gradient(), bcell2d_voronoi_site2d< C, V >::gradient(), bcell2d_voronoi_impl2d< C, V >::gradient(), bcell2d_algebraic_curve< C, V >::gradient(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bcell2d_voronoi_impl_diagram< C, V >::insert_regular(), bcell2d_voronoi_diagram< C, V >::insert_regular(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), solver_implicit< C, V >::intersection(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), cell2d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), mmx::shape::operator<<(), cell3d_algebraic_surface< C, V >::point(), solver_implicit< C, V >::singular(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), cell2d_algebraic_curve< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell2d_voronoi_impl_diagram< C, V >::split_position(), bcell2d_voronoi_diagram< C, V >::split_position(), bcell2d_list< C, V >::split_position(), bcell2d_intersection< C, V >::split_position(), bcell2d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell2d_voronoi_impl_diagram< C, V >::subdivide(), bcell2d_voronoi_diagram< C, V >::subdivide(), bcell2d_list< C, V >::subdivide(), bcell2d_intersection< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), voronoi_site2d< C, V >::upper_bound(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00055 { return m_xmin ; }
double xsize | ( | void | ) | const [inline, inherited] |
Definition at line 69 of file bounding_box.hpp.
double ymax | ( | void | ) | const [inline, inherited] |
Definition at line 65 of file bounding_box.hpp.
00065 { return m_ymax ; }
double ymax | ( | void | ) | [inline, inherited] |
Definition at line 58 of file bounding_box.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), cell2d< C, REF_OF(V) >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), bcell2d_voronoi_impl_diagram< C, V >::compute_boundary(), bcell2d_voronoi_diagram< C, V >::compute_boundary(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), cell2d_algebraic_curve< C, V >::gradient(), bcell2d_voronoi_site2d< C, V >::gradient(), bcell2d_voronoi_impl2d< C, V >::gradient(), bcell2d_algebraic_curve< C, V >::gradient(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bcell2d_voronoi_impl_diagram< C, V >::insert_regular(), bcell2d_voronoi_diagram< C, V >::insert_regular(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), solver_implicit< C, V >::intersection(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), cell2d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), cell3d_algebraic_surface< C, V >::point(), solver_implicit< C, V >::singular(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), cell2d_algebraic_curve< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell2d_voronoi_impl_diagram< C, V >::split_position(), bcell2d_voronoi_diagram< C, V >::split_position(), bcell2d_list< C, V >::split_position(), bcell2d_intersection< C, V >::split_position(), bcell2d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell2d_voronoi_impl_diagram< C, V >::subdivide(), bcell2d_voronoi_diagram< C, V >::subdivide(), bcell2d_list< C, V >::subdivide(), bcell2d_intersection< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), voronoi_site2d< C, V >::upper_bound(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00058 { return m_ymax ; }
double ymin | ( | void | ) | const [inline, inherited] |
Definition at line 64 of file bounding_box.hpp.
00064 { return m_ymin ; }
double ymin | ( | void | ) | [inline, inherited] |
Definition at line 57 of file bounding_box.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), cell2d< C, REF_OF(V) >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), bcell2d_voronoi_impl_diagram< C, V >::compute_boundary(), bcell2d_voronoi_diagram< C, V >::compute_boundary(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), cell2d_algebraic_curve< C, V >::gradient(), bcell2d_voronoi_site2d< C, V >::gradient(), bcell2d_voronoi_impl2d< C, V >::gradient(), bcell2d_algebraic_curve< C, V >::gradient(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bcell2d_voronoi_impl_diagram< C, V >::insert_regular(), bcell2d_voronoi_diagram< C, V >::insert_regular(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), solver_implicit< C, V >::intersection(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), cell2d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), cell3d_algebraic_surface< C, V >::point(), solver_implicit< C, V >::singular(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), cell2d_algebraic_curve< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell2d_voronoi_impl_diagram< C, V >::split_position(), bcell2d_voronoi_diagram< C, V >::split_position(), bcell2d_list< C, V >::split_position(), bcell2d_intersection< C, V >::split_position(), bcell2d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell2d_voronoi_impl_diagram< C, V >::subdivide(), bcell2d_voronoi_diagram< C, V >::subdivide(), bcell2d_list< C, V >::subdivide(), bcell2d_intersection< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), voronoi_site2d< C, V >::upper_bound(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00057 { return m_ymin ; }
double ysize | ( | void | ) | const [inline, inherited] |
Definition at line 70 of file bounding_box.hpp.
double zmax | ( | void | ) | const [inline, inherited] |
Definition at line 67 of file bounding_box.hpp.
00067 { return m_zmax ; }
double zmax | ( | void | ) | [inline, inherited] |
Definition at line 60 of file bounding_box.hpp.
Referenced by bcell2d_voronoi_impl2d< C, V >::bcell2d_voronoi_impl2d(), bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), cell3d_algebraic_surface< C, V >::point(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00060 { return m_zmax ; }
double zmin | ( | void | ) | const [inline, inherited] |
Definition at line 66 of file bounding_box.hpp.
00066 { return m_zmin ; }
double zmin | ( | void | ) | [inline, inherited] |
Definition at line 59 of file bounding_box.hpp.
Referenced by bcell3d_algebraic_curve< C, V >::bcell3d_algebraic_curve(), bcell3d_algebraic_surface< C, V >::bcell3d_algebraic_surface(), cell3d_algebraic_surface< C, V >::cell3d_algebraic_surface(), cell3d< C, V >::center(), bcell3d_algebraic_surface< C, V >::center(), bcell3d< C, V >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_algebraic_curve< C, V >::insert(), bounding_box< C, V >::intersect(), bounding_box< C, V >::intersected(), bounding_box< C, V >::intersects(), cell3d< C, V >::is_adjacent(), bounding_box< C, V >::operator()(), cell3d_algebraic_surface< C, V >::point(), cell3d_algebraic_surface< C, V >::split(), bcell3d_algebraic_surface< C, V >::split(), cell3d< C, V >::split_position(), bcell3d_list< C, V >::split_position(), bcell3d< C, V >::split_position(), bcell3d_algebraic_curve< C, V >::subdivide(), bcell3d_algebraic_surface< C, V >::topology_regular(), bounding_box< C, V >::unite(), bounding_box< C, V >::united(), bounding_box< C, V >::unites(), cell3d_algebraic_surface< C, V >::value(), and EdgeListBuilder< node_t >::verifyFaceList().
00059 { return m_zmin ; }
double zsize | ( | void | ) | const [inline, inherited] |
Definition at line 71 of file bounding_box.hpp.
Seq<Point *> e_intersections [inherited] |
Definition at line 123 of file bcell2d.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell2d_algebraic_curve< C, V >::insert_regular(), bcell2d_algebraic_curve< C, V >::insert_singular(), bcell2d_algebraic_curve< C, V >::pair(), bcell2d_voronoi_site2d< C, V >::starting_point(), and bcell2d_algebraic_curve< C, V >::starting_point().
Seq<bcell2d *> e_neighbors [inherited] |
Definition at line 163 of file bcell2d.hpp.
Definition at line 130 of file bcell2d.hpp.
Seq<Point *> m_singular [inherited] |
Definition at line 126 of file bcell2d.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell2d_algebraic_curve< C, V >::insert_regular(), bcell2d_algebraic_curve< C, V >::insert_singular(), bcell2d_semialgebraic_curve< C, V >::is_active(), bcell2d_algebraic_curve< C, V >::is_regular(), and bcell2d_algebraic_curve< C, V >::pair().
double m_xmax [protected, inherited] |
Definition at line 107 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_xmax(), bounding_box< C, V >::size(), bounding_box< double, V >::xmax(), and bounding_box< double, V >::xsize().
double m_xmin [protected, inherited] |
Definition at line 107 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_xmin(), bounding_box< C, V >::size(), bounding_box< double, V >::xmin(), and bounding_box< double, V >::xsize().
double m_ymax [protected, inherited] |
Definition at line 108 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_ymax(), bounding_box< C, V >::size(), bounding_box< double, V >::ymax(), and bounding_box< double, V >::ysize().
double m_ymin [protected, inherited] |
Definition at line 108 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_ymin(), bounding_box< C, V >::size(), bounding_box< double, V >::ymin(), and bounding_box< double, V >::ysize().
double m_zmax [protected, inherited] |
Definition at line 109 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_zmax(), bounding_box< C, V >::size(), bounding_box< double, V >::zmax(), and bounding_box< double, V >::zsize().
double m_zmin [protected, inherited] |
Definition at line 109 of file bounding_box.hpp.
Referenced by bounding_box< C, V >::bounding_box(), bounding_box< C, V >::contains(), bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< C, V >::operator()(), bounding_box< double, V >::set_zmin(), bounding_box< C, V >::size(), bounding_box< double, V >::zmin(), and bounding_box< double, V >::zsize().
Seq<Point *> n_intersections [inherited] |
Definition at line 124 of file bcell2d.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell2d_algebraic_curve< C, V >::insert_regular(), and bcell2d_algebraic_curve< C, V >::insert_singular().
Seq<bcell2d *> n_neighbors [inherited] |
Definition at line 164 of file bcell2d.hpp.
Seq<Point *> s_intersections [inherited] |
Definition at line 122 of file bcell2d.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell2d_algebraic_curve< C, V >::insert_regular(), bcell2d_algebraic_curve< C, V >::insert_singular(), bcell2d_algebraic_curve< C, V >::pair(), bcell2d_voronoi_site2d< C, V >::starting_point(), and bcell2d_algebraic_curve< C, V >::starting_point().
Seq<bcell2d *> s_neighbors [inherited] |
Definition at line 162 of file bcell2d.hpp.
Seq<Point *> w_intersections [inherited] |
Definition at line 125 of file bcell2d.hpp.
Referenced by bcell2d_algebraic_curve< C, V >::bcell2d_algebraic_curve(), bcell2d_algebraic_curve< C, V >::insert_regular(), bcell2d_algebraic_curve< C, V >::insert_singular(), bcell2d_algebraic_curve< C, V >::pair(), bcell2d_voronoi_site2d< C, V >::starting_point(), and bcell2d_algebraic_curve< C, V >::starting_point().
Seq<bcell2d *> w_neighbors [inherited] |
Definition at line 165 of file bcell2d.hpp.