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