CGAL 5.1  Triangulated Surface Mesh Simplification

The concept GetCost
describes the requirements for the policy function object which gets the collapse cost of an edge.
The cost returned is a boost::optional
value (i.e. it can be absent). An absent cost 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::Edge_length_cost<TriangleMesh>
CGAL::Surface_mesh_simplification::LindstromTurk_cost<TriangleMesh>
CGAL::Surface_mesh_simplification::GarlandHeckbert_policies<TriangleMesh, GeomTraits>
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< typename Edge_profile::FT >  operator() (const Edge_profile &edge_profile, const boost::optional< typename Edge_profile::Point > &placement) const 
Computes and returns the cost of collapsing the edge (represented by its profile), using the calculated placement.  