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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
N_CrvGetGrevilleAbscissa | NL_CrvNurb.cpp:283 | 22 | [greville_abscissa] |
N_CrvEvalCurvature | NL_CrvNurb.cpp:662 | 72 | [Curve::eval_curvature], [Curvature] |
N_CrvEval | NL_CrvNurb.cpp:772 | 70 | [Curve::eval] |
N_CrvGetBBox | NL_CrvNurb.cpp:872 | 38 | [Curve::bbox] |
N_CrvDerivs | NL_CrvNurb.cpp:954 | 252 | [Curve::derivs] |
N_CrvEvalTangent | NL_CrvNurb.cpp:1246 | 39 | [Curve::eval_tangent] |
N_CrvEvalFrenetFrame | NL_CrvNurb.cpp:1325 | 59 | [Curve::eval_frenet_frame], [FrenetFrame] |
N_CrvTransform | NL_CrvNurb.cpp:1415 | 23 | [Curve::transform] |
N_CrvGetMinMaxWeightsAndPts | NL_CrvNurb.cpp:1479 | 66 | [Curve::min_max_weights_and_pts], [MinMaxWeights] |
N_CrvLineFromPtAndVector | NL_CrvNurb.cpp:1882 | 40 | [line_from_pt_and_vector] |
N_CrvScale | NL_CrvNurb.cpp:1956 | 33 | [Curve::scale] |
N_CrvScaleCPts | NL_CrvNurb.cpp:2022 | 27 | [Curve::scale_cpts] |
N_CrvTranslate | NL_CrvNurb.cpp:2082 | 33 | [Curve::translate] |
N_CrvProjectOntoPlane | NL_CrvNurb.cpp:2251 | 134 | [Curve::project_onto_plane], [Projection] |
N_CrvReverse | NL_CrvNurb.cpp:2429 | 84 | [Curve::reverse] / [Curve::reversed] |
N_CrvGetBBoxMaxDiagDist | NL_CrvNurb.cpp:2545 | 30 | [Curve::bbox_max_diag_dist] |
N_CrvGetMaxPosVector | NL_CrvNurb.cpp:2606 | 33 | [Curve::max_pos_vector] |
N_CrvGetLinearSegs | NL_CrvNurb.cpp:3116 | 168 | [Curve::linear_segs], [LinearSeg] |
N_CrvGetDegenSegs | NL_CrvNurb.cpp:3330 | 116 | [Curve::degen_segs] |
N_CrvReparam | NL_CrvNurb.cpp:3478 | 11 | [Curve::reparam] |
N_CrvGetType | NL_CrvNurb.cpp:3555 | 374 | [Curve::get_type], [CurveType] |
N_CrvGetCurvatureDeriv | NL_CrvNurb.cpp:3967 | 68 | [Curve::curvature_deriv] |
N_CrvIsClosedContinuity | NL_CrvNurb.cpp:4079 | 87 | [Curve::is_closed_continuity] |
Module file-header table (23 rows)
| Rust | Upstream |
|---|---|
[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