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

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 More...
 
void initialize (Component _comp, Continuity _cont)
 Initialize smoother. More...
 
void skip_features (bool _state)
 enable or disable feature handling More...
 
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 a triangle or poly 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
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 .