From 95c7baf280c0b2e63e5b2f624d29288bdd9f5bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Wed, 29 Jan 2014 18:05:41 +0100 Subject: [PATCH] improve documentation --- .../Concepts/EdgeCollapsableMesh.h | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeCollapsableMesh.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeCollapsableMesh.h index 7c45a870de8..ea3bff4a4e9 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeCollapsableMesh.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeCollapsableMesh.h @@ -16,9 +16,11 @@ It can have any number of connected components, boundaries \cgalHeading{Valid Expressions} -The mesh simplification algorithm requires the free function `halfedge_collapse()`. - -Let `v0` be the source and `v1` be the target vertices of `v0v1`. +Let `v0v1` an edge of the triangulated surface mesh `ecm` and +`v0` and `v1` being the source and target vertices of that edge. +The mesh simplification algorithm requires the call to the function `halfedge_collapse(v0v1,ecm)` +to be valid and to return the vertex not removed after collapsing +the undirected edge `(v0v1,v1v0)`. For `e` \f$ \in \{\f$ `v0v1,v1v0` \f$ \}\f$, let `en` and `ep` be the next and previous edges, that is `en = next_edge(e, mesh)`, `ep = prev_edge(e,mesh)`, and let @@ -30,15 +32,14 @@ Then, after the collapse of `(v0v1,v1v0)` the following holds: + -The function returns vertex `vkept` (which can be either `v0` or `v1`). \image html general_collapse.png \image latex general_collapse.png @@ -64,7 +65,7 @@ When the collapsing edge is itself a border, only 1 triangle is removed. Thus, even if \f$ (ep',epo')\f$ exists, it's not removed. -\anchor CollapseFigure5 +\anchor CollapseFigure5 \image html border_collapse4.png \image latex border_collapse4.png
@@ -73,9 +74,8 @@ This figure illustrates the single exceptional case when removing \f$ remains.
-\cgalHasModel `CGAL::Polyhedron_3` (If it has only triangular faces, and via -External Adaptation, which is described in \cgalCite{cgal:sll-bgl-02} -and this Bgl web page: http://www.boost.org/libs/graph/doc/leda_conversion.html). +\cgalHasModel `CGAL::Polyhedron_3` (If it has only triangular faces), +using the specialization \link BGLPolyGT `boost::graph_traits< CGAL::Polyhedron_3 >` \endlink. \sa \link BGLPolyGT `boost::graph_traits< CGAL::Polyhedron_3 >` \endlink \sa `CGAL::halfedge_graph_traits< CGAL::Polyhedron_3 >` @@ -88,9 +88,9 @@ public: /*! Collapses the undirected edge `(v0v1,v1v0)` replacing it with `v0` or `v1`, -as described in the following paragraph. +as described in the paragraph above. \pre This function requires `mesh` to be an oriented 2-manifold with or without boundaries. Furthermore, the undirected edge `(v0v1,v1v0)` must satisfy the link condition \cgalCite{degn-tpec-98}, which guarantees that the surface is also 2-manifold after the edge collapse. -\relates EdgeCollapsableMesh +\relates EdgeCollapsableMesh */ template typename boost::graph_traits::vertex_descriptor