|
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. | |
| 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 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 | ( | ) |
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.