From 302b3c24fe00ddc01962f8b91b0549b6a71bb4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Fri, 17 Nov 2017 18:28:34 +0100 Subject: [PATCH] Introduced signatures for periodic triangulations --- Mesh_3/include/CGAL/Mesh_3/io_signature.h | 41 +++++++++++++++++++ .../CGAL/Periodic_3_mesh_triangulation_3.h | 3 ++ 2 files changed, 44 insertions(+) diff --git a/Mesh_3/include/CGAL/Mesh_3/io_signature.h b/Mesh_3/include/CGAL/Mesh_3/io_signature.h index 4e7f5f5c8da..cd5633055cb 100644 --- a/Mesh_3/include/CGAL/Mesh_3/io_signature.h +++ b/Mesh_3/include/CGAL/Mesh_3/io_signature.h @@ -35,6 +35,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -68,6 +71,7 @@ struct Get_io_signature_aux { std::string operator()() const { + std::cerr << "Type without signature: " << typeid(T).name() << std::endl; return std::string(); } }; // end template partial specialization Get_io_signature_aux @@ -218,6 +222,32 @@ Get_io_signature > }; #endif +#ifdef CGAL_PERIODIC_3_TRIANGULATION_3_H +template +struct +Get_io_signature > +{ + std::string operator()() { + return std::string("Periodic_3_triangulation_3(") + + Get_io_signature()() + + ",Vb(" + Get_io_signature()() + + "),Cb(" + Get_io_signature()() + + "))"; + } +}; +#endif + +#ifdef CGAL_PERIODIC_3_REGULAR_TRIANGULATION_3_H +template +struct +Get_io_signature > +{ + std::string operator()() { + return Get_io_signature >()(); + } +}; +#endif + #ifdef CGAL_TRIANGULATION_VERTEX_BASE_3_H template struct Get_io_signature > @@ -283,6 +313,17 @@ Get_io_signature > }; #endif +#ifdef CGAL_REGULAR_TRIANGULATION_CELL_BASE_WITH_CIRCUMCENTER_3_H +template +struct +Get_io_signature > +{ + std::string operator()() { + return "RTWWCcb_3"; + } +}; +#endif + } // end namespace CGAL diff --git a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_triangulation_3.h b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_triangulation_3.h index e4afbacb07e..8d85e4246c7 100644 --- a/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_triangulation_3.h +++ b/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_triangulation_3.h @@ -35,6 +35,7 @@ // vertex and cell bases #include #include +#include #include #include @@ -133,6 +134,8 @@ public: using Base::inexact_locate; #endif + static std::string io_signature() { return Get_io_signature()(); } + /// Constructor Periodic_3_regular_triangulation_3_mesher_3(const Iso_cuboid& domain = Iso_cuboid(0,0,0,1,1,1), const Geom_traits& gt = Geom_traits())