Developer Documentation
|
#include <libs_required/OpenMesh/src/OpenMesh/Tools/Decimater/DecimaterT.hh>
Classes | |
class | HeapInterface |
Heap interface. More... | |
Public Types | |
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 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 Member Functions | |
DecimaterT (Mesh &_mesh) | |
Constructor. | |
~DecimaterT () | |
Destructor. | |
size_t | decimate (size_t _n_collapses=0) |
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) |
Public Member Functions inherited from OpenMesh::Decimater::BaseDecimaterT< MeshT > | |
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 | |
Private Member Functions | |
void | heap_vertex (VertexHandle _vh) |
Insert vertex in heap. | |
Private Attributes | |
Mesh & | mesh_ |
std::auto_ptr< DeciHeap > | heap_ |
VPropHandleT< HalfedgeHandle > | collapse_target_ |
VPropHandleT< float > | priority_ |
VPropHandleT< int > | heap_position_ |
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) |
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 () |
Decimater framework.
Definition at line 83 of file DecimaterT.hh.
size_t OpenMesh::Decimater::DecimaterT< Mesh >::decimate | ( | size_t | _n_collapses = 0 | ) |
Decimate (perform _n_collapses collapses). Return number of performed collapses. If _n_collapses is not given reduce as much as possible
Definition at line 156 of file DecimaterT.cc.
size_t OpenMesh::Decimater::DecimaterT< Mesh >::decimate_to_faces | ( | size_t | _n_vertices = 0 , |
size_t | _n_faces = 0 |
||
) |
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.
Definition at line 260 of file DecimaterT.cc.