OpenMesh

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
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 >:
[legend]
Collaboration diagram for OpenMesh::Decimater::ModHausdorffT< MeshT >:
[legend]

## Public Types
typedef ModHausdorffT< MeshT > | Self
typedef OpenMesh::Decimater::ModHandleT < Self > | Handle
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
| Set module's name (using DECIMATER_MODNAME macro)
| 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 ()
| 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.
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 > &)
| Before _from_vh has been collapsed into _to_vh, this method will be called.

## 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

template<class MeshT >

float OpenMesh::Decimater::ModHausdorffT< MeshT >::collapse_priority | ( | const CollapseInfo & | _ci | ) |
| virtual

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

  _ci | Collapse info data

Returns
  Binary return, if collapse is legal or illegal

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

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

- OpenMesh/Tools/Decimater/ModHausdorffT.hh
- OpenMesh/Tools/Decimater/ModHausdorffT.cc