Units / nurbs
nlib.srf_nurb green
- Layer
- 10
- Upstream lines
- 2,560
- Functions
- 24
- Rust module
nurbs::srf_nurb
Source: crates/solidcore/src/nurbs/srf_nurb.rs
Upstream: source/SMLib/inc/NL_Nurbsdef.h, source/SMLib/src/NL_SrfNurb.cpp
Notes
difftest green: 2702 cases (202 fixture + 2500 generated), 0 deferred, max_rel_err 0; 24 fns; largest: N_SrfType, N_SrfBasisDerivs, N_ConeEllipticEnds, N_SrfIsClosedSmooth; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 2,702
- Passed
- 2,702
- 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.crv_nurb green nlib.geom green nlib.math green nlib.srf_basic green
Soft dependencies: geom.a_object partial nlib.knots green nlib.srf_common green nlib.srf_tool_p1 green
Dependents: nlib.srf_adv_p1 green nlib.srf_offset green nurbs.b_spline_surface_n_lib_p1 green
Soft dependents: nlib.srf_adv_p2 green nlib.srf_adv_p3 green nlib.srf_adv_p4 green nlib.srf_adv_p5 green nlib.srf_tool_p2 green nlib.srf_tool_p3 green nlib.srf_tool_p4 green nurbs.b_spline_surface_n_lib_p2 partial nurbs.b_spline_surface_p1 green nurbs.nurbs_srf green primitive.primitive_creation_p1 claimed surface.surface_cache_p2 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
NL_BASISDERIVATIVES::operator[] | NL_Nurbsdef.h:44 | 4 | [BasisDerivs], [BasisDerivs::get] |
N_ComputeBasisFunctions | NL_SrfNurb.cpp:51 | 27 | compute_basis_functions (private) |
N_SwapRealPointers | NL_SrfNurb.cpp:104 | 6 | compute_derivatives (private) |
N_ComputeDerivativesImpl | NL_SrfNurb.cpp:144 | 45 | compute_derivatives (private) |
N_ComputeDerivatives | NL_SrfNurb.cpp:190 | 11 | compute_derivatives (private) |
N_SrfBasisDerivs | NL_SrfNurb.cpp:259 | 268 | [Surface::basis_derivs] |
N_SrfEvalPtImpl | NL_SrfNurb.cpp:1431 | 64 | [Surface::eval] |
N_SrfEvalPt | NL_SrfNurb.cpp:1533 | 29 | [Surface::eval] |
N_ComputeDerivativeMatrixSpec | NL_SrfNurb.cpp:1699 | 46 | derivative_matrix (private) |
N_ComputeDerivativeMatrix | NL_SrfNurb.cpp:1786 | 42 | derivative_matrix (private) |
N_SrfDerivs | NL_SrfNurb.cpp:1901 | 64 | [Surface::derivs] |
N_SrfGetBBox | NL_SrfNurb.cpp:1997 | 38 | [Surface::bbox] |
N_SrfTransform | NL_SrfNurb.cpp:2136 | 21 | [Surface::transform] |
N_SrfMinMaxWeightPosVectors | NL_SrfNurb.cpp:2188 | 75 | [Surface::min_max_weight_pos_vectors], [MinMaxWeightPos] |
N_SrfEvalPtPtDerivNormalFast | NL_SrfNurb.cpp:2382 | 83 | [Surface::eval_pt_deriv_normal_fast], [PtDerivNormal] |
N_SrfTranslate | NL_SrfNurb.cpp:2873 | 21 | [Surface::translate] |
N_SrfRotateAtPt | NL_SrfNurb.cpp:2931 | 47 | [Surface::rotate_at_pt] |
N_SrfReverse | NL_SrfNurb.cpp:3231 | 161 | [Surface::reverse] / [Surface::reversed] |
N_SrfType | NL_SrfNurb.cpp:3811 | 853 | [Surface::surface_type], [SurfaceType], [SurfaceKind] |
N_SrfReparam | NL_SrfNurb.cpp:4699 | 21 | [Surface::reparam] |
N_SrfIsClosedSmooth | NL_SrfNurb.cpp:5058 | 245 | [Surface::is_closed_smooth], [Surface::is_closed_smooth_flag] |
N_SrfEvalPtPtDerivNormalPole | NL_SrfNurb.cpp:5346 | 24 | [Surface::eval_pt_deriv_normal_pole] |
N_SrfEvalPtNormalAtPole | NL_SrfNurb.cpp:5418 | 109 | [Surface::eval_pt_normal_at_pole] |
N_ConeEllipticEnds | NL_SrfNurb.cpp:5770 | 256 | [cone_elliptic_ends], [EllipticCone] |
Module file-header table (21 rows)
| Rust | Upstream |
|---|---|
[BasisDerivs], [BasisDerivs::get] | NL_BASISDERIVATIVES, NL_BASISDERIVATIVES::operator[] |
compute_basis_functions (private) | N_ComputeBasisFunctions |
compute_derivatives (private) | N_ComputeDerivatives, N_ComputeDerivativesImpl, N_SwapRealPointers |
[Surface::basis_derivs] | N_SrfBasisDerivs |
[Surface::eval] | N_SrfEvalPt, N_SrfEvalPtImpl |
blend_spec, to_euclid_spec (private) | NI_VectorBlendCPt_specialized, NI_CPtToPtEuclid_specialized |
derivative_matrix (private) | N_ComputeDerivativeMatrix, N_ComputeDerivativeMatrixSpec |
[Surface::derivs] | N_SrfDerivs |
[Surface::bbox] | N_SrfGetBBox |
[Surface::transform] | N_SrfTransform |
[Surface::min_max_weight_pos_vectors], [MinMaxWeightPos] | N_SrfMinMaxWeightPosVectors |
[Surface::eval_pt_deriv_normal_fast], [PtDerivNormal] | N_SrfEvalPtPtDerivNormalFast |
[Surface::translate] | N_SrfTranslate |
[Surface::rotate_at_pt] | N_SrfRotateAtPt |
[Surface::reverse] / [Surface::reversed] | N_SrfReverse (in place / into a new surface) |
[Surface::surface_type], [SurfaceType], [SurfaceKind] | N_SrfType |
[Surface::reparam] | N_SrfReparam |
[Surface::is_closed_smooth], [Surface::is_closed_smooth_flag] | N_SrfIsClosedSmooth |
[Surface::eval_pt_deriv_normal_pole] | N_SrfEvalPtPtDerivNormalPole |
[Surface::eval_pt_normal_at_pole] | N_SrfEvalPtNormalAtPole |
[cone_elliptic_ends], [EllipticCone] | N_ConeEllipticEnds |
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