feat: P1 complete - geodesic, CDT, NURBS surface
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user