51 #ifndef OPENMESH_DECIMATER_MODHAUSDORFFT_HH
52 #define OPENMESH_DECIMATER_MODHAUSDORFFT_HH
57 #include <OpenMesh/Core/Utils/Property.hh>
83 typedef typename Mesh::Scalar Scalar;
84 typedef typename Mesh::Point Point;
85 typedef typename Mesh::FaceHandle FaceHandle;
86 typedef std::vector<Point> Points;
90 Base(_mesh, true), mesh_(Base::
mesh()), tolerance_(_error_tolerance) {
91 mesh_.add_property(points_);
96 mesh_.remove_property(points_);
110 virtual void initialize();
122 virtual float collapse_priority(
const CollapseInfo& _ci);
125 virtual void postprocess_collapse(
const CollapseInfo& _ci);
128 void set_error_tolerance_factor(
double _factor);
133 Scalar distPointTriangleSquared(
const Point& _p,
const Point& _v0,
const Point& _v1,
const Point& _v2);
136 Scalar compute_sqr_error(
FaceHandle _fh,
const Point& _p)
const;
150 #if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_DECIMATER_MODHAUSDORFFT_C)
151 #define OPENMESH_DECIMATER_MODHAUSDORFFT_TEMPLATES
155 #endif // OPENMESH_DECIMATER_MODHAUSDORFFT_HH defined