Developer Documentation

Public Types | Public Member Functions | Private Attributes | List of all members
OpenMesh::Decimater::ModRoundnessT< MeshT > Class Template Reference

Use Roundness of triangles to control decimation. More...

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

Inheritance diagram for OpenMesh::Decimater::ModRoundnessT< MeshT >:

## Public Types
typedef MeshT::Point | Point
typedef vector_traits< Point >::value_type | value_type
Public Types inherited from OpenMesh::Decimater::ModBaseT< MeshT >
enum | { ILLEGAL_COLLAPSE = -1, LEGAL_COLLAPSE = 0 }
typedef MeshT | Mesh
typedef CollapseInfoT< MeshT > | CollapseInfo

## Public Member Functions
| DECIMATING_MODULE (ModRoundnessT, MeshT, Roundness)
| ModRoundnessT (MeshT &_dec)
| Constructor.
| ~ModRoundnessT ()
| Destructor.
float | collapse_priority (const CollapseInfo &_ci) override
void | set_error_tolerance_factor (double _factor) override
| set the percentage of minimum roundness
void | set_min_angle (float _angle, bool)
void | set_min_roundness (value_type _min_roundness, bool _binary=true)
void | unset_min_roundness ()
| Unset minimum value constraint and enable non-binary mode.
double | roundness (const Vec3f &A, const Vec3f &B, const Vec3f &C)
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 void | initialize ()
| Initialize module-internal stuff.
virtual void | preprocess_collapse (const CollapseInfoT< MeshT > &)
virtual void | postprocess_collapse (const CollapseInfoT< MeshT > &)

## Private Attributes
value_type | min_r_

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

## Detailed Description

### template<class MeshT>
class OpenMesh::Decimater::ModRoundnessT< MeshT >

Use Roundness of triangles to control decimation.

In binary and mode, the collapse is legal if:

- The roundness after the collapse is greater than the given value

In continuous mode the roundness after the collapse is returned

Definition at line 86 of file ModRoundnessT.hh.

## Member Function Documentation

## ◆ collapse_priority()

template<class MeshT>

float OpenMesh::Decimater::ModRoundnessT< MeshT >::collapse_priority | ( | const CollapseInfo & | _ci | ) |
| inline override virtual

Compute collapse priority due to roundness of triangle.

The roundness is computed by dividing the radius of the circumference by the length of the shortest edge. The result is normalized.

Returns
  [0:1] or ILLEGAL_COLLAPSE in non-binary mode
  LEGAL_COLLAPSE or ILLEGAL_COLLAPSE in binary mode

See also
  set_min_roundness()

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

Definition at line 120 of file ModRoundnessT.hh.

## ◆ set_min_roundness()

template<class MeshT>

void OpenMesh::Decimater::ModRoundnessT< MeshT >::set_min_roundness | ( | value_type | _min_roundness,
|  | bool | _binary = `true`
| ) |  |
| inline

Set a minimum roundness value.

Parameters

  _min_roundness | in range (0,1)
  _binary | Set true, if the binary mode should be enabled, else false. In latter case the collapse_priority() returns a float value if the constraint does not apply and ILLEGAL_COLLAPSE else.

Definition at line 225 of file ModRoundnessT.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Decimater/ModRoundnessT.hh