1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
//-----------------------------------------------------------------------------
/** \page smoother_docu Smoother Tools
\section OM_Smoother_Overview Overview
The %OpenMesh library provides tools for smoothing Triangle- and Polymeshes
-# Smoother:
-# OpenMesh::Smoother::SmootherT
-# OpenMesh::Smoother::LaplaceSmootherT
-# OpenMesh::Smoother::JacobiLaplaceSmootherT
\section OM_Smoother_Usage Usage
The smoothers directly work on an OpenMesh. The following example shows how to use them:
\code
#include <OpenMesh/Tools/Smoother/JacobiLaplaceSmootherT.hh>
// Initialize smoother with input mesh
OpenMesh::Smoother::JacobiLaplaceSmootherT<MyMesh> smoother(mesh);
smoother.initialize( Tangential_and_Normal, //Smooth direction
C0) //Continuity
// Execute 3 smooth steps
smoother.smooth(3);
\endcode
\section Options
\subsection Continuity
\li C0: shape is continuous, but not the tangent
\li C1: shape and tangent are continuous
\li C2: preserves curvature
\subsection Component
\li Tangential: Smooth in tangential direction
\li Normal: Smooth in normal direction
\li Tangential_and_Normal: Smooth in tangential and normal direction
\subsection localError Local Error
By default, this option is disabled.
You can set local max. local errors (absolute or relative) via following functions:
\code
void OpenMesh::Smoother::SmootherT<Mesh>::set_relative_local_error(Scalar _err);
void OpenMesh::Smoother::SmootherT<Mesh>::set_absolute_local_error(Scalar _err);
void OpenMesh::Smoother::SmootherT<Mesh>::disable_local_error_check();
\endcode
*/
//-----------------------------------------------------------------------------
|