solidcore

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 functionDefined atLinesRust (from the file header)
NL_BASISDERIVATIVES::operator[]NL_Nurbsdef.h:444[BasisDerivs], [BasisDerivs::get]
N_ComputeBasisFunctionsNL_SrfNurb.cpp:5127compute_basis_functions (private)
N_SwapRealPointersNL_SrfNurb.cpp:1046compute_derivatives (private)
N_ComputeDerivativesImplNL_SrfNurb.cpp:14445compute_derivatives (private)
N_ComputeDerivativesNL_SrfNurb.cpp:19011compute_derivatives (private)
N_SrfBasisDerivsNL_SrfNurb.cpp:259268[Surface::basis_derivs]
N_SrfEvalPtImplNL_SrfNurb.cpp:143164[Surface::eval]
N_SrfEvalPtNL_SrfNurb.cpp:153329[Surface::eval]
N_ComputeDerivativeMatrixSpecNL_SrfNurb.cpp:169946derivative_matrix (private)
N_ComputeDerivativeMatrixNL_SrfNurb.cpp:178642derivative_matrix (private)
N_SrfDerivsNL_SrfNurb.cpp:190164[Surface::derivs]
N_SrfGetBBoxNL_SrfNurb.cpp:199738[Surface::bbox]
N_SrfTransformNL_SrfNurb.cpp:213621[Surface::transform]
N_SrfMinMaxWeightPosVectorsNL_SrfNurb.cpp:218875[Surface::min_max_weight_pos_vectors], [MinMaxWeightPos]
N_SrfEvalPtPtDerivNormalFastNL_SrfNurb.cpp:238283[Surface::eval_pt_deriv_normal_fast], [PtDerivNormal]
N_SrfTranslateNL_SrfNurb.cpp:287321[Surface::translate]
N_SrfRotateAtPtNL_SrfNurb.cpp:293147[Surface::rotate_at_pt]
N_SrfReverseNL_SrfNurb.cpp:3231161[Surface::reverse] / [Surface::reversed]
N_SrfTypeNL_SrfNurb.cpp:3811853[Surface::surface_type], [SurfaceType], [SurfaceKind]
N_SrfReparamNL_SrfNurb.cpp:469921[Surface::reparam]
N_SrfIsClosedSmoothNL_SrfNurb.cpp:5058245[Surface::is_closed_smooth], [Surface::is_closed_smooth_flag]
N_SrfEvalPtPtDerivNormalPoleNL_SrfNurb.cpp:534624[Surface::eval_pt_deriv_normal_pole]
N_SrfEvalPtNormalAtPoleNL_SrfNurb.cpp:5418109[Surface::eval_pt_normal_at_pole]
N_ConeEllipticEndsNL_SrfNurb.cpp:5770256[cone_elliptic_ends], [EllipticCone]
Module file-header table (21 rows)
RustUpstream
[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