54#ifndef OPENMESH_LAPLACE_SMOOTHERT_HH
55#define OPENMESH_LAPLACE_SMOOTHERT_HH
80 typedef typename SmootherT<Mesh>::Continuity Continuity;
81 typedef typename SmootherT<Mesh>::Scalar Scalar;
82 typedef typename SmootherT<Mesh>::VertexHandle VertexHandle;
83 typedef typename SmootherT<Mesh>::EdgeHandle EdgeHandle;
90 void initialize(
Component _comp, Continuity _cont);
97 Scalar weight(VertexHandle _vh)
const
98 {
return Base::mesh_.property(vertex_weights_, _vh); }
100 Scalar weight(EdgeHandle _eh)
const
101 {
return Base::mesh_.property(edge_weights_, _eh); }
106 enum LaplaceWeighting { UniformWeighting, CotWeighting };
107 void compute_weights(LaplaceWeighting _mode);
119#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_LAPLACE_SMOOTHERT_C)
120#define OPENMESH_LAPLACE_SMOOTHERT_TEMPLATES
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
Laplacian Smoothing.
Definition: LaplaceSmootherT.hh:74
Base class for smoothing algorithms.
Definition: SmootherT.hh:77
Component
Definition: SmootherT.hh:87