Files
ViewDesignEngine/include/vde/mesh/mesh_smooth.h
T

18 lines
451 B
C++

#pragma once
#include "vde/mesh/halfedge_mesh.h"
namespace vde::mesh {
enum class SmoothMethod { Laplacian, Taubin };
struct SmoothOptions {
int iterations = 10;
double lambda = 0.5; // Laplacian weight
double mu = -0.53; // Taubin shrink (mu < -lambda for Taubin)
SmoothMethod method = SmoothMethod::Laplacian;
};
HalfedgeMesh smooth_mesh(const HalfedgeMesh& mesh, const SmoothOptions& opts = {});
} // namespace vde::mesh