Developer Documentation
OpenMesh::Decimater::ModEdgeLengthT< MeshT > Class Template Reference

Use edge length to control decimation. More...

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Decimater/ModEdgeLengthT.hh>

Inheritance diagram for OpenMesh::Decimater::ModEdgeLengthT< MeshT >:
OpenMesh::Decimater::ModBaseT< MeshT >

Public Member Functions

 ModEdgeLengthT (MeshT &_mesh, float _edge_length=FLT_MAX, bool _is_binary=true)
 Constructor. More...
 
float edge_length () const
 get edge_length More...
 
void set_edge_length (typename Mesh::Scalar _f)
 set edge_length More...
 
float collapse_priority (const CollapseInfo &_ci) override
 
void set_error_tolerance_factor (double _factor) override
 set the percentage of edge length More...
 
- Public Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
virtual ~ModBaseT ()
 Virtual desctructor. More...
 
virtual const std::string & name () const
 Set module's name. More...
 
bool is_binary (void) const
 Returns true if criteria returns a binary value. More...
 
void set_binary (bool _b)
 Set whether module is binary or not. More...
 
virtual void initialize ()
 Initialize module-internal stuff. More...
 
virtual float collapse_priority (const CollapseInfoT< MeshT > &)
 
virtual void preprocess_collapse (const CollapseInfoT< MeshT > &)
 
virtual void postprocess_collapse (const CollapseInfoT< MeshT > &)
 
virtual void set_error_tolerance_factor (double _factor)
 

Private Attributes

Meshmesh_
 
Mesh::Scalar edge_length_
 
Mesh::Scalar sqr_edge_length_
 

Additional Inherited Members

- Public Types inherited from OpenMesh::Decimater::ModBaseT< MeshT >
enum  { ILLEGAL_COLLAPSE = -1 , LEGAL_COLLAPSE = 0 }
 
typedef MeshT Mesh
 
typedef CollapseInfoT< MeshTCollapseInfo
 
- Protected Member Functions inherited from OpenMesh::Decimater::ModBaseT< MeshT >
 ModBaseT (MeshT &_mesh, bool _is_binary)
 
MeshTmesh ()
 Access the mesh associated with the decimater. More...
 
- Protected Attributes inherited from OpenMesh::Decimater::ModBaseT< MeshT >
double error_tolerance_factor_
 

Detailed Description

template<class MeshT>
class OpenMesh::Decimater::ModEdgeLengthT< MeshT >

Use edge length to control decimation.

This module computes the edge length.

In binary and continuous mode, the collapse is legal if:

  • The length after the collapse is lower than the given tolerance

Definition at line 75 of file ModEdgeLengthT.hh.

Constructor & Destructor Documentation

◆ ModEdgeLengthT()

template<class MeshT >
OpenMesh::Decimater::ModEdgeLengthT< MeshT >::ModEdgeLengthT ( MeshT _mesh,
float  _edge_length = FLT_MAX,
bool  _is_binary = true 
)
explicit

Constructor.

Definition at line 65 of file ModEdgeLengthT_impl.hh.

Member Function Documentation

◆ collapse_priority()

template<class MeshT >
float OpenMesh::Decimater::ModEdgeLengthT< MeshT >::collapse_priority ( const CollapseInfo _ci)
override

Compute priority: Binary mode: Don't collapse edges longer then edge_length_ Cont. mode: Collapse smallest edge first, but don't collapse edges longer as edge_length_

Definition at line 74 of file ModEdgeLengthT_impl.hh.

◆ edge_length()

template<class MeshT >
float OpenMesh::Decimater::ModEdgeLengthT< MeshT >::edge_length ( ) const
inline

get edge_length

Definition at line 86 of file ModEdgeLengthT.hh.

◆ set_edge_length()

template<class MeshT >
void OpenMesh::Decimater::ModEdgeLengthT< MeshT >::set_edge_length ( typename Mesh::Scalar  _f)
inline

set edge_length

Definition at line 91 of file ModEdgeLengthT.hh.

◆ set_error_tolerance_factor()

template<class MeshT >
void OpenMesh::Decimater::ModEdgeLengthT< MeshT >::set_error_tolerance_factor ( double  _factor)
overridevirtual

set the percentage of edge length

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

Definition at line 83 of file ModEdgeLengthT_impl.hh.

Member Data Documentation

◆ edge_length_

template<class MeshT >
Mesh::Scalar OpenMesh::Decimater::ModEdgeLengthT< MeshT >::edge_length_
private

Definition at line 109 of file ModEdgeLengthT.hh.

◆ mesh_

template<class MeshT >
Mesh& OpenMesh::Decimater::ModEdgeLengthT< MeshT >::mesh_
private

Definition at line 108 of file ModEdgeLengthT.hh.

◆ sqr_edge_length_

template<class MeshT >
Mesh::Scalar OpenMesh::Decimater::ModEdgeLengthT< MeshT >::sqr_edge_length_
private

Definition at line 109 of file ModEdgeLengthT.hh.


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