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 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

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


*/

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