From ae542c172cc6cb9cda3acf1e5ead0665c6647e32 Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Fri, 20 Apr 2012 15:55:43 +0000 Subject: [PATCH] Add example for Polyline_constrained_triangulation_2 --- .../examples/Triangulation_2/polylines.cpp | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 Triangulation_2/examples/Triangulation_2/polylines.cpp diff --git a/Triangulation_2/examples/Triangulation_2/polylines.cpp b/Triangulation_2/examples/Triangulation_2/polylines.cpp new file mode 100755 index 00000000000..d11d06ce6f7 --- /dev/null +++ b/Triangulation_2/examples/Triangulation_2/polylines.cpp @@ -0,0 +1,59 @@ +#include +#include +#include +#include +#include +#include + +typedef CGAL::Exact_predicates_inexact_constructions_kernel K; +typedef CGAL::Triangulation_vertex_base_2 Vb; +typedef CGAL::Constrained_triangulation_face_base_2 Fb; +typedef CGAL::Triangulation_data_structure_2 TDS; +typedef CGAL::Exact_predicates_tag Itag; +typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; +typedef CGAL::Polyline_constrained_triangulation_2 PCT; +typedef PCT::Point Point; +typedef PCT::Constraint_id Cid; +typedef PCT::Vertices_in_constraint Vertices_in_constraint; +typedef PCT::Vertex_handle Vertex_handle; +typedef PCT::Face_handle Face_handle; +typedef PCT::Edge Edge; + +void +print(const PCT& cdt, Cid cid) +{ + std::cout << "Polyline constraint:" << std::endl; + for(Vertices_in_constraint it = cdt.vertices_in_constraint_begin(cid); + it != cdt.vertices_in_constraint_end(cid); + it++){ + Vertex_handle vh = it->vertex; + std::cout << vh->point() << std::endl; + } +} + +int +main( ) +{ + PCT cdt; + + std::vector points; + points.push_back(Point(1,1)); + points.push_back(Point(5,2)); + points.push_back(Point(15,3)); + Cid id1 = cdt.insert_polyline(points.begin(), points.end()); + + print(cdt, id1); + + points.clear(); + points.push_back(Point(15,3)); + points.push_back(Point(15,7)); + points.push_back(Point(7,7)); + + Cid id2 = cdt.insert_polyline(points.begin(), points.end()); + print(cdt, id2); + + cdt.concatenate(id1, id2); + print(cdt, id1); + + return 0; +}