@huukhanhnguyen/geometry / namespaces/Nurbs
namespaces/Nurbs
averagingKnots
constaveragingKnots: (params,degree) =>Float64Array=wasm.nurbs_averaging_knots
Parameters
params
Float64Array
degree
number
Returns
Float64Array
basisFunctions
constbasisFunctions: (span,t,degree,knots) =>Float64Array=wasm.nurbs_basis_functions
Parameters
span
number
t
number
degree
number
knots
Float64Array
Returns
Float64Array
basisFunctionsDerivs
constbasisFunctionsDerivs: (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
constchordLengthParams: (points) =>Float64Array=wasm.nurbs_chord_length_params
points is a flat [x, y, z, ...] run.
Parameters
points
Float64Array
Returns
Float64Array
curve2dValidationError
constcurve2dValidationError: (curve_json) =>string|undefined=wasm.nurbs_curve2d_validation_error
Parameters
curve_json
string
Returns
string | undefined
curveAdaptiveSample
constcurveAdaptiveSample: (curve_json,tolerance) =>Float64Array=wasm.nurbs_curve_adaptive_sample
Parameters
curve_json
string
tolerance
number
Returns
Float64Array
curveArcLength
constcurveArcLength: (curve_json,t) =>number=wasm.nurbs_curve_arc_length
Parameters
curve_json
string
t
number
Returns
number
curveClosestParam
constcurveClosestParam: (curve_json,x,y,z) =>number=wasm.nurbs_curve_closest_param
Parameters
curve_json
string
x
number
y
number
z
number
Returns
number
curveClosestPoint
constcurveClosestPoint: (curve_json,x,y,z) =>Float64Array=wasm.nurbs_curve_closest_point
Parameters
curve_json
string
x
number
y
number
z
number
Returns
Float64Array
curveDecompose
constcurveDecompose: (curve_json) =>string=wasm.nurbs_curve_decompose
Parameters
curve_json
string
Returns
string
curveDerivs
constcurveDerivs: (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
constcurveElevateDegree: (curve_json,target_degree) =>string=wasm.nurbs_curve_elevate_degree
Parameters
curve_json
string
target_degree
number
Returns
string
curveInteriorKnotMultiplicities
constcurveInteriorKnotMultiplicities: (curve_json) =>Float64Array=wasm.nurbs_curve_interior_knot_multiplicities
[value0, multiplicity0, value1, multiplicity1, ...].
Parameters
curve_json
string
Returns
Float64Array
curveKnotRefine
constcurveKnotRefine: (curve_json,knots_to_insert) =>string=wasm.nurbs_curve_knot_refine
Parameters
curve_json
string
knots_to_insert
Float64Array
Returns
string
curveParamAtLength
constcurveParamAtLength: (curve_json,length,tolerance) =>number=wasm.nurbs_curve_param_at_length
Parameters
curve_json
string
length
number
tolerance
number
Returns
number
curvePoint
constcurvePoint: (curve_json,t) =>Float64Array=wasm.nurbs_curve_point
Parameters
curve_json
string
t
number
Returns
Float64Array
curvePointsJson
constcurvePointsJson: (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
constcurveSplit: (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
constcurveTangent: (curve_json,t) =>Float64Array=wasm.nurbs_curve_tangent
Parameters
curve_json
string
t
number
Returns
Float64Array
findSpan
constfindSpan: (n,degree,t,knots) =>number=wasm.nurbs_find_span
Parameters
n
number
degree
number
t
number
knots
Float64Array
Returns
number
interpolateCurve
constinterpolateCurve: (points,degree) =>string=wasm.nurbs_interpolate_curve
Parameters
points
Float64Array
degree
number
Returns
string
makeEllipseArc
constmakeEllipseArc: (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
constuniformKnots: (n,degree) =>Float64Array=wasm.nurbs_uniform_knots
Parameters
n
number
degree
number
Returns
Float64Array