00001 #include <delaunay/IncrementalDelaunay.h> 00002 #include <delaunay/PointVertex.h> 00003 #include <topology/SimplicialHelpers.h> 00004 00005 #define QUIET 00006 00007 template <class D, size_t ambient, size_t topo> 00008 void run(const vector<Geometry::Point<ambient> >& pts) { 00009 00010 D *del = D::makeBoundingSimplex(pts.begin(), pts.end(), 1.0); 00011 00012 #ifndef QUIET 00013 puts("before"); 00014 Simplicial::printComplex(del->getComplex()); 00015 #endif 00016 00017 00018 size_t npoints = topo + 1; 00019 00020 assert(Simplicial::countSimplices(del->getComplex()) == 1); 00021 assert(Simplicial::countVertices(del->getComplex()) == npoints); 00022 assert(del->isOriented()); 00023 assert(del->isDelaunay()); 00024 00025 for (size_t i = 0; i < pts.size(); ++i) { 00026 del->expensiveInsertVertex(new PointVertex<ambient>(pts[i])); 00027 npoints++; 00028 assert(Simplicial::countVertices(del->getComplex()) == npoints); 00029 assert(del->isOriented()); 00030 assert(del->isDelaunay()); 00031 } 00032 00033 #ifndef QUIET 00034 puts("after"); 00035 Simplicial::printComplex(del->getComplex()); 00036 #endif 00037 }
1.4.6