CGAL 6.0 - Triangulated Surface Mesh Simplification
|
#include <CGAL/Surface_mesh_simplification/Policies/Edge_collapse/GarlandHeckbert_probabilistic_triangle_policies.h>
The class GarlandHeckbert_probabilistic_triangle_policies
regroups the cost and placement policies based on the "Probabilistic Triangle" strategy of Trettner and Kobbelt [7].
This policy enhances the original Garland-Heckbert quadric error metrics, by adding notions of variance (i.e., noise) to the positions of the vertices and the normals of faces. Compared to the "classic" triangle strategy, this strategy sacrifices tightness to the input for speed and quality of the result (Section Garland-Heckbert Cost and Placement Strategy).
Both the cost and the placement policies must be used together as they internally use and share information associating quadrics to vertices. Note however, that they may still be wrapped with behavior modifying classes such as Constrained_placement
or Bounded_normal_change_placement
.
TriangleMesh | is the type of surface mesh being simplified, and must be a model of the MutableFaceGraph and HalfedgeListGraph concepts. |
GeomTraits | must 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 | |
Creation | |
GarlandHeckbert_probabilistic_triangle_policies (TriangleMesh &tmesh) | |
initializes the Garland-Heckbert "Probabilistic Triangle" policies. | |
Accessors | |
const Get_cost & | get_cost () const |
const Get_placement & | get_placement () const |