feat: P1 complete - geodesic, CDT, NURBS surface
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 26s

This commit is contained in:
ViewDesignEngine
2026-07-23 07:04:11 +00:00
parent 6f7835c458
commit 5b3912f862
8 changed files with 580 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include "vde/mesh/delaunay_2d.h"
#include "vde/core/line.h"
#include <vector>
namespace vde::mesh {
/// Constrained Delaunay Triangulation (CDT) in 2D
/// Ensures specified constraint edges appear in the triangulation
DelaunayResult constrained_delaunay_2d(
const std::vector<Point2D>& points,
const std::vector<std::pair<int, int>>& constraints);
} // namespace vde::mesh
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "vde/mesh/halfedge_mesh.h"
#include <vector>
namespace vde::mesh {
/// Geodesic distance from source vertices using the Heat Method (Crane et al. 2013)
/// Returns per-vertex distance from the nearest source
/// @param sources Source vertex indices
/// @param t Time step (default = average edge length squared)
std::vector<double> geodesic_distance(const HalfedgeMesh& mesh,
const std::vector<int>& sources,
double t = -1.0);
} // namespace vde::mesh