59#ifndef OPENMESH_LAPLACE_SMOOTHERT_HH
60#define OPENMESH_LAPLACE_SMOOTHERT_HH
85 typedef typename SmootherT<Mesh>::Continuity Continuity;
86 typedef typename SmootherT<Mesh>::Scalar Scalar;
87 typedef typename SmootherT<Mesh>::VertexHandle VertexHandle;
88 typedef typename SmootherT<Mesh>::EdgeHandle EdgeHandle;
95 void initialize(
Component _comp, Continuity _cont);
102 Scalar weight(VertexHandle _vh)
const
103 {
return Base::mesh_.property(vertex_weights_, _vh); }
105 Scalar weight(EdgeHandle _eh)
const
106 {
return Base::mesh_.property(edge_weights_, _eh); }
111 enum LaplaceWeighting { UniformWeighting, CotWeighting };
112 void compute_weights(LaplaceWeighting _mode);
124#if defined(OM_INCLUDE_TEMPLATES) && !defined(OPENMESH_LAPLACE_SMOOTHERT_C)
125#define OPENMESH_LAPLACE_SMOOTHERT_TEMPLATES
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:64
Laplacian Smoothing.
Definition: LaplaceSmootherT.hh:79
Base class for smoothing algorithms.
Definition: SmootherT.hh:82
Component
Definition: SmootherT.hh:92