|
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. | |
| 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 | |
Protected Member Functions | |
| 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) |
| 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) |
| void | reset () |
Private Attributes | |
| Mesh & | mesh_ |
| reference to mesh | |
| ModuleList | bmodules_ |
| list of binary modules | |
| Module * | cmodule_ |
| the current priority module | |
| ModuleList | all_modules_ |
| list of all allocated modules (including cmodule_ and all of bmodules_) | |
| bool | initialized_ |
| Flag if all modules were initialized. | |
| Observer * | observer_ |
| observer | |
Definition at line 90 of file BaseDecimaterT.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 243 of file BaseDecimaterT.cc.
|
protected |
Is an edge collapse legal? Performs topological test only. The method evaluates the status bit Locked, Deleted, and Feature.
Definition at line 107 of file BaseDecimaterT.cc.
|
inlineprotected |
Reset the status of this class
You have to call initialize again!!
Definition at line 253 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 198 of file BaseDecimaterT.cc.
|
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 131 of file BaseDecimaterT.hh.