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

Use Normal deviation to control decimation. More...

#include <OpenMesh/Tools/Decimater/ModNormalDeviationT.hh>

Inheritance diagram for OpenMesh::Decimater::ModNormalDeviationT< DecimaterT >:
Collaboration diagram for OpenMesh::Decimater::ModNormalDeviationT< DecimaterT >:

List of all members.

Public Types

typedef ModNormalDeviationT
< DecimaterT
Self
typedef
OpenMesh::Decimater::ModHandleT
< Self
Handle
typedef
OpenMesh::Decimater::ModBaseT
< DecimaterT
Base
typedef Base::Mesh Mesh
typedef Base::CollapseInfo CollapseInfo
typedef Mesh::Scalar Scalar
typedef Mesh::Point Point
typedef Mesh::Normal Normal
typedef Mesh::VertexHandle VertexHandle
typedef Mesh::FaceHandle FaceHandle
typedef Mesh::EdgeHandle EdgeHandle
typedef NormalConeT< Scalar > NormalCone

Public Member Functions

virtual const std::string & name () const
 Set module's name (using DECIMATER_MODNAME macro)
 ModNormalDeviationT (DecimaterT &_dec, float _max_dev=180.0)
 Constructor.
 ~ModNormalDeviationT ()
 Destructor.
Scalar normal_deviation () const
 Get normal deviation ( 0 .. 360 )
void set_normal_deviation (Scalar _s)
 Set normal deviation ( 0 .. 360 )
void initialize ()
 Allocate and init normal cones.
float collapse_priority (const CollapseInfo &_ci)
 Control normals when Decimating.
void postprocess_collapse (const CollapseInfo &_ci)

Detailed Description

template<class DecimaterT>
class OpenMesh::Decimater::ModNormalDeviationT< DecimaterT >

Use Normal deviation to control decimation.

The module tracks the normals while decimating a normal cone consisting of all normals of the faces collapsed together is computed and if a collapse would increase the size of the cone to a value greater than the given value the collapse will be illegal.

In binary and mode, the collapse is legal if:

  • The normal deviation after the collapse is lower than the given value

In continuous mode the maximal deviation is returned


Member Function Documentation

template<class DecimaterT >
float OpenMesh::Decimater::ModNormalDeviationT< DecimaterT >::collapse_priority ( const CollapseInfo _ci) [inline]

Control normals when Decimating.

Binary and Cont. mode.

The module tracks the normals while decimating a normal cone consisting of all normals of the faces collapsed together is computed and if a collapse would increase the size of the cone to a value greater than the given value the collapse will be illegal.

Parameters:
_ciCollapse info data
Returns:
Half of the normal cones size (radius in radians)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines