|
shape_doc 0.1
|
#include <cell_list.hpp>
Definition at line 28 of file cell_list.hpp.
| typedef bounding_box<C, REF_OF(V) > BoundingBox |
Reimplemented from cell< C, V >.
Definition at line 30 of file cell_list.hpp.
Definition at line 31 of file cell_list.hpp.
Reimplemented in cell2d< C, V >, cell2d_algebraic_curve< C, V >, cell2d_intersection< C, V >, cell2d_list< C, V >, cell2d_parametric_curve< C, V >, cell2d_semialgebraic_curve< C, V >, cell2d_voronoi_diagram< C, V >, cell2d_voronoi_site2d< C, V >, cell< C, with_node< V > >, and cell2d< C, REF_OF(V) >.
Reimplemented from cell< C, V >.
Definition at line 32 of file cell_list.hpp.
| cell_list | ( | void | ) |
Definition at line 58 of file cell_list.hpp.
{}
| cell_list | ( | double | xmin, |
| double | xmax | ||
| ) |
Definition at line 59 of file cell_list.hpp.
| cell_list | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax | ||
| ) |
| cell_list | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| bool | itr | ||
| ) |
| cell_list | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| double | zmin, | ||
| double | zmax | ||
| ) |
| cell_list | ( | const BoundingBox & | bx | ) |
Definition at line 63 of file cell_list.hpp.
: Cell(bx) {};
| ~cell_list | ( | void | ) | [virtual] |
Definition at line 65 of file cell_list.hpp.
| BoundingBox boundingBox | ( | ) | const [inline, inherited] |
Definition at line 88 of file cell.hpp.
{ return (BoundingBox)*this; }
| virtual Point center | ( | void | ) | const [inline, virtual, inherited] |
| bool contains | ( | double | x, |
| bool | strict = false |
||
| ) | [inherited] |
| bool contains | ( | double | x, |
| double | y, | ||
| bool | strict = false |
||
| ) | [inherited] |
| bool contains | ( | double | x, |
| double | y, | ||
| double | z, | ||
| bool | strict = false |
||
| ) | [inherited] |
| int count | ( | void | ) | [inline] |
Definition at line 50 of file cell_list.hpp.
References cell_list< C, V >::m_objects.
{ return m_objects.size() ; }
| bool insert_regular | ( | Topology * | s | ) | [virtual] |
Implements cell< C, V >.
Definition at line 77 of file cell_list.hpp.
References cell< C, V >::insert_regular().
| bool insert_singular | ( | Topology * | s | ) | [virtual] |
Implements cell< C, V >.
Definition at line 84 of file cell_list.hpp.
References cell< C, V >::insert_singular().
| bounding_box< C, V > * intersect | ( | const bounding_box< C, V > & | other | ) | [inherited] |
Definition at line 318 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), and SELF.
Referenced by bounding_box< double, V >::operator*().
{
SELF * cell = new SELF ;
cell->set_xmin(mmxmax(this->xmin(), other.xmin())) ;
cell->set_xmax(mmxmin(this->xmax(), other.xmax())) ;
cell->set_ymin(mmxmax(this->ymin(), other.ymin())) ;
cell->set_ymax(mmxmin(this->ymax(), other.ymax())) ;
cell->set_zmin(mmxmax(this->zmin(), other.zmin())) ;
cell->set_zmax(mmxmin(this->zmax(), other.zmax())) ;
return cell ;
}
| void intersected | ( | bounding_box< C, V > * | other | ) | [inherited] |
Definition at line 298 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
| bool intersects | ( | bounding_box< C, V > * | other, |
| bool | strict = true |
||
| ) | [inherited] |
Definition at line 238 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
{
if(this->is0D())
return (this->xmin() == other->xmin()) ;
else if(this->is1D())
if(strict)
return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax()))) ;
else
return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax()))) ;
else if(this->is2D())
if(strict)
return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax())) &&
(mmxmax(this->ymin(), other->ymin()) < mmxmin(this->ymax(), other->ymax()))) ;
else
return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) &&
(mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax()))) ;
else if(this->is3d()) {
if(strict)
return ((mmxmax(this->xmin(), other->xmin()) < mmxmin(this->xmax(), other->xmax())) &&
(mmxmax(this->ymin(), other->ymin()) < mmxmin(this->ymax(), other->ymax())) &&
(mmxmax(this->zmin(), other->zmin()) < mmxmin(this->zmax(), other->zmax()))) ;
else
return ((mmxmax(this->xmin(), other->xmin()) <= mmxmin(this->xmax(), other->xmax())) &&
(mmxmax(this->ymin(), other->ymin()) <= mmxmin(this->ymax(), other->ymax())) &&
(mmxmax(this->zmin(), other->zmin()) <= mmxmin(this->zmax(), other->zmax()))) ;
}
return false ;
}
| bool is0D | ( | void | ) | const [inline, inherited] |
| bool is1D | ( | void | ) | const [inline, inherited] |
| bool is2D | ( | void | ) | const [inline, inherited] |
| bool is3d | ( | void | ) | const [inline, inherited] |
| bool is_active | ( | void | ) | const [virtual] |
Definition at line 70 of file cell_list.hpp.
References cell< C, V >::is_active().
| virtual bool is_active | ( | void | ) | [pure virtual, inherited] |
Implemented in cell2d_algebraic_curve< C, V >, cell2d_intersection< C, V >, cell2d_list< C, V >, cell2d_parametric_curve< C, V >, cell2d_semialgebraic_curve< C, V >, cell2d_voronoi_diagram< C, V >, and cell2d_voronoi_site2d< C, V >.
Referenced by voronoi2d< C, V >::insert_regular(), cell2d_voronoi_diagram< C, V >::insert_regular(), cell_list< C, V >::is_active(), cell3d_list< C, V >::is_active(), cell2d_list< C, V >::is_active(), voronoi2d< C, V >::run(), topology2d< C, V >::run(), semialgebraic2d< C, V >::run(), arrangement2d< C, V >::run(), cell2d_voronoi_diagram< C, V >::starting_point(), cell2d_list< C, V >::starting_point(), cell2d_intersection< C, V >::starting_point(), and cell2d_list< C, V >::subdivide().
| virtual bool is_intersected | ( | void | ) | [pure virtual, inherited] |
| virtual bool is_regular | ( | void | ) | [pure virtual] |
Implements cell< C, V >.
| double operator() | ( | unsigned | v, |
| unsigned | s | ||
| ) | const [inherited] |
| double & operator() | ( | unsigned | v, |
| unsigned | s | ||
| ) | [inherited] |
| bounding_box<C,V>* operator* | ( | const bounding_box< C, V > & | other | ) | [inline, inherited] |
Definition at line 103 of file bounding_box.hpp.
{ 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.
{ return unite(other) ; }
| void push_back | ( | Cell * | cv | ) |
Definition at line 91 of file cell_list.hpp.
{
m_objects.push_back(cv);
}
| void set_xmax | ( | double | x | ) | [inline, inherited] |
Definition at line 74 of file bounding_box.hpp.
{ this->m_xmax = x ; }
| void set_xmin | ( | double | x | ) | [inline, inherited] |
Definition at line 73 of file bounding_box.hpp.
{ this->m_xmin = x ; }
| void set_ymax | ( | double | y | ) | [inline, inherited] |
Definition at line 76 of file bounding_box.hpp.
{ this->m_ymax = y ; }
| void set_ymin | ( | double | y | ) | [inline, inherited] |
Definition at line 75 of file bounding_box.hpp.
{ this->m_ymin = y ; }
| void set_zmax | ( | double | z | ) | [inline, inherited] |
Definition at line 78 of file bounding_box.hpp.
{ this->m_zmax = z ; }
| void set_zmin | ( | double | z | ) | [inline, inherited] |
Definition at line 77 of file bounding_box.hpp.
{ this->m_zmin = z ; }
| double size | ( | void | ) | [inherited] |
Definition at line 199 of file bounding_box.hpp.
References mmx::max().
Referenced by voronoi2d< C, V >::run(), topology2d< C, V >::run(), mesher3d_shape< C, V >::run(), and mesher3d_curve_algebraic< C, V >::run().
| virtual void split_position | ( | int & | v, |
| double & | s | ||
| ) | [pure virtual, inherited] |
Implemented in cell2d< C, V >, cell2d_intersection< C, V >, cell2d_list< C, V >, cell2d_voronoi_diagram< C, V >, and cell2d< C, REF_OF(V) >.
Definition at line 93 of file cell.hpp.
Referenced by voronoi2d< C, V >::run(), topology2d< C, V >::subdivide(), semialgebraic2d< C, V >::subdivide(), cell2d_voronoi_diagram< C, V >::subdivide(), cell2d_list< C, V >::subdivide(), cell2d_intersection< C, V >::subdivide(), and arrangement2d< C, V >::subdivide().
{
int v; double s;
this->split_position(v,s);
this->subdivide(Left,Right,v,s);
return v;
}
| virtual void subdivide | ( | cell< C, V > *& | left, |
| cell< C, V > *& | right, | ||
| int | v, | ||
| double | s | ||
| ) | [pure virtual, inherited] |
| bounding_box< C, V > * unite | ( | bounding_box< C, V > * | other | ) | [inherited] |
Definition at line 330 of file bounding_box.hpp.
References mmx::shape::mmxmax(), mmx::shape::mmxmin(), and SELF.
Referenced by bounding_box< double, V >::operator+().
{
SELF * cell = new SELF ;
cell->set_xmin(mmxmin(this->xmin(), other->xmin())) ;
cell->set_xmax(mmxmax(this->xmax(), other->xmax())) ;
cell->set_ymin(mmxmin(this->ymin(), other->ymin())) ;
cell->set_ymax(mmxmax(this->ymax(), other->ymax())) ;
cell->set_zmin(mmxmin(this->zmin(), other->zmin())) ;
cell->set_zmax(mmxmax(this->zmax(), other->zmax())) ;
return cell ;
}
| void united | ( | bounding_box< C, V > * | other | ) | [inherited] |
Definition at line 308 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
| bool unites | ( | bounding_box< C, V > * | other, |
| bool | strict = true |
||
| ) | [inherited] |
Definition at line 268 of file bounding_box.hpp.
References mmx::shape::mmxmax(), and mmx::shape::mmxmin().
{
if(this->is0D())
return (this->xmin() == other->xmin()) ;
else if(this->is1D()) {
if(strict)
return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax()))) ;
else
return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax()))) ;
} else if(this->is2D()) {
if(strict)
return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax())) &&
(mmxmin(this->ymin(), other->ymin()) < mmxmax(this->ymax(), other->ymax()))) ;
else
return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) &&
(mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax()))) ;
} else if(this->is3d()) {
if(strict)
return ((mmxmin(this->xmin(), other->xmin()) < mmxmax(this->xmax(), other->xmax())) &&
(mmxmin(this->ymin(), other->ymin()) < mmxmax(this->ymax(), other->ymax())) &&
(mmxmin(this->zmin(), other->zmin()) < mmxmax(this->zmax(), other->zmax()))) ;
else
return ((mmxmin(this->xmin(), other->xmin()) <= mmxmax(this->xmax(), other->xmax())) &&
(mmxmin(this->ymin(), other->ymin()) <= mmxmax(this->ymax(), other->ymax())) &&
(mmxmin(this->zmin(), other->zmin()) <= mmxmax(this->zmax(), other->zmax()))) ;
}
return false ;
}
| double xmax | ( | void | ) | const [inline, inherited] |
Definition at line 63 of file bounding_box.hpp.
{ return m_xmax ; }
| double xmax | ( | void | ) | [inline, inherited] |
Definition at line 56 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_xmax ; }
| double xmin | ( | void | ) | const [inline, inherited] |
Definition at line 62 of file bounding_box.hpp.
{ return m_xmin ; }
| double xmin | ( | void | ) | [inline, inherited] |
Definition at line 55 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), mmx::shape::operator<<(), mmx::operator<<(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ 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.
{ return m_ymax ; }
| double ymax | ( | void | ) | [inline, inherited] |
Definition at line 58 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_ymax ; }
| double ymin | ( | void | ) | [inline, inherited] |
Definition at line 57 of file bounding_box.hpp.
Referenced by cell2d_algebraic_curve< C, V >::cell2d_algebraic_curve(), cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), solver_implicit< C, V >::extremal(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), solver_implicit< C, V >::intersection(), solver_implicit< C, V >::singular(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_ymin ; }
| double ymin | ( | void | ) | const [inline, inherited] |
Definition at line 64 of file bounding_box.hpp.
{ return m_ymin ; }
| double ysize | ( | void | ) | const [inline, inherited] |
Definition at line 70 of file bounding_box.hpp.
| double zmax | ( | void | ) | [inline, inherited] |
Definition at line 60 of file bounding_box.hpp.
Referenced by cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_zmax ; }
| double zmax | ( | void | ) | const [inline, inherited] |
Definition at line 67 of file bounding_box.hpp.
{ return m_zmax ; }
| double zmin | ( | void | ) | const [inline, inherited] |
Definition at line 66 of file bounding_box.hpp.
{ return m_zmin ; }
| double zmin | ( | void | ) | [inline, inherited] |
Definition at line 59 of file bounding_box.hpp.
Referenced by cell3d_algebraic_curve< C, V >::cell3d_algebraic_curve(), cell3d_surface_algebraic< C, V >::cell3d_surface_algebraic(), cell3d< C, V >::center(), cell< C, REF_OF(REF_OF(V)) >::center(), EdgeListBuilder< node_t >::computeCommonFace(), topology< C, V >::insert(), mesher3d_curve_algebraic< C, V >::insert(), and EdgeListBuilder< node_t >::verifyFaceList().
{ return m_zmin ; }
| double zsize | ( | void | ) | const [inline, inherited] |
Definition at line 71 of file bounding_box.hpp.
Definition at line 54 of file cell_list.hpp.
Referenced by cell_list< C, V >::count().
double m_xmax [protected, inherited] |
Definition at line 107 of file bounding_box.hpp.
Referenced by bounding_box< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_xmax(), 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< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_xmin(), 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< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_ymax(), 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< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_ymin(), 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< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_zmax(), 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< double, V >::is0D(), bounding_box< double, V >::is1D(), bounding_box< double, V >::is2D(), bounding_box< double, V >::is3d(), bounding_box< double, V >::set_zmin(), bounding_box< double, V >::zmin(), and bounding_box< double, V >::zsize().