diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h index 6c9c319c71e..4d552c52af7 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h @@ -1705,6 +1705,11 @@ public: return _tds.cells_end(); } + auto finite_cell_handles() const + { + return _tds.cell_handles(); + } + Vertex_iterator finite_vertices_begin() const { return _tds.vertices_begin(); } @@ -1712,6 +1717,11 @@ public: return _tds.vertices_end(); } + auto finite_vertex_handles() const + { + return _tds.vertex_handles(); + } + Edge_iterator finite_edges_begin() const { return _tds.edges_begin(); } @@ -1909,6 +1919,29 @@ public: return _tds.mirror_facet(f); } + /// Vertex ranges defining a simplex + static std::array vertices(const Edge& e) + { + return std::array{ + e.first->vertex(e.second), + e.first->vertex(e.third)}; + } + static std::array vertices(const Facet& f) + { + return std::array{ + f.first->vertex(vertex_triple_index(f.second, 0)), + f.first->vertex(vertex_triple_index(f.second, 1)), + f.first->vertex(vertex_triple_index(f.second, 2))}; + } + static std::array vertices(const Cell_handle c) + { + return std::array{ + c->vertex(0), + c->vertex(1), + c->vertex(2), + c->vertex(3)}; + } + private: /** @name Checking helpers */ /// calls has_self_edges for every cell of the triangulation