Skip to main content

insert_knot

Function insert_knot 

Source
pub fn insert_knot<P: Blend>(
    knots: &KnotVector,
    control: &[P],
    value: f64,
    count: usize,
    tol: Tolerances,
) -> OgeomResult<Spline<P>>
Expand description

Insert value into the knot vector count times, adjusting control points so the curve is unchanged.

Boehm’s algorithm. The foundation of nearly everything else: splitting a curve, converting to Bézier form, and raising continuity constraints all reduce to knot insertion.

§Errors

OgeomError::Dimension on a shape mismatch, OgeomError::Domain if value is outside the domain, and OgeomError::Construction if the insertion would push a multiplicity above the degree.