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
Classes | Public Types | Public Member Functions | List of all members
OpenMesh::Decimater::DecimaterT< MeshT > Class Template Reference

Decimater framework. More...

`#include <OpenMesh/Tools/Decimater/DecimaterT.hh>`

Inheritance diagram for OpenMesh::Decimater::DecimaterT< MeshT >:
[legend]
Collaboration diagram for OpenMesh::Decimater::DecimaterT< MeshT >:
[legend]

## Classes
class | HeapInterface
| Heap interface. More...

## Public Types
typedef DecimaterT< MeshT > | Self
typedef MeshT | Mesh
typedef CollapseInfoT< MeshT > | CollapseInfo
typedef ModBaseT< MeshT > | Module
typedef std::vector< Module * > | ModuleList
typedef ModuleList::iterator | ModuleListIterator
typedef Mesh::VertexHandle | VertexHandle
typedef Mesh::HalfedgeHandle | HalfedgeHandle
typedef Utils::HeapT < VertexHandle, HeapInterface > | DeciHeap
Public Types inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT >
typedef BaseDecimaterT< MeshT > | Self
typedef MeshT | Mesh
typedef CollapseInfoT< MeshT > | CollapseInfo
typedef ModBaseT< MeshT > | Module
typedef std::vector< Module * > | ModuleList
typedef ModuleList::iterator | ModuleListIterator

## Public Member Functions
| DecimaterT (Mesh &_mesh)
| Constructor.
| ~DecimaterT ()
| Destructor.
size_t | decimate (size_t _n_collapses=0)
| Decimate (perform _n_collapses collapses).
size_t | decimate_to (size_t _n_vertices)
| Decimate to target complexity, returns number of collapses.
size_t | decimate_to_faces (size_t _n_vertices=0, size_t _n_faces=0)
| Decimate to target complexity (vertices and faces).
Public Member Functions inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT >
| BaseDecimaterT (Mesh &_mesh)
bool | initialize ()
| Initialize decimater and decimating modules.
bool | is_initialized () const
| Returns whether decimater has been successfully initialized.
void | info (std::ostream &_os)
| Print information about modules to _os.
Mesh & | mesh ()
| access mesh. used in modules.
template<typename _Module >
bool | add (ModHandleT< _Module > &_mh)
| add module to decimater
template<typename _Module >
bool | remove (ModHandleT< _Module > &_mh)
| remove module
template<typename Module >
Module & | module (ModHandleT< Module > &_mh)
| get module referenced by handle _mh

## Additional Inherited Members
Protected Member Functions inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT >
void | set_uninitialized ()
void | update_modules (CollapseInfo &_ci)
bool | is_collapse_legal (const CollapseInfo &_ci)
| Is an edge collapse legal? Performs topological test only.
float | collapse_priority (const CollapseInfo &_ci)
| Calculate priority of an halfedge collapse (using the modules)
void | preprocess_collapse (CollapseInfo &_ci)
| Pre-process a collapse.
void | postprocess_collapse (CollapseInfo &_ci)
| Post-process a collapse.
void | set_error_tolerance_factor (double _factor)
| This provides a function that allows the setting of a percentage of the original constraint of the modules.
void | reset ()
| Reset the status of this class.

## Detailed Description

### template<typename MeshT>
class OpenMesh::Decimater::DecimaterT< MeshT >

Decimater framework.

See Also
  BaseModT, Mesh Decimation Framework

## Member Function Documentation

template<class Mesh >

size_t OpenMesh::Decimater::DecimaterT< Mesh >::decimate | ( | size_t | _n_collapses = `0` | ) |

Decimate (perform _n_collapses collapses).

Return number of performed collapses. If _n_collapses is not given reduce as much as possible

template<class Mesh >

size_t OpenMesh::Decimater::DecimaterT< Mesh >::decimate_to_faces | ( | size_t | _n_vertices = `0`,
|  | size_t | _n_faces = `0`
| ) |  |

Decimate to target complexity (vertices and faces).

Stops when the number of vertices or the number of faces is reached. Returns number of performed collapses.

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

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