diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt index 2dcc0548dc1..98d94903647 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt @@ -52,7 +52,7 @@ There are two slightly different "edge" collapse operations. One is known as edge-collapse while the other is known as halfedge-collapse. Given an edge `e` joining vertices `w` and `v`, the edge-collapse operation replaces `e`,`w` and `v` for a new vertex `r`, while the halfedge-collapse operation -pulls `v` into `w`, dissapearing `e` and leaving `w` in place. +pulls `v` into `w`, eliminating `e` and leaving `w` in place. In both cases the operation removes the edge `e` along with the 2 triangles adjacent to it. @@ -173,7 +173,7 @@ simplifying a surface mesh of 1 million edges (a normal size) requires 1 million of additional storage. Thus, to minimize the amount of additional memory required to simplify a surface mesh only the cost is attached to each edge and nothing else. -But this is a tradeoff: the cost of a collapse is a function of the placement +But this is a trade-off: the cost of a collapse is a function of the placement (the new position chosen for the remaining vertex) so before `GetCost` is called for each and every edge, `GetPlacement` must also be called to obtain the placement parameter to the cost function. @@ -230,14 +230,14 @@ When you use named parameters, the ordering is irrelevant, so this: `f(name(n).a \code{.cpp} /* -surface_mesh : the surface_mesh to simplify -stop_predicate : policy indicating when the simplification must finish -vertex_index_map(vimap) : property-map giving each vertex a unique integer index -edge_index_map(eimap) : property-map giving each edge a unique integer index -edge_is_border_map(ebmap): property-map specifying whether an edge is a border edge or not -get_cost(cf) : function object computing the cost of a collapse -get_placement(pf) : function object computing the placement for the remaining vertex -visitor(vis) : function object tracking the simplification process +surface_mesh : the surface_mesh to simplify +stop_predicate : policy indicating when the simplification must finish +vertex_index_map(vimap) : property-map giving each vertex a unique integer index +edge_index_map(eimap) : property-map giving each edge a unique integer index +edge_is_constrained_map(ebmap): property-map specifying whether an edge is a constrained edge or not +get_cost(cf) : function object computing the cost of a collapse +get_placement(pf) : function object computing the placement for the remaining vertex +visitor(vis) : function object tracking the simplification process */ int r = edge_collapse(surface_mesh @@ -285,14 +285,14 @@ What is particular in this example is the property map that allows to associate \subsection Surface_mesh_simplificationExamplewithedges Example with Edges Marked as Non-Removable The following example shows how to use the optional named parameter `edge_is_constrained_map` to prevent -edges from being removed. Edges marked as contrained are guaranteed to be in the final surface mesh. However, +edges from being removed. Edges marked as constrained are guaranteed to be in the final surface mesh. However, the vertices of the constrained edges may change and the placement may change the points. The wrapper `CGAL::Surface_mesh_simplification::Constrained_placement` guarantees that these points are not changed. \cgalExample{Surface_mesh_simplification/edge_collapse_constrained_border_polyhedron.cpp} -\subsection Surface_mesh_simplificationExamplewithBoundedNormal Example with Bounded Changement of Face Normals +\subsection Surface_mesh_simplificationExamplewithBoundedNormal Example with Bounded Change of Face Normals The surface mesh simplification does not guarantee that the resulting surface has no self intersections. Even the rather trivial mesh shown in \cgalFigureRef{SMS-selfintersection}