12#ifndef EASY3D_ALGO_SURFACE_MESH_SMOOTHING_H
13#define EASY3D_ALGO_SURFACE_MESH_SMOOTHING_H
15#include <easy3d/core/surface_mesh.h>
45 bool use_uniform_laplace =
false);
54 bool use_uniform_laplace =
false,
62 compute_edge_weights(use_uniform_laplace);
63 compute_vertex_weights(use_uniform_laplace);
71 void compute_edge_weights(
bool use_uniform_laplace);
77 void compute_vertex_weights(
bool use_uniform_laplace);
85 unsigned int how_many_edge_weights_;
A halfedge data structure for polygonal meshes of 2-manifold.
Definition surface_mesh.h:51
void initialize(bool use_uniform_laplace=false)
Initialize edge and vertex weights.
Definition surface_mesh_smoothing.h:61
void implicit_smoothing(float timestep=0.001, bool use_uniform_laplace=false, bool rescale=true)
Perform implicit Laplacian smoothing with timestep.
Definition surface_mesh_smoothing.cpp:127
~SurfaceMeshSmoothing()
Destructor.
Definition surface_mesh_smoothing.cpp:35
SurfaceMeshSmoothing(SurfaceMesh *mesh)
Construct with mesh to be smoothed.
Definition surface_mesh_smoothing.cpp:29
void explicit_smoothing(unsigned int iters=10, bool use_uniform_laplace=false)
Perform iters iterations of explicit Laplacian smoothing.
Definition surface_mesh_smoothing.cpp:77
Definition collider.cpp:182