Bezier1dNd Class

Shared implementation details for derived bezier curve classes

  • BezierCurve3d implements with blockSize 3.
  • BezierCurve3dH implements with blockSize 4.

Methods

Name Description
constructor(blockSize: number, polygon: Float64Array): Bezier1dNd    
clonePolygon(result?: Float64Array): Float64Array return a clone of the data array  
evaluate(s: number, buffer?: Float64Array): Float64Array Return the curve value at bezier fraction s  
evaluateDerivative(s: number, buffer?: Float64Array): Float64Array Return the curve derivative value at bezier fraction s  
fractionToParentFraction(fraction: number): number map a fraction to the parent space.  
getPolygonPoint(i: number, buffer?: Float64Array): Float64Array | undefined get a single point of the polygon as a simple array.  
interpolatePoleInPlace(poleIndexA: number, fraction: number, poleIndexB: number): void interpolate at fraction between poleA and poleB.  
isAlmostEqual(other: any): boolean equality test with usual metric tolerances  
loadSpanPoles(data: Float64Array, spanIndex: number): void Load order dimension doubles from data[dimension spanIndex] as poles  
loadSpanPolesWithWeight(data: Float64Array, dataDimension: number, spanIndex: number, weight: number): void Load order (dataDimension + 1) doubles from data[dataDimension spanIndex] as poles with weight inserted  
reverseInPlace(): void block-by-block reversal  
saturateInPlace(knots: KnotVector, spanIndex: number): boolean Compute new control points to "clamp" bspline unsaturated support to saturated form.  
setInterval(a: number, b: number): void create or update the mapping to parent curve.  
setPolygonPoint(i: number, buffer: Float64Array): void set a single point of the polygon as a simple array.  
subdivideInPlaceKeepLeft(fraction: number): boolean Apply deCasteljou interpolations to isolate a smaller bezier polygon, representing interval 0..fraction of the original  
subdivideInPlaceKeepRight(fraction: number): boolean Apply deCasteljou interpolations to isolate a smaller bezier polygon, representing interval 0..fraction of the original  
subdivideToIntervalInPlace(fraction0: number, fraction1: number): boolean Saturate a univariate bspline coefficient array in place  
unpackToJsonArrays(): any[] return a json array of arrays with each control point as a lower level array of numbers  
create(data: Point2d[] | Point3d[] | Point4d[]): Bezier1dNd | undefined Static Create a Bezier1dNd, using the structure of data[0] to determine the bezier order.  
saturate1dInPlace(coffs: Float64Array, knots: KnotVector, spanIndex: number): boolean Static Saturate a univariate bspline coefficient array in place
* On input, the array is the coefficients one span of a bspline, packed in an array of (knots.order) values.
 

Properties

Name Type Description
interval undefined | Segment1d optional interval for mapping to a parent object  
order Accessor ReadOnly number Return the bezier order  
packedData Accessor ReadOnly Float64Array return the packed data array.  

Defined in

Last Updated: 08 January, 2020