Multiple choice decimater framework.
More...
#include <OpenMesh/Tools/Decimater/McDecimaterT.hh>
|
typedef McDecimaterT< MeshT > | Self |
|
typedef MeshT | Mesh |
|
typedef CollapseInfoT< MeshT > | CollapseInfo |
|
typedef ModBaseT< MeshT > | Module |
|
typedef std::vector< Module * > | ModuleList |
|
typedef ModuleList::iterator | ModuleListIterator |
|
typedef BaseDecimaterT< MeshT > | Self |
|
typedef MeshT | Mesh |
|
typedef CollapseInfoT< MeshT > | CollapseInfo |
|
typedef ModBaseT< MeshT > | Module |
|
typedef std::vector< Module * > | ModuleList |
|
typedef ModuleList::iterator | ModuleListIterator |
|
|
| McDecimaterT (Mesh &_mesh) |
| Constructor.
|
|
| ~McDecimaterT () |
| Destructor.
|
|
size_t | decimate (size_t _n_collapses, bool _only_selected=false) |
| Decimate (perform _n_collapses collapses). More...
|
|
size_t | decimate_to (size_t _n_vertices, bool _only_selected=false) |
| 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, bool _only_selected=false) |
| Attempts to decimate the mesh until a desired vertex or face complexity is achieved. More...
|
|
size_t | decimate_constraints_only (float _factor, bool _only_selected=false) |
| 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) |
|
| 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
|
|
|
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...
|
|
template<typename MeshT>
class OpenMesh::Decimater::McDecimaterT< MeshT >
Multiple choice decimater framework.
- See also
- BaseModT, Mesh Decimation Framework
◆ decimate()
Decimate (perform _n_collapses collapses).
Return number of performed collapses. If _n_collapses is not given reduce as much as possible
- Parameters
-
_n_collapses | Desired number of collapses. If zero (default), attempt to do as many collapses as possible. |
_only_selected | Only consider vertices which are selected for decimation |
- Returns
- Number of collapses that were actually performed.
- Note
- This operation only marks the removed mesh elements for deletion. In order to actually remove the decimated elements from the mesh, a subsequent call to ArrayKernel::garbage_collection() is required.
◆ decimate_to()
template<typename MeshT >
Decimate the mesh to a desired target vertex complexity.
- Parameters
-
_n_vertices | Target complexity, i.e. desired number of remaining vertices after decimation. |
_only_selected | Only consider vertices which are selected for decimation |
- Returns
- Number of collapses that were actually performed.
- Note
- This operation only marks the removed mesh elements for deletion. In order to actually remove the decimated elements from the mesh, a subsequent call to ArrayKernel::garbage_collection() is required.
◆ decimate_to_faces()
Attempts to decimate the mesh until a desired vertex or face complexity is achieved.
- Parameters
-
_n_vertices | Target vertex complexity. |
_n_faces | Target face complexity. |
_only_selected | Only consider vertices which are selected for decimation |
- Returns
- Number of collapses that were actually performed.
- Note
- Decimation stops as soon as either one of the two complexity bounds is satisfied.
-
This operation only marks the removed mesh elements for deletion. In order to actually remove the decimated elements from the mesh, a subsequent call to ArrayKernel::garbage_collection() is required.
The documentation for this class was generated from the following files: