OpenMesh
OpenMesh::Decimater::ModHausdorffT< MeshT > Class Template Reference

Use Hausdorff distance to control decimation. More...

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

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

Public Types

typedef ModHausdorffT< MeshT > Self
 
typedef OpenMesh::Decimater::ModHandleT< SelfHandle
 
typedef OpenMesh::Decimater::ModBaseT< MeshT > Base
 
typedef Base::Mesh Mesh
 
typedef Base::CollapseInfo CollapseInfo
 
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 >
enum  { ILLEGAL_COLLAPSE = -1 , LEGAL_COLLAPSE = 0 }
 
typedef MeshT Mesh
 
typedef CollapseInfoT< MeshT > CollapseInfo
 

Public Member Functions

virtual const std::string & name () const override
 Set module's name. More...
 
 ModHausdorffT (MeshT &_mesh, Scalar _error_tolerance=FLT_MAX)
 Constructor.
 
 ~ModHausdorffT ()
 Destructor.
 
Scalar tolerance () const
 get max error tolerance
 
void set_tolerance (Scalar _e)
 set max error tolerance
 
virtual void initialize () override
 reset per-face point lists More...
 
virtual float collapse_priority (const CollapseInfo &_ci) override
 compute Hausdorff error for one-ring More...
 
virtual void postprocess_collapse (const CollapseInfo &_ci) override
 re-distribute points More...
 
void set_error_tolerance_factor (double _factor) override
 set the percentage of tolerance More...
 
- Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
virtual ~ModBaseT ()
 Virtual desctructor.
 
virtual const std::string & name () const
 Set module's name. More...
 
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 initialize ()
 Initialize module-internal stuff. More...
 
virtual float collapse_priority (const CollapseInfoT< MeshT > &)
 Return collapse priority. More...
 
virtual void preprocess_collapse (const CollapseInfoT< MeshT > &)
 Before _from_vh has been collapsed into _to_vh, this method will be called.
 
virtual void postprocess_collapse (const CollapseInfoT< MeshT > &)
 After _from_vh has been collapsed into _to_vh, this method will be called. More...
 
virtual void set_error_tolerance_factor (double _factor)
 This provides a function that allows the setting of a percentage of the original contraint. More...
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
 ModBaseT (MeshT &_mesh, bool _is_binary)
 Default constructor. More...
 
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

Member Function Documentation

◆ collapse_priority()

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

compute Hausdorff error for one-ring

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

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

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

◆ initialize()

template<class MeshT >
void OpenMesh::Decimater::ModHausdorffT< MeshT >::initialize ( void  )
overridevirtual

reset per-face point lists

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

◆ name()

template<class MeshT >
virtual const std::string & OpenMesh::Decimater::ModHausdorffT< MeshT >::name ( ) const
inlineoverridevirtual

Set module's name.

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

◆ postprocess_collapse()

template<class MeshT >
void OpenMesh::Decimater::ModHausdorffT< MeshT >::postprocess_collapse ( const CollapseInfo _ci)
overridevirtual

re-distribute points

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

◆ set_error_tolerance_factor()

template<class MeshT >
void OpenMesh::Decimater::ModHausdorffT< MeshT >::set_error_tolerance_factor ( double  _factor)
overridevirtual

set the percentage of tolerance

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


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

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .