smoother.docu 1.69 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
//-----------------------------------------------------------------------------

/** \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
Jan Möbius's avatar
Jan Möbius committed
18
  #include <OpenMesh/Tools/Smoother/JacobiLaplaceSmootherT.hh>
19 20

  // Initialize smoother with input mesh
Jan Möbius's avatar
Jan Möbius committed
21
  OpenMesh::Smoother::JacobiLaplaceSmootherT<MyMesh> smoother(mesh);
22

23 24
  smoother.initialize( Tangential_and_Normal,   //Smooth direction
                       C0)                      //Continuity
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
    
  // 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


*/

//-----------------------------------------------------------------------------