OpenMesh
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
OpenMesh::Decimater::DecimaterT< MeshT > Class Template Reference

Decimater framework. More...

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

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

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 >
Modulemodule (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:

acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .