From b8bb3ffc09ebf6079cb6cf2e0f6afba736e4d8e1 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Thu, 4 Feb 2021 09:21:36 +0100 Subject: [PATCH] Apply on triangulation_hierarchy_2 the same fix as in 3D --- .../include/CGAL/Triangulation_hierarchy_2.h | 61 +++++++------------ 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/Triangulation_2/include/CGAL/Triangulation_hierarchy_2.h b/Triangulation_2/include/CGAL/Triangulation_hierarchy_2.h index 266c4964e03..679ace59a24 100644 --- a/Triangulation_2/include/CGAL/Triangulation_hierarchy_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_hierarchy_2.h @@ -37,6 +37,7 @@ #include #include #include +#include namespace CGAL { @@ -82,7 +83,14 @@ public: #endif private: - // here is the stack of triangulations which form the hierarchy + void init_hierarchy() { + hierarchy[0] = this; + for(int i=1; i hierarchy_triangulations; std::array hierarchy; boost::rand48 random; @@ -93,13 +101,10 @@ public: Triangulation_hierarchy_2(Triangulation_hierarchy_2&& other) noexcept( noexcept(Tr_Base(std::move(other))) ) : Tr_Base(std::move(other)) + , hierarchy_triangulations(std::move(other.hierarchy_triangulations)) , random(std::move(other.random)) { - hierarchy[0] = this; - for(int i=1; i @@ -107,10 +112,7 @@ public: const Geom_traits& traits = Geom_traits()) : Tr_Base(traits) { - hierarchy[0] = this; - for(int i=1;i(*this) = std::move(other); - hierarchy[0] = this; - for(int i=1; i Triangulation_hierarchy_2:: Triangulation_hierarchy_2(const Geom_traits& traits) : Tr_Base(traits) + , hierarchy_triangulations( + make_filled_array(traits)) { - hierarchy[0] = this; - for(int i=1;i Triangulation_hierarchy_2:: Triangulation_hierarchy_2(const Triangulation_hierarchy_2 &tr) - : Tr_Base() + : Triangulation_hierarchy_2(tr.geom_traits()) { - // create an empty triangulation to be able to delete it ! - hierarchy[0] = this; - for(int i=1;i:: swap(Triangulation_hierarchy_2 &tr) { - Tr_Base* temp; Tr_Base::swap(tr); - for(int i= 1; i -Triangulation_hierarchy_2:: -~Triangulation_hierarchy_2() -{ - clear(); - for(int i= 1; i