smoother.docu 1.69 KB
Newer Older
Jan Möbius's avatar
Jan Möbius committed
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>
Jan Möbius's avatar
Jan Möbius committed
19
20

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

23
24
  smoother.initialize( Tangential_and_Normal,   //Smooth direction
                       C0)                      //Continuity
Jan Möbius's avatar
Jan Möbius committed
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


*/

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