1
0
Fork 0

- add the extra height nodes to the cgal triangulation

- enable cgal triangulation
This commit is contained in:
Peter Sadrozinski 2012-09-01 19:15:59 -04:00 committed by Christian Schmitt
parent f3da89af8a
commit 85ad4573ec
2 changed files with 12 additions and 5 deletions

View file

@ -51,8 +51,7 @@
using std::string;
//double gSnap = 0.00000001; // approx 1 mm
double gSnap = 0.0000002; // approx 2 cm
double gSnap = 0.00000001; // approx 1 mm
static const double cover_size = 1.0 / 120.0;
static const double half_cover_size = cover_size * 0.5;
@ -1853,7 +1852,7 @@ void TGConstruct::TesselatePolys( void )
": id = " << id );
// TGPolygon tri = polygon_tesselate_alt_with_extra( poly, poly_extra, false );
TGPolygon tri = polygon_tesselate_alt_with_extra( poly, poly_extra, false );
TGPolygon tri = polygon_tesselate_alt_with_extra_cgal( poly, poly_extra, false );
// ensure all added nodes are accounted for
for (int k=0; k< tri.contours(); k++) {

View file

@ -114,7 +114,15 @@ TGPolygon polygon_tesselate_alt_with_extra_cgal( TGPolygon &p, const point_list&
return result;
}
// insert each polygon into the triangulation
// First, insert the extra points
std::vector<Point> points;
points.reserve(extra_nodes.size());
for (unsigned int n = 0; n < extra_nodes.size(); n++) {
points.push_back( Point(extra_nodes[n].x(), extra_nodes[n].y()) );
}
cdt.insert(points.begin(), points.end());
// then insert each polygon as a constraint into the triangulation
for (int c = 0; c < p.contours(); c++) {
point_list contour = p.get_contour( c );
Polygon_2 poly;
@ -148,4 +156,4 @@ TGPolygon polygon_tesselate_alt_with_extra_cgal( TGPolygon &p, const point_list&
}
return result;
}
}