OpenMesh
|
Mixed decimater framework. More...
#include <OpenMesh/Tools/Decimater/MixedDecimaterT.hh>
Public Types | |
typedef McDecimaterT< MeshT > | Self |
typedef MeshT | Mesh |
typedef CollapseInfoT< MeshT > | CollapseInfo |
typedef ModBaseT< MeshT > | Module |
typedef std::vector< Module *> | ModuleList |
typedef ModuleList::iterator | ModuleListIterator |
Public Types inherited from OpenMesh::Decimater::McDecimaterT< MeshT > | |
typedef McDecimaterT< MeshT > | Self |
typedef MeshT | Mesh |
typedef CollapseInfoT< MeshT > | CollapseInfo |
typedef ModBaseT< MeshT > | Module |
typedef std::vector< Module *> | ModuleList |
typedef ModuleList::iterator | ModuleListIterator |
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 Types inherited from OpenMesh::Decimater::DecimaterT< MeshT > | |
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 Member Functions | |
MixedDecimaterT (Mesh &_mesh) | |
Constructor. | |
~MixedDecimaterT () | |
Destructor. | |
size_t | decimate (const size_t _n_collapses, const float _mc_factor) |
Decimate (perform _n_collapses collapses). More... | |
size_t | decimate_to (size_t _n_vertices, const float _mc_factor) |
Decimate to target complexity, returns number of collapses. | |
size_t | decimate_to_faces (const size_t _n_vertices=0, const size_t _n_faces=0, const float _mc_factor=0.8) |
Decimate to target complexity (vertices and faces). More... | |
Public Member Functions inherited from OpenMesh::Decimater::McDecimaterT< MeshT > | |
McDecimaterT (Mesh &_mesh) | |
Constructor. | |
~McDecimaterT () | |
Destructor. | |
size_t | decimate (size_t _n_collapses) |
Decimate (perform _n_collapses collapses). More... | |
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). More... | |
size_t | decimate_constraints_only (float _factor) |
Decimate only with constraints, while _factor gives the percentage of the constraints that should be used. | |
size_t | samples () |
void | set_samples (const size_t _value) |
Public Member Functions inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT > | |
BaseDecimaterT (Mesh &_mesh) | |
bool | initialize () |
Initialize decimater and decimating modules. More... | |
bool | is_initialized () const |
Returns whether decimater has been successfully initialized. | |
void | info (std::ostream &_os) |
Print information about modules to _os. | |
void | set_observer (Observer *_o) |
Add observer. More... | |
Observer * | observer () |
Get current observer of a decimater. | |
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 | |
Public Member Functions inherited from OpenMesh::Decimater::DecimaterT< MeshT > | |
DecimaterT (Mesh &_mesh) | |
Constructor. | |
~DecimaterT () | |
Destructor. | |
size_t | decimate (size_t _n_collapses=0) |
Perform a number of collapses on the mesh. More... | |
size_t | decimate_to (size_t _n_vertices) |
Decimate the mesh to a desired target vertex complexity. More... | |
size_t | decimate_to_faces (size_t _n_vertices=0, size_t _n_faces=0) |
Attempts to decimate the mesh until a desired vertex or face complexity is achieved. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT > | |
bool | notify_observer (size_t _n_collapses) |
returns false, if abort requested by observer | |
void | set_uninitialized () |
Reset the initialized flag, and clear the bmodules_ and cmodule_. | |
void | update_modules (CollapseInfo &_ci) |
bool | is_collapse_legal (const CollapseInfo &_ci) |
Is an edge collapse legal? Performs topological test only. More... | |
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. More... | |
void | reset () |
Reset the status of this class. More... | |
Mixed decimater framework.
size_t OpenMesh::Decimater::MixedDecimaterT< Mesh >::decimate | ( | const size_t | _n_collapses, |
const float | _mc_factor | ||
) |
Decimate (perform _n_collapses collapses).
Return number of performed collapses. If _n_collapses is not given reduce as much as possible
size_t OpenMesh::Decimater::MixedDecimaterT< Mesh >::decimate_to_faces | ( | const size_t | _n_vertices = 0 , |
const size_t | _n_faces = 0 , |
||
const float | _mc_factor = 0.8 |
||
) |
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.