CGAL 5.1.3  Triangulated Surface Mesh Simplification

The concept GetPlacement
describes the requirements for the policy function object which gets the collapse placement of an edge, that is, the new position of the vertex that remains after a halfedgecollapse operation.
The placement returned is a boost::optional
value (i.e., it can be absent). An absent result indicates that the edge should not be collapsed. This could be the result of a computational limitation (such as an overflow), or can be intentionally returned to prevent the edge from being collapsed.
CGAL::Surface_mesh_simplification::Midpoint_placement<TriangleMesh>
CGAL::Surface_mesh_simplification::LindstromTurk_placement<TriangleMesh>
CGAL::Surface_mesh_simplification::GarlandHeckbert_policies<TriangleMesh, GeomTraits>
CGAL::Surface_mesh_simplification::Bounded_normal_change_placement<Placement>
CGAL::Surface_mesh_simplification::Constrained_placement<Placement>
Public Types  
typedef CGAL::Surface_mesh_simplification::Edge_profile  Edge_profile 
The class Edge_profile regroups useful information about an edge, such as its incident vertices and faces.  
Operations  
boost::optional< Edge_profile::Point >  operator() (const Edge_profile &profile) const 
Computes and returns the placement, that is, the position of the vertex which replaces the collapsing edge (represented by its profile).  