feat: N-side filling + G3 continuity
CI / Build & Test (push) Failing after 34s
CI / Release Build (push) Failing after 27s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled

This commit is contained in:
茂之钳
2026-07-24 16:16:18 +00:00
parent e02c5980b4
commit 9b89fc179f
3 changed files with 126 additions and 0 deletions
+14
View File
@@ -237,4 +237,18 @@ using core::Vector3D;
[[nodiscard]] NurbsSurface extend_surface(const NurbsSurface& surf,
int edge, double length);
/// Fill an N-sided hole with a smooth surface
/// @param boundary_curves N boundary curves forming a closed loop
/// @param continuity Desired continuity (1=G1 tangent, 2=G2 curvature)
/// @return Filling NURBS surface
[[nodiscard]] NurbsSurface fill_n_sided(const std::vector<NurbsCurve>& boundary_curves,
int continuity = 1);
/// Check G3 (torsion) continuity between two surfaces along a shared boundary
[[nodiscard]] bool is_g3_continuous(const NurbsSurface& surf_a,
const NurbsSurface& surf_b, int edge, int samples = 10);
/// Compute torsion of a surface at a point
[[nodiscard]] double surface_torsion(const NurbsSurface& surf, double u, double v);
} // namespace vde::curves