18 lines
451 B
C++
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
|