CGAL 5.1 - Triangulated Surface Mesh Simplification
CGAL::Surface_mesh_simplification::GarlandHeckbert_policies< TriangleMesh, GeomTraits > Class Template Reference

#include <CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_policies.h>


The class GarlandHeckbert_policies regroups the cost and placement policies based on the Garland-Heckbert strategy (Section Garland-Heckbert Cost and Placement Strategy), both oracles must indeed be used together as they internally use and share information associating quadrics to vertices.

Note however, that they may still be wrapped with slight behavior modifying classes such as Constrained_placement or Bounded_normal_change_placement.

Template Parameters
TriangleMeshis the type of surface mesh being simplified, and must be a model of the MutableFaceGraph and HalfedgeListGraph concepts.
GeomTraitsmust be a model of Kernel. If you have passed a traits class in the optional named parameters in the call to edge_collapse(), the types must be identical.

These policies depend on the third party Eigen library.

Public Types

typedef unspecified_type Get_cost
 The type of the Garland Heckbert cost functor, a model of the concept GetCost
typedef unspecified_type Get_placement
 The type of the Garland Heckbert placement functor, a model of the concept GetPlacement


 GarlandHeckbert_policies (Triangle_mesh &tmesh)
 Initializes the Garland-Heckbert policies.


const Get_costget_cost () const
const Get_placementget_placement () const