shape_doc 0.1
|
#include <topology2d.hpp>
Definition at line 168 of file topology2d.hpp.
typedef bounding_box<C, REF_OF(V) > BoundingBox |
Definition at line 171 of file topology2d.hpp.
Definition at line 172 of file topology2d.hpp.
Cell* create | ( | Shape * | curve, |
const BoundingBox & | bx | ||
) | [inline] |
Definition at line 182 of file topology2d.hpp.
References AlgebraicCurve, Cell2dAlgebraicCurve, Cell2dParametricCurve, Cell2dSemiAlgebraicCurve, ParametricCurve, and SemiAlgebraicCurve.
Referenced by cell2d_factory< C, V >::create().
{ // std::cout<<"create"<<std::endl; Cell* cell = NULL ; if(SemiAlgebraicCurve * isemialg = dynamic_cast<SemiAlgebraicCurve *>(curve)) { cell = new Cell2dSemiAlgebraicCurve(isemialg,bx); //std::cout<<"semialg"<<std::endl; } //else if(VoronoiSite2d * vcurve = dynamic_cast<VoronoiSite2d *>(curve)) // { // cell = new Cell2dVoronoiSite(vcurve,bx); // //std::cout<<"voronoi site"<<std::endl; //} else if(AlgebraicCurve * icurve = dynamic_cast<AlgebraicCurve *>(curve)) { cell = new Cell2dAlgebraicCurve(icurve,bx); //std::cout<<"algcurve"<<std::endl; } else if(ParametricCurve * pcurve = dynamic_cast<ParametricCurve *>(curve)) { cell = new Cell2dParametricCurve(pcurve,bx); //std::cout<<"parametric curve"<<std::endl; } if(cell==NULL) std::cout<<"no dynamic cast cell2d_factory"<<std::endl; return cell ; }
Cell* create | ( | const Seq< Shape * > & | s, |
const BoundingBox & | bx | ||
) | [inline] |
Definition at line 212 of file topology2d.hpp.
References Cell2dInter, Cell2dList, and cell2d_factory< C, V >::create().
{ Cell * cell = NULL ; if (s.size()==0) return NULL; if (s.size()==1) return create(s[0],bx); if( dynamic_cast<SemiAlgebraicCurve *>(s[0]) ) { Cell2dInter* l= new Cell2dInter(bx); //std::cout<<"semialg intersection"<<std::endl; foreach(Shape* o, s) l->push_back(create(o,bx)) ; cell = l; } //else if ( dynamic_cast<VoronoiSite2d *>(s[0]) ) { // Cell2dVoronoiDiagram* l = new Cell2dVoronoiDiagram(bx); // //std::cout<<"voronoi diagram"<<std::endl; // foreach(Shape* o, s) l->push_back(create(o,bx)) ; // cell = l; //} else { Cell2dList* l= new Cell2dList(bx); // std::cout<<"cell-list"<<std::endl; foreach(Shape* o, s) l->push_back(create(o,bx)) ; cell = l; } return cell; }
static cell2d_factory<C,V>* instance | ( | void | ) | [inline, static] |
Definition at line 174 of file topology2d.hpp.
References Cell2dFactory.
{ if(!m_instance) m_instance = new Cell2dFactory ; return m_instance ; }
typedef SHAPE_OF | ( | V | ) |