Public Types | Public Member Functions

OpenMesh::Decimater::ModNormalFlippingT< DecimaterT > Class Template Reference

Decimating module to avoid flipping of faces. More...

#include </data1/home1/moebius/projects/release/OpenMesh-2.0/src/OpenMesh/Tools/Decimater/ModNormalFlippingT.hh>

Inheritance diagram for OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >:
Inheritance graph
[legend]
Collaboration diagram for OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef ModNormalFlippingT
< DecimaterT
Self
typedef
OpenMesh::Decimater::ModHandleT
< Self
Handle
typedef
OpenMesh::Decimater::ModBaseT
< DecimaterT
Base
typedef Base::Mesh Mesh
typedef Base::CollapseInfo CollapseInfo

Public Member Functions

virtual const std::string & name () const
 Set module's name (using DECIMATER_MODNAME macro).
 ModNormalFlippingT (DecimaterT &_dec)
 Constructor.
float collapse_priority (const CollapseInfo &_ci)
 Compute collapse priority due to angular deviation of face normals before and after a collapse.
float max_normal_deviation () const
 get normal deviation
float normal_deviation () const
void set_max_normal_deviation (float _f)
 Set normal deviation.
void set_normal_deviation (float _f)

Detailed Description

template<typename DecimaterT>
class OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >

Decimating module to avoid flipping of faces.

This module can be used only as a binary module. The criterion of allowing/disallowing the collapse is the angular deviation between the face normal of the orignal faces and normals of the faces after the collapse. The collapse will pass the test, if the deviation is below a given threshold.


Member Function Documentation

template<typename DecimaterT >
float OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::collapse_priority ( const CollapseInfo &  _ci  )  [inline]

Compute collapse priority due to angular deviation of face normals before and after a collapse.

  1. Compute for each adjacent face of _ci.v0 the face normal if the collpase would be executed.
  1. Prevent the collapse, if the angle between the original and the new normal is below a given threshold.
Parameters:
_ci The collapse description
Returns:
LEGAL_COLLAPSE or ILLEGAL_COLLAPSE
See also:
set_max_normal_deviation()
template<typename DecimaterT >
float OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::normal_deviation (  )  const [inline]
template<typename DecimaterT >
void OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::set_max_normal_deviation ( float  _f  )  [inline]

Set normal deviation.

Set the maximum angular deviation of the orignal normal and the new normal in degrees.

template<typename DecimaterT >
void OpenMesh::Decimater::ModNormalFlippingT< DecimaterT >::set_normal_deviation ( float  _f  )  [inline]

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

acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .