feat: N-side filling + G3 continuity
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user