diff --git a/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_2.h b/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_2.h index 757657cbef7..543734c695b 100644 --- a/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_2.h +++ b/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_2.h @@ -118,6 +118,9 @@ public: } }; + + void file_output(std::ostream& os) const; + private: void update_status_incident(Vertex_handle va, Vertex_handle c1, @@ -636,11 +639,35 @@ triangulate(List_edges & list_edges, List_faces & } while (list_edges.size()>1); } +template < class Gt, class Tds > +void +Constrained_triangulation_2:: +file_output(std::ostream& os) const +{ + Triangulation_2::file_output(os); + + // write constrained status + typename Tds::Iterator_base ib = _tds.iterator_base_begin(); + for( ; ib != _tds.iterator_base_end(); ++ib) { + for(int j = 0; j < 3; ++j){ + if (ib->is_constrained(j)) { os << "C";} + else { os << "N";} + if(is_ascii(os)){ + if(j==2) { + os << "\n"; + } else { + os << ' '; + } + } + } + } +} + template < class Gt, class Tds > ostream & operator<<(ostream& os, const Constrained_triangulation_2 &Ct) { - os << (Triangulation_2) Ct; + //os << (Triangulation_2) Ct; // typename Constrained_triangulation_2::Face_iterator // it = Ct.faces_begin(); @@ -677,7 +704,9 @@ operator<<(ostream& os, const Constrained_triangulation_2 &Ct) // } // }while(++fc != done); -return os ; + + Ct.file_output(os); + return os ; } diff --git a/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_sweep_demo_2.h b/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_sweep_demo_2.h index f21714c8aef..8f80a4048f1 100644 --- a/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_sweep_demo_2.h +++ b/Packages/Triangulation_2/include/CGAL/Constrained_triangulation_sweep_demo_2.h @@ -158,7 +158,7 @@ void any_button(Window_stream& W) { double x, y; - cerr << "Press any button to continue" << endl; + cerr << "Press any button to continue" << std::endl; W.read_mouse(x,y); } diff --git a/Packages/Triangulation_2/include/CGAL/Regular_triangulation_2.h b/Packages/Triangulation_2/include/CGAL/Regular_triangulation_2.h index c7fa68d944d..4c6fe1f8735 100644 --- a/Packages/Triangulation_2/include/CGAL/Regular_triangulation_2.h +++ b/Packages/Triangulation_2/include/CGAL/Regular_triangulation_2.h @@ -42,6 +42,7 @@ public: // the following typedef to satisfy MIPS CC 7.3 typedef typename Triangulation::Face_handle Face_handle; typedef typename Triangulation::Vertex_handle Vertex_handle; + typedef typename Triangulation::Edge Edge; typedef typename Triangulation::Locate_type Locate_type; // a list to memorise temporary the faces around a point @@ -234,11 +235,11 @@ is_valid(bool verbose = false, int level = 0) const cerr << "face : " << (void*)&(*it)<< " " <<"["<< it->vertex(0)->point() <<"/"<< it->vertex(1)->point() - <<"/"<< it->vertex(2)->point()<<"]"<vertex(2)->point()<<"]"<< std::endl << "voisin : " << (void*)&(*(it->neighbor(i)))<< " " <<"["<<(it->neighbor(i))->vertex(0)->point() <<"/"<<(it->neighbor(i))->vertex(1)->point() - <<"/"<<(it->neighbor(i))->vertex(2)->point()<<"]" <neighbor(i))->vertex(2)->point()<<"]" << std::endl; } CGAL_triangulation_assertion(result); } @@ -254,8 +255,8 @@ is_valid(bool verbose = false, int level = 0) const cerr << "face : " << (void*)&(*it)<< " " <<"["<< it->vertex(0)->point() <<"/"<< it->vertex(1)->point() - <<"/"<< it->vertex(2)->point()<<"]" <vertex(2)->point()<<"]" << std::endl + << "hidden point : " << *plit << std::endl; } CGAL_triangulation_assertion(result); } diff --git a/Packages/Triangulation_2/include/CGAL/Triangulation_default_data_structure_2.h b/Packages/Triangulation_2/include/CGAL/Triangulation_default_data_structure_2.h index b1961719901..877220818f1 100644 --- a/Packages/Triangulation_2/include/CGAL/Triangulation_default_data_structure_2.h +++ b/Packages/Triangulation_2/include/CGAL/Triangulation_default_data_structure_2.h @@ -1068,7 +1068,7 @@ file_output( std::ostream& os, Vertex* v, bool skip_first) const int n = number_of_vertices(); int m = number_of_full_dim_faces(); - if(is_ascii(os)) os << n << ' ' << m << ' ' << dimension() << endl; + if(is_ascii(os)) os << n << ' ' << m << ' ' << dimension() << std::endl; else os << n << m << dimension(); if (n==0) return; diff --git a/Packages/Triangulation_2/include/CGAL/Triangulation_ds_iterators_2.h b/Packages/Triangulation_2/include/CGAL/Triangulation_ds_iterators_2.h index 20978feab8a..9c183d3a01f 100644 --- a/Packages/Triangulation_2/include/CGAL/Triangulation_ds_iterators_2.h +++ b/Packages/Triangulation_2/include/CGAL/Triangulation_ds_iterators_2.h @@ -249,7 +249,7 @@ public: Edge_iterator operator--(int); Edge operator*() const - {return make_pair(const_cast(pos), index);} + {return std::make_pair(const_cast(pos), index);} private: void increment(); @@ -807,7 +807,7 @@ operator--(int) // Triangulation_ds_edge_iterator_2 :: // operator*() const // { -// return make_pair(const_cast(pos), index); +// return std::make_pair(const_cast(pos), index); // } diff --git a/Packages/Triangulation_2/include/CGAL/Triangulation_iterators_2.h b/Packages/Triangulation_2/include/CGAL/Triangulation_iterators_2.h index 3d8c35d3874..3738cf5e585 100644 --- a/Packages/Triangulation_2/include/CGAL/Triangulation_iterators_2.h +++ b/Packages/Triangulation_2/include/CGAL/Triangulation_iterators_2.h @@ -75,10 +75,10 @@ class Triangulation_finite_faces_iterator_2 : public Triangulation_all_faces_iterator_2 { public: - typedef Triangulation_2 Triangulation; typedef Triangulation_all_faces_iterator_2 All_faces; typedef Triangulation_finite_faces_iterator_2 Finite_faces; - + typedef typename All_faces::Triangulation Triangulation; + private: const Triangulation* _tr; @@ -143,9 +143,9 @@ class Triangulation_finite_vertices_iterator_2 : public Triangulation_all_vertices_iterator_2 { public: - typedef Triangulation_all_vertices_iterator_2 All_vertices; + typedef Triangulation_all_vertices_iterator_2 All_vertices; typedef Triangulation_finite_vertices_iterator_2 Finite_vertices; - + typedef typename All_vertices::Triangulation Triangulation; private: const Triangulation* _tr; @@ -206,8 +206,9 @@ class Triangulation_finite_edges_iterator_2 : public Triangulation_all_edges_iterator_2 { public: - typedef Triangulation_all_edges_iterator_2 All_edges; + typedef Triangulation_all_edges_iterator_2 All_edges; typedef Triangulation_finite_edges_iterator_2 Finite_edges; + typedef typename All_edges::Triangulation Triangulation; private: const Triangulation* _tr;