# File structures/Boundaries.rb, line 97 def removeKnot(u) i,p = @spline.getIP(u) ## If i==0 then someone is doing something bad raise "Cannot remove d0 vertex knot u=#{u}" if i==0 newDPoint = (@spline.d[i-1] + @spline.d[i+2])*0.5 newD = [@spline.d.slice(1..(i-1)),newDPoint,@spline.d.slice((i+2)..(@spline.d.length-2))].flatten newK = [@spline.k.slice(0..i-1),@spline.k.slice((i+1)..(@spline.k.length-1))].flatten if @spline.closed @spline = QBSpline.new(newD, true,newK) else points = [@spline.d.first, newD, @spline.d.last].flatten @spline = QBSpline.new(points,false,newK) end end