Developer Documentation
|
Public Types | |
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 | |
BaseDecimaterT (Mesh &_mesh) | |
bool | initialize () |
bool | is_initialized () const |
Returns whether decimater has been successfully initialized. More... | |
void | info (std::ostream &_os) |
Print information about modules to _os. More... | |
void | set_observer (Observer *_o) |
Add observer. More... | |
Observer * | observer () |
Get current observer of a decimater. More... | |
Mesh & | mesh () |
access mesh. used in modules. More... | |
template<typename _Module > | |
bool | add (ModHandleT< _Module > &_mh) |
add module to decimater More... | |
template<typename _Module > | |
bool | remove (ModHandleT< _Module > &_mh) |
remove module More... | |
template<typename Module > | |
Module & | module (ModHandleT< Module > &_mh) |
get module referenced by handle _mh More... | |
Protected Member Functions | |
bool | notify_observer (size_t _n_collapses) |
returns false, if abort requested by observer More... | |
void | set_uninitialized () |
Reset the initialized flag, and clear the bmodules_ and cmodule_. More... | |
void | update_modules (CollapseInfo &_ci) |
bool | is_collapse_legal (const CollapseInfo &_ci) |
float | collapse_priority (const CollapseInfo &_ci) |
Calculate priority of an halfedge collapse (using the modules) More... | |
void | preprocess_collapse (CollapseInfo &_ci) |
Pre-process a collapse. More... | |
void | postprocess_collapse (CollapseInfo &_ci) |
Post-process a collapse. More... | |
void | set_error_tolerance_factor (double _factor) |
void | reset () |
Private Attributes | |
Mesh & | mesh_ |
reference to mesh More... | |
ModuleList | bmodules_ |
list of binary modules More... | |
Module * | cmodule_ |
the current priority module More... | |
ModuleList | all_modules_ |
list of all allocated modules (including cmodule_ and all of bmodules_) More... | |
bool | initialized_ |
Flag if all modules were initialized. More... | |
Observer * | observer_ |
observer More... | |
Definition at line 85 of file BaseDecimaterT.hh.
typedef CollapseInfoT<MeshT> OpenMesh::Decimater::BaseDecimaterT< MeshT >::CollapseInfo |
Definition at line 91 of file BaseDecimaterT.hh.
typedef MeshT OpenMesh::Decimater::BaseDecimaterT< MeshT >::Mesh |
Definition at line 90 of file BaseDecimaterT.hh.
typedef ModBaseT<MeshT> OpenMesh::Decimater::BaseDecimaterT< MeshT >::Module |
Definition at line 92 of file BaseDecimaterT.hh.
typedef std::vector< Module* > OpenMesh::Decimater::BaseDecimaterT< MeshT >::ModuleList |
Definition at line 93 of file BaseDecimaterT.hh.
typedef ModuleList::iterator OpenMesh::Decimater::BaseDecimaterT< MeshT >::ModuleListIterator |
Definition at line 94 of file BaseDecimaterT.hh.
typedef BaseDecimaterT< MeshT > OpenMesh::Decimater::BaseDecimaterT< MeshT >::Self |
Definition at line 89 of file BaseDecimaterT.hh.
|
explicit |
Definition at line 69 of file BaseDecimaterT_impl.hh.
|
virtual |
Definition at line 81 of file BaseDecimaterT_impl.hh.
|
inline |
add module to decimater
Definition at line 142 of file BaseDecimaterT.hh.
|
protected |
Calculate priority of an halfedge collapse (using the modules)
Definition at line 154 of file BaseDecimaterT_impl.hh.
void OpenMesh::Decimater::BaseDecimaterT< Mesh >::info | ( | std::ostream & | _os | ) |
Print information about modules to _os.
Definition at line 205 of file BaseDecimaterT_impl.hh.
bool OpenMesh::Decimater::BaseDecimaterT< Mesh >::initialize | ( | void | ) |
Initialize decimater and decimating modules.
Return values: true ok false No ore more than one non-binary module exist. In that case the decimater is uninitialized!
Definition at line 236 of file BaseDecimaterT_impl.hh.
|
protected |
Is an edge collapse legal? Performs topological test only. The method evaluates the status bit Locked, Deleted, and Feature.
Definition at line 100 of file BaseDecimaterT_impl.hh.
|
inline |
Returns whether decimater has been successfully initialized.
Definition at line 111 of file BaseDecimaterT.hh.
|
inline |
access mesh. used in modules.
Definition at line 138 of file BaseDecimaterT.hh.
|
inline |
get module referenced by handle _mh
Definition at line 181 of file BaseDecimaterT.hh.
|
inlineprotected |
returns false, if abort requested by observer
Definition at line 191 of file BaseDecimaterT.hh.
|
inline |
Get current observer of a decimater.
Definition at line 132 of file BaseDecimaterT.hh.
|
protected |
Post-process a collapse.
Definition at line 167 of file BaseDecimaterT_impl.hh.
|
protected |
Pre-process a collapse.
Definition at line 179 of file BaseDecimaterT_impl.hh.
|
inline |
remove module
Definition at line 158 of file BaseDecimaterT.hh.
|
inlineprotected |
Reset the status of this class
You have to call initialize again!!
Definition at line 248 of file BaseDecimaterT.hh.
|
protected |
This provides a function that allows the setting of a percentage of the original constraint of the modules
Note that some modules might re-initialize in their set_error_tolerance_factor function as necessary
_factor | has to be in the closed interval between 0.0 and 1.0 |
Definition at line 191 of file BaseDecimaterT_impl.hh.
|
inline |
Add observer.
You can set an observer which is used as a callback to check the decimators progress and to abort it if necessary.
_o | Observer to be used |
Definition at line 126 of file BaseDecimaterT.hh.
|
inlineprotected |
Reset the initialized flag, and clear the bmodules_ and cmodule_.
Definition at line 202 of file BaseDecimaterT.hh.
|
inlineprotected |
Definition at line 208 of file BaseDecimaterT.hh.
|
private |
list of all allocated modules (including cmodule_ and all of bmodules_)
Definition at line 264 of file BaseDecimaterT.hh.
|
private |
list of binary modules
Definition at line 258 of file BaseDecimaterT.hh.
|
private |
the current priority module
Definition at line 261 of file BaseDecimaterT.hh.
|
private |
Flag if all modules were initialized.
Definition at line 267 of file BaseDecimaterT.hh.
|
private |
reference to mesh
Definition at line 255 of file BaseDecimaterT.hh.
|
private |
observer
Definition at line 270 of file BaseDecimaterT.hh.