Skip to content
Shapemetry

Nurbs

Low-level NURBS basis/sampling shared by NurbsCurve and Surface.

import { Nurbs } from '@huukhanhnguyen/geometry'

API reference

Nurbs.averagingKnots

Nurbs.averagingKnots(params: Float64Array, degree: number): Float64Array

Wasm: nurbs_averaging_knots

Nurbs.basisFunctions

Nurbs.basisFunctions(span: number, t: number, degree: number, knots: Float64Array): Float64Array

Wasm: nurbs_basis_functions

Nurbs.basisFunctionsDerivs

Nurbs.basisFunctionsDerivs(span: number, t: number, degree: number, knots: Float64Array, n_ders: number): Float64Array

Wasm: nurbs_basis_functions_derivs

Nurbs.chordLengthParams

Nurbs.chordLengthParams(points: Float64Array): Float64Array

Wasm: nurbs_chord_length_params

Nurbs.curve2dValidationError

Nurbs.curve2dValidationError(curve_json: string): string | undefined

Wasm: nurbs_curve2d_validation_error

Nurbs.curveAdaptiveSample

Nurbs.curveAdaptiveSample(curve_json: string, tolerance: number): Float64Array

Wasm: nurbs_curve_adaptive_sample

Nurbs.curveArcLength

Nurbs.curveArcLength(curve_json: string, t: number): number

Wasm: nurbs_curve_arc_length

Nurbs.curveClosestParam

Nurbs.curveClosestParam(curve_json: string, x: number, y: number, z: number): number

Wasm: nurbs_curve_closest_param

Nurbs.curveClosestPoint

Nurbs.curveClosestPoint(curve_json: string, x: number, y: number, z: number): Float64Array

Wasm: nurbs_curve_closest_point

Nurbs.curveDecompose

Nurbs.curveDecompose(curve_json: string): string

Wasm: nurbs_curve_decompose

Nurbs.curveDerivs

Nurbs.curveDerivs(curve_json: string, u: number, n_ders: number): Float64Array

Wasm: nurbs_curve_derivs

Nurbs.curveElevateDegree

Nurbs.curveElevateDegree(curve_json: string, target_degree: number): string

Wasm: nurbs_curve_elevate_degree

Nurbs.curveInteriorKnotMultiplicities

Nurbs.curveInteriorKnotMultiplicities(curve_json: string): Float64Array

Wasm: nurbs_curve_interior_knot_multiplicities

Nurbs.curveKnotRefine

Nurbs.curveKnotRefine(curve_json: string, knots_to_insert: Float64Array): string

Wasm: nurbs_curve_knot_refine

Nurbs.curveParamAtLength

Nurbs.curveParamAtLength(curve_json: string, length: number, tolerance: number): number

Wasm: nurbs_curve_param_at_length

Nurbs.curvePoint

Nurbs.curvePoint(curve_json: string, t: number): Float64Array

Wasm: nurbs_curve_point

Nurbs.curvePointsJson

Nurbs.curvePointsJson(requests_json: string): string

Wasm: nurbs_curve_points_json

Nurbs.curveSplit

Nurbs.curveSplit(curve_json: string, t: number): string

Wasm: nurbs_curve_split

Nurbs.curveTangent

Nurbs.curveTangent(curve_json: string, t: number): Float64Array

Wasm: nurbs_curve_tangent

Nurbs.findSpan

Nurbs.findSpan(n: number, degree: number, t: number, knots: Float64Array): number

Wasm: nurbs_find_span

Nurbs.interpolateCurve

Nurbs.interpolateCurve(points: Float64Array, degree: number): string

Wasm: nurbs_interpolate_curve

Nurbs.makeEllipseArc

Nurbs.makeEllipseArc(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): string

Wasm: nurbs_make_ellipse_arc

Nurbs.uniformKnots

Nurbs.uniformKnots(n: number, degree: number): Float64Array

Wasm: nurbs_uniform_knots

See GEOMETRY_CATALOG.md for catalog ownership.

Last updated: 📖 1 min readEdit on GitHub