Developer Documentation
Loading...
Searching...
No Matches
ModBalancerT< D > Class Template Reference
Inheritance diagram for ModBalancerT< D >:
OpenMesh::Decimater::ModQuadricT< MeshT > OpenMesh::Decimater::ModBaseT< MeshT >

Public Types

typedef OpenMesh::Decimater::ModQuadricT< D > BaseModQ
 
typedef size_t level_t
 
- Public Types inherited from OpenMesh::Decimater::ModBaseT< MeshT >
enum  { ILLEGAL_COLLAPSE = -1 , LEGAL_COLLAPSE = 0 }
 
typedef MeshT Mesh
 
typedef CollapseInfoT< MeshTCollapseInfo
 

Public Member Functions

 DECIMATING_MODULE (ModBalancerT, D, Balancer)
 
 ModBalancerT (D &_dec)
 Constructor.
 
virtual ~ModBalancerT ()
 Destructor.
 
void initialize (void) override
 Initalize the module and prepare the mesh for decimation.
 
virtual float collapse_priority (const CollapseInfo &_ci) override
 
void postprocess_collapse (const CollapseInfo &_ci) override
 post-process halfedge collapse (accumulate quadrics)
 
level_t max_level (void) const
 
level_t bits_for_roots (void) const
 
- Public Member Functions inherited from OpenMesh::Decimater::ModQuadricT< MeshT >
 DECIMATING_MODULE (ModQuadricT, MeshT, Quadric)
 
 ModQuadricT (MeshT &_mesh)
 
virtual ~ModQuadricT ()
 Destructor.
 
void set_error_tolerance_factor (double _factor) override
 set the percentage of maximum quadric error
 
void set_max_err (double _err, bool _binary=true)
 
void unset_max_err (void)
 
double max_err () const
 Return value of max. allowed error.
 
- Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
virtual ~ModBaseT ()
 Virtual desctructor.
 
virtual const std::string & name () const
 Set module's name.
 
bool is_binary (void) const
 Returns true if criteria returns a binary value.
 
void set_binary (bool _b)
 Set whether module is binary or not.
 
virtual float collapse_priority (const CollapseInfoT< MeshT > &)
 
virtual void preprocess_collapse (const CollapseInfoT< MeshT > &)
 
virtual void postprocess_collapse (const CollapseInfoT< MeshT > &)
 

Static Public Member Functions

static level_t calc_bits_for_roots (size_t _n_vertices)
 

Private Attributes

OpenMesh::VPropHandleT< level_t > level_
 
level_t max_level_
 
level_t n_roots_
 
size_t n_vertices_
 

Static Private Attributes

static const double inv_log2_ = 1.0/std::log(2.0)
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
 ModBaseT (MeshT &_mesh, bool _is_binary)
 
MeshTmesh ()
 Access the mesh associated with the decimater.
 
- Protected Attributes inherited from OpenMesh::Decimater::ModBaseT< MeshT >
double error_tolerance_factor_
 

Detailed Description

template<class D>
class ModBalancerT< D >

Definition at line 72 of file mkbalancedpm.cc.

Member Typedef Documentation

◆ BaseModQ

template<class D >
typedef OpenMesh::Decimater::ModQuadricT<D> ModBalancerT< D >::BaseModQ

Definition at line 76 of file mkbalancedpm.cc.

◆ level_t

template<class D >
typedef size_t ModBalancerT< D >::level_t

Definition at line 82 of file mkbalancedpm.cc.

Constructor & Destructor Documentation

◆ ModBalancerT()

template<class D >
ModBalancerT< D >::ModBalancerT ( D &  _dec)
inlineexplicit

Constructor.

Definition at line 87 of file mkbalancedpm.cc.

◆ ~ModBalancerT()

template<class D >
virtual ModBalancerT< D >::~ModBalancerT ( )
inlinevirtual

Destructor.

Definition at line 96 of file mkbalancedpm.cc.

Member Function Documentation

◆ bits_for_roots()

template<class D >
level_t ModBalancerT< D >::bits_for_roots ( void  ) const
inline

Definition at line 153 of file mkbalancedpm.cc.

◆ calc_bits_for_roots()

template<class D >
static level_t ModBalancerT< D >::calc_bits_for_roots ( size_t  _n_vertices)
inlinestatic

Definition at line 103 of file mkbalancedpm.cc.

◆ collapse_priority()

template<class D >
virtual float ModBalancerT< D >::collapse_priority ( const CollapseInfo _ci)
inlineoverridevirtual

Compute collapse priority based on error quadrics.

See also
ModBaseT::collapse_priority() for return values
set_max_err()

Reimplemented from OpenMesh::Decimater::ModQuadricT< MeshT >.

Definition at line 117 of file mkbalancedpm.cc.

◆ initialize()

template<class D >
void ModBalancerT< D >::initialize ( void  )
inlineoverridevirtual

Initalize the module and prepare the mesh for decimation.

Reimplemented from OpenMesh::Decimater::ModQuadricT< MeshT >.

Definition at line 110 of file mkbalancedpm.cc.

◆ max_level()

template<class D >
level_t ModBalancerT< D >::max_level ( void  ) const
inline

Definition at line 152 of file mkbalancedpm.cc.

◆ postprocess_collapse()

template<class D >
void ModBalancerT< D >::postprocess_collapse ( const CollapseInfo _ci)
inlineoverridevirtual

post-process halfedge collapse (accumulate quadrics)

Reimplemented from OpenMesh::Decimater::ModQuadricT< MeshT >.

Definition at line 138 of file mkbalancedpm.cc.

Member Data Documentation

◆ inv_log2_

template<typename D >
const double ModBalancerT< D >::inv_log2_ = 1.0/std::log(2.0)
staticprivate

Definition at line 163 of file mkbalancedpm.cc.

◆ level_

template<class D >
OpenMesh::VPropHandleT<level_t> ModBalancerT< D >::level_
private

Definition at line 157 of file mkbalancedpm.cc.

◆ max_level_

template<class D >
level_t ModBalancerT< D >::max_level_
private

Definition at line 159 of file mkbalancedpm.cc.

◆ n_roots_

template<class D >
level_t ModBalancerT< D >::n_roots_
private

Definition at line 160 of file mkbalancedpm.cc.

◆ n_vertices_

template<class D >
size_t ModBalancerT< D >::n_vertices_
private

Definition at line 161 of file mkbalancedpm.cc.


The documentation for this class was generated from the following file: