OpenMesh
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
OpenMesh::Smoother::SmootherT< Mesh > Class Template Reference

Base class for smoothing algorithms. More...

#include <OpenMesh/Tools/Smoother/SmootherT.hh>

Inheritance diagram for OpenMesh::Smoother::SmootherT< Mesh >:
Collaboration diagram for OpenMesh::Smoother::SmootherT< Mesh >:

Public Types

enum  Component { Tangential, Normal, Tangential_and_Normal }
enum  Continuity { C0, C1, C2 }
typedef Mesh::Scalar Scalar
typedef Mesh::Point Point
typedef Mesh::Normal NormalType
typedef Mesh::VertexHandle VertexHandle
typedef Mesh::EdgeHandle EdgeHandle

Public Member Functions

 SmootherT (Mesh &_mesh)
 constructor & destructor
void initialize (Component _comp, Continuity _cont)
 Initialize smoother.
void skip_features (bool _state)
 enable or disable feature handling
virtual void smooth (unsigned int _n)
 Do _n smoothing iterations.
void set_active_vertices ()
 Find active vertices. Resets tagged status !
void set_relative_local_error (Scalar _err)
 Set local error.
void set_absolute_local_error (Scalar _err)
 Set local error.
void disable_local_error_check ()
 Set local error.

Protected Member Functions

virtual void compute_new_positions_C0 ()=0
virtual void compute_new_positions_C1 ()=0
const Point & orig_position (VertexHandle _vh) const
const NormalType & orig_normal (VertexHandle _vh) const
const Point & new_position (VertexHandle _vh) const
void set_new_position (VertexHandle _vh, const Point &_p)
bool is_active (VertexHandle _vh) const
Component component () const
Continuity continuity () const

Protected Attributes

Mesh & mesh_
bool skip_features_

Detailed Description

template<class Mesh>
class OpenMesh::Smoother::SmootherT< Mesh >

Base class for smoothing algorithms.

Member Enumeration Documentation

template<class Mesh>
enum OpenMesh::Smoother::SmootherT::Component
Enumerator:
Tangential 

Smooth tangential direction.

Normal 

Smooth normal direction.

Tangential_and_Normal 

Smooth tangential and normal direction.

Constructor & Destructor Documentation

template<class Mesh >
OpenMesh::Smoother::SmootherT< Mesh >::SmootherT ( Mesh &  _mesh)

constructor & destructor

Parameters
_meshReference to the mesh

Member Function Documentation

template<class Mesh >
void OpenMesh::Smoother::SmootherT< Mesh >::initialize ( Component  _comp,
Continuity  _cont 
)

Initialize smoother.

Parameters
_compDetermine component to smooth
_contDetermine Continuity

Reimplemented in OpenMesh::Smoother::LaplaceSmootherT< Mesh >.

template<class Mesh>
void OpenMesh::Smoother::SmootherT< Mesh >::skip_features ( bool  _state)
inline

enable or disable feature handling

Parameters
_statetrue : If features are selected on the mesh, they will be left unmodified
false : Features will be ignored

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

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