Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OpenMesh::Decimater::ModHausdorffT< MeshT > Class Template Reference

Use Hausdorff distance to control decimation. More...

#include <libs_required/OpenMesh/src/OpenMesh/Tools/Decimater/ModHausdorffT.hh>

Inheritance diagram for OpenMesh::Decimater::ModHausdorffT< MeshT >:
OpenMesh::Decimater::ModBaseT< MeshT >

Public Types

typedef Mesh::Scalar Scalar
typedef Mesh::Point Point
typedef Mesh::FaceHandle FaceHandle
typedef std::vector< Point > Points
- Public Types inherited from OpenMesh::Decimater::ModBaseT< MeshT >
typedef MeshT Mesh
typedef CollapseInfoT< MeshT > CollapseInfo

Public Member Functions

 DECIMATING_MODULE (ModHausdorffT, MeshT, Hausdorff)
 ModHausdorffT (MeshT &_mesh, Scalar _error_tolerance=FLT_MAX)
 ~ModHausdorffT ()
Scalar tolerance () const
 get max error tolerance
void set_tolerance (Scalar _e)
 set max error tolerance
virtual void initialize ()
 reset per-face point lists
virtual float collapse_priority (const CollapseInfo &_ci)
 compute Hausdorff error for one-ring More...
virtual void postprocess_collapse (const CollapseInfo &_ci)
 re-distribute points
void set_error_tolerance_factor (double _factor)
 set the percentage of tolerance
- Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
virtual ~ModBaseT ()
 Virtual desctructor.
 Set module's name (using DECIMATER_MODNAME macro)
bool is_binary (void) const
 Returns true if criteria returns a binary value.
void set_binary (bool _b)
 Set whether module is binary or not.
virtual void preprocess_collapse (const CollapseInfoT< MeshT > &)

Private Member Functions

Scalar distPointTriangleSquared (const Point &_p, const Point &_v0, const Point &_v1, const Point &_v2)
 squared distance from point _p to triangle (_v0, _v1, _v2)
Scalar compute_sqr_error (FaceHandle _fh, const Point &_p) const
 compute max error for face _fh w.r.t. its point list and _p

Private Attributes

Points tmp_points_
 Temporary point storage.
Mesh & mesh_
Scalar tolerance_
OpenMesh::FPropHandleT< Points > points_

Additional Inherited Members

- Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
 ModBaseT (MeshT &_mesh, bool _is_binary)
MeshT & mesh ()
 Access the mesh associated with the decimater.
- Protected Attributes inherited from OpenMesh::Decimater::ModBaseT< MeshT >
double error_tolerance_factor_

Detailed Description

template<class MeshT>
class OpenMesh::Decimater::ModHausdorffT< MeshT >

Use Hausdorff distance to control decimation.

This module computes the aspect ratio.

In binary mode, the collapse is legal if:

  • The distance after the collapse is lower than the given tolerance

No continuous mode

Definition at line 85 of file ModHausdorffT.hh.

Member Function Documentation

template<class MeshT >
float OpenMesh::Decimater::ModHausdorffT< MeshT >::collapse_priority ( const CollapseInfo _ci)

compute Hausdorff error for one-ring

This mod only allows collapses if the Hausdorff distance after a collapse is lower than the given tolerance.

_ciCollapse info data
Binary return, if collapse is legal or illegal

Reimplemented from OpenMesh::Decimater::ModBaseT< MeshT >.

Definition at line 211 of file

The documentation for this class was generated from the following files: