Skip to content
Shapemetry

@huukhanhnguyen/geometry / namespaces/Nurbs

namespaces/Nurbs

averagingKnots

const averagingKnots: (params, degree) => Float64Array = wasm.nurbs_averaging_knots

Parameters

params

Float64Array

degree

number

Returns

Float64Array


basisFunctions

const basisFunctions: (span, t, degree, knots) => Float64Array = wasm.nurbs_basis_functions

Parameters

span

number

t

number

degree

number

knots

Float64Array

Returns

Float64Array


basisFunctionsDerivs

const basisFunctionsDerivs: (span, t, degree, knots, n_ders) => Float64Array = wasm.nurbs_basis_functions_derivs

Row-major (n_ders + 1) x (degree + 1).

Parameters

span

number

t

number

degree

number

knots

Float64Array

n_ders

number

Returns

Float64Array


chordLengthParams

const chordLengthParams: (points) => Float64Array = wasm.nurbs_chord_length_params

points is a flat [x, y, z, ...] run.

Parameters

points

Float64Array

Returns

Float64Array


curve2dValidationError

const curve2dValidationError: (curve_json) => string | undefined = wasm.nurbs_curve2d_validation_error

Parameters

curve_json

string

Returns

string | undefined


curveAdaptiveSample

const curveAdaptiveSample: (curve_json, tolerance) => Float64Array = wasm.nurbs_curve_adaptive_sample

Parameters

curve_json

string

tolerance

number

Returns

Float64Array


curveArcLength

const curveArcLength: (curve_json, t) => number = wasm.nurbs_curve_arc_length

Parameters

curve_json

string

t

number

Returns

number


curveClosestParam

const curveClosestParam: (curve_json, x, y, z) => number = wasm.nurbs_curve_closest_param

Parameters

curve_json

string

x

number

y

number

z

number

Returns

number


curveClosestPoint

const curveClosestPoint: (curve_json, x, y, z) => Float64Array = wasm.nurbs_curve_closest_point

Parameters

curve_json

string

x

number

y

number

z

number

Returns

Float64Array


curveDecompose

const curveDecompose: (curve_json) => string = wasm.nurbs_curve_decompose

Parameters

curve_json

string

Returns

string


curveDerivs

const curveDerivs: (curve_json, u, n_ders) => Float64Array = wasm.nurbs_curve_derivs

[point, d1, d2, ...] flattened: 3 * (n_ders + 1) values.

Parameters

curve_json

string

u

number

n_ders

number

Returns

Float64Array


curveElevateDegree

const curveElevateDegree: (curve_json, target_degree) => string = wasm.nurbs_curve_elevate_degree

Parameters

curve_json

string

target_degree

number

Returns

string


curveInteriorKnotMultiplicities

const curveInteriorKnotMultiplicities: (curve_json) => Float64Array = wasm.nurbs_curve_interior_knot_multiplicities

[value0, multiplicity0, value1, multiplicity1, ...].

Parameters

curve_json

string

Returns

Float64Array


curveKnotRefine

const curveKnotRefine: (curve_json, knots_to_insert) => string = wasm.nurbs_curve_knot_refine

Parameters

curve_json

string

knots_to_insert

Float64Array

Returns

string


curveParamAtLength

const curveParamAtLength: (curve_json, length, tolerance) => number = wasm.nurbs_curve_param_at_length

Parameters

curve_json

string

length

number

tolerance

number

Returns

number


curvePoint

const curvePoint: (curve_json, t) => Float64Array = wasm.nurbs_curve_point

Parameters

curve_json

string

t

number

Returns

Float64Array


curvePointsJson

const curvePointsJson: (requests_json) => string = wasm.nurbs_curve_points_json

Evaluate many NURBS curves at once. Input is a JSON array of {degree, knots, controlPoints, weights, t} objects; output is a JSON array of [x, y, z] in the same order. Whole-table, so a reader that samples every NURBS row (start / quarter / mid / end) does not call [nurbs_curve_point] inside that loop.

Parameters

requests_json

string

Returns

string


curveSplit

const curveSplit: (curve_json, t) => string = wasm.nurbs_curve_split

Both halves, as a JSON array of two NurbsCurveJSON.

Parameters

curve_json

string

t

number

Returns

string


curveTangent

const curveTangent: (curve_json, t) => Float64Array = wasm.nurbs_curve_tangent

Parameters

curve_json

string

t

number

Returns

Float64Array


findSpan

const findSpan: (n, degree, t, knots) => number = wasm.nurbs_find_span

Parameters

n

number

degree

number

t

number

knots

Float64Array

Returns

number


interpolateCurve

const interpolateCurve: (points, degree) => string = wasm.nurbs_interpolate_curve

Parameters

points

Float64Array

degree

number

Returns

string


makeEllipseArc

const makeEllipseArc: (center_x, center_y, center_z, x_axis_x, x_axis_y, x_axis_z, y_axis_x, y_axis_y, y_axis_z, start_angle, end_angle) => string = wasm.nurbs_make_ellipse_arc

Parameters

center_x

number

center_y

number

center_z

number

x_axis_x

number

x_axis_y

number

x_axis_z

number

y_axis_x

number

y_axis_y

number

y_axis_z

number

start_angle

number

end_angle

number

Returns

string


uniformKnots

const uniformKnots: (n, degree) => Float64Array = wasm.nurbs_uniform_knots

Parameters

n

number

degree

number

Returns

Float64Array

Last updated: 📖 5 min readEdit on GitHub