solidcore

Units / nurbs

nlib.crv_nurb green

Layer
6
Upstream lines
1,879
Functions
23
Rust module
nurbs::crv_nurb

Source: crates/solidcore/src/nurbs/crv_nurb.rs

Upstream: source/SMLib/src/NL_CrvNurb.cpp

Notes

difftest: 2871 cases (871 fixtures + 2000 generated), 2871 pass bit-for-bit, 0 deferred (promoted when nlib.crv_geom wired N_CrvArcLength in N_CrvGetDegenSegs); wired UNPORTED(nlib.crv_nurb) in nlib.crv_tool_p1 (now green); 23 fns; largest: N_CrvGetType, N_CrvDerivs, N_CrvGetLinearSegs, N_CrvProjectOntoPlane; cycle back-edges (call into later units; stub or co-port): nlib.crv_geom(1); unit-SCC #6 (5 units); 317 upstream test entry points reach this unit

Difftest

Cases
2,871
Passed
2,871
Deferred
0
Failed
0
Both errored
0
Max rel. error
0.0
Tolerance
1e-09 rel.
Seeds
16

Blocked by

Nothing: no deferred cases.

Report JSON (per-case results)

Dependencies

Depends on: nlib.crv_basic green nlib.geom green nlib.knots green nlib.math green

Soft dependencies: nlib.crv_tool_p1 green

Dependents: nlib.crv_adv_p1 green nlib.crv_adv_p2 green nlib.crv_geom green nlib.crv_offset green nlib.srf_adv_p1 green nlib.srf_adv_p4 green nlib.srf_adv_p6 green nlib.srf_nurb green nurbs.b_spline_curve_p1 green

Soft dependents: nlib.crv_approx green nlib.crv_fit_p3 green nlib.crv_tool_p2 green nlib.spiral green nlib.srf_adv_p5 green nlib.srf_offset green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p2 green nurbs.b_spline_surface_n_lib_p1 green nurbs.nurbs_crv green

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
N_CrvGetGrevilleAbscissaNL_CrvNurb.cpp:28322[greville_abscissa]
N_CrvEvalCurvatureNL_CrvNurb.cpp:66272[Curve::eval_curvature], [Curvature]
N_CrvEvalNL_CrvNurb.cpp:77270[Curve::eval]
N_CrvGetBBoxNL_CrvNurb.cpp:87238[Curve::bbox]
N_CrvDerivsNL_CrvNurb.cpp:954252[Curve::derivs]
N_CrvEvalTangentNL_CrvNurb.cpp:124639[Curve::eval_tangent]
N_CrvEvalFrenetFrameNL_CrvNurb.cpp:132559[Curve::eval_frenet_frame], [FrenetFrame]
N_CrvTransformNL_CrvNurb.cpp:141523[Curve::transform]
N_CrvGetMinMaxWeightsAndPtsNL_CrvNurb.cpp:147966[Curve::min_max_weights_and_pts], [MinMaxWeights]
N_CrvLineFromPtAndVectorNL_CrvNurb.cpp:188240[line_from_pt_and_vector]
N_CrvScaleNL_CrvNurb.cpp:195633[Curve::scale]
N_CrvScaleCPtsNL_CrvNurb.cpp:202227[Curve::scale_cpts]
N_CrvTranslateNL_CrvNurb.cpp:208233[Curve::translate]
N_CrvProjectOntoPlaneNL_CrvNurb.cpp:2251134[Curve::project_onto_plane], [Projection]
N_CrvReverseNL_CrvNurb.cpp:242984[Curve::reverse] / [Curve::reversed]
N_CrvGetBBoxMaxDiagDistNL_CrvNurb.cpp:254530[Curve::bbox_max_diag_dist]
N_CrvGetMaxPosVectorNL_CrvNurb.cpp:260633[Curve::max_pos_vector]
N_CrvGetLinearSegsNL_CrvNurb.cpp:3116168[Curve::linear_segs], [LinearSeg]
N_CrvGetDegenSegsNL_CrvNurb.cpp:3330116[Curve::degen_segs]
N_CrvReparamNL_CrvNurb.cpp:347811[Curve::reparam]
N_CrvGetTypeNL_CrvNurb.cpp:3555374[Curve::get_type], [CurveType]
N_CrvGetCurvatureDerivNL_CrvNurb.cpp:396768[Curve::curvature_deriv]
N_CrvIsClosedContinuityNL_CrvNurb.cpp:407987[Curve::is_closed_continuity]
Module file-header table (23 rows)
RustUpstream
[greville_abscissa]N_CrvGetGrevilleAbscissa
[Curve::eval_curvature], [Curvature]N_CrvEvalCurvature
[Curve::eval]N_CrvEval
[Curve::bbox]N_CrvGetBBox
[Curve::derivs]N_CrvDerivs
[Curve::eval_tangent]N_CrvEvalTangent
[Curve::eval_frenet_frame], [FrenetFrame]N_CrvEvalFrenetFrame
[Curve::transform]N_CrvTransform
[Curve::min_max_weights_and_pts], [MinMaxWeights]N_CrvGetMinMaxWeightsAndPts
[line_from_pt_and_vector]N_CrvLineFromPtAndVector
[Curve::scale]N_CrvScale
[Curve::scale_cpts]N_CrvScaleCPts
[Curve::translate]N_CrvTranslate
[Curve::project_onto_plane], [Projection]N_CrvProjectOntoPlane (NL_PARALLEL / NL_PERSPECTIVE)
[Curve::reverse] / [Curve::reversed]N_CrvReverse (in place / into a new curve)
[Curve::bbox_max_diag_dist]N_CrvGetBBoxMaxDiagDist
[Curve::max_pos_vector]N_CrvGetMaxPosVector
[Curve::linear_segs], [LinearSeg]N_CrvGetLinearSegs
[Curve::degen_segs]N_CrvGetDegenSegs
[Curve::reparam]N_CrvReparam
[Curve::get_type], [CurveType]N_CrvGetType (NL_NLINE / NL_NCIRCLE / NL_NFREEFORM)
[Curve::curvature_deriv]N_CrvGetCurvatureDeriv
[Curve::is_closed_continuity]N_CrvIsClosedContinuity

Upstream tests reaching this unit

prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join, SM_API_test:TestSmCreateRectangle, SM_API_test:TestSmCreateRegularPolygon