Units / nurbs
nlib.srf_basic green
- Layer
- 2
- Upstream lines
- 1,088
- Functions
- 35
- Rust module
nurbs::srf_basic
Source: crates/solidcore/src/nurbs/srf_basic.rs
Upstream: source/SMLib/src/NL_SrfBasic.cpp, source/SMLib/src/NL_SrfGeom.cpp
Notes
35 fns; largest: N_SrfIsFlatCheap, N_SrfGetAverageLen, N_SrfsAreEqual, N_SrfGetENet; unit-SCC #2 (3 units); 317 upstream test entry points reach this unit; green: 3220 difftest cases (220 fixture + 3000 generated), 0 deferred, bit-identical
Difftest
- Cases
- 3,220
- Passed
- 3,220
- 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.geom green nlib.math green
Soft dependencies: nlib.knots green
Dependents: nlib.bezier green nlib.iges green nlib.srf_adv_p1 green nlib.srf_adv_p2 green nlib.srf_adv_p3 green nlib.srf_adv_p4 green nlib.srf_adv_p5 green nlib.srf_adv_p6 green nlib.srf_fit green nlib.srf_nurb green nlib.srf_offset green nlib.srf_tool_p1 green nlib.srf_tool_p2 green nlib.srf_tool_p3 green nlib.srf_tool_p4 green nurbs.b_spline_surface_n_lib_p1 green nurbs.b_spline_surface_p1 green
Soft dependents: nlib.crv_basic green nlib.srf_common green nurbs.b_spline_surface_n_lib_p2 partial nurbs.b_spline_surface_p2 partial nurbs.nurbs_srf green primitive.primitive_creation_p1 claimed surface.offset_surface green surface.plane_p1 partial surface.surf_of_extrusion_p1 green surface.surf_of_revolution_p3 partial surface.surface_cache_p2 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
N_SrfCountsAreValid | NL_SrfBasic.cpp:46 | 55 | [Surface::counts_are_valid] |
N_SrfWeightsAreValid | NL_SrfBasic.cpp:132 | 39 | [Surface::weights_are_valid] |
N_SrfIsValid | NL_SrfBasic.cpp:207 | 43 | [Surface::is_valid] |
N_SrfIsSized | NL_SrfBasic.cpp:285 | 22 | [Surface::is_sized] |
N_SrfFromCNetAndKnotVectors | NL_SrfBasic.cpp:1108 | 8 | [Surface::new], [Surface::with_indices], [SurfaceIndices] |
N_SrfGetNetAndKnotVectors | NL_SrfBasic.cpp:1409 | 8 | the accessors above |
N_SrfGetCPtsDegreesAndKnots | NL_SrfBasic.cpp:1453 | 22 | the accessors above |
N_SrfGetCPts | NL_SrfBasic.cpp:1506 | 6 | [Surface::cpt], [Surface::row], [Surface::rows], [Surface::cpts] |
N_SrfGetArraySizes | NL_SrfBasic.cpp:1541 | 7 | [Surface::n], [Surface::m], [Surface::array_sizes] |
N_SrfGetCPtsAndKnots | NL_SrfBasic.cpp:1579 | 10 | the accessors above |
N_SrfGetCPtsKnotVectorAndKnots | NL_SrfBasic.cpp:1620 | 8 | the accessors above |
N_SrfSetCPtsAndKnots | NL_SrfBasic.cpp:1659 | 6 | [Surface::set_cpts_and_knots] |
N_SrfGetKnots | NL_SrfBasic.cpp:1695 | 7 | [Surface::u_knots], [Surface::v_knots] |
N_SrfGetParameterBounds | NL_SrfBasic.cpp:1733 | 7 | [Surface::parameter_bounds] |
N_SrfGetKnotVectors | NL_SrfBasic.cpp:1768 | 5 | [Surface::knot_vectors] |
N_SrfGetDegrees | NL_SrfBasic.cpp:1801 | 5 | [Surface::p], [Surface::q], [Surface::degrees] |
N_SrfCompress | NL_SrfBasic.cpp:1842 | 62 | [Surface::compress] |
N_SrfSetSizeIndices | NL_SrfBasic.cpp:1983 | 9 | [Surface::set_size_indices] |
N_SwapUV | NL_SrfBasic.cpp:2025 | 45 | [Surface::swap_uv] |
N_SrfInitArrays | NL_SrfBasic.cpp:2100 | 8 | None / Option::is_none on Option<Surface> |
N_SrfAreArraysNULL | NL_SrfBasic.cpp:2137 | 23 | None / Option::is_none on Option<Surface> |
N_IsSrfRat | NL_SrfBasic.cpp:2188 | 25 | [Surface::is_rational] |
N_SrfIsClosed | NL_SrfBasic.cpp:2323 | 57 | [Surface::is_closed], [Surface::is_closed_tol] |
N_SrfsAreEqual | NL_SrfBasic.cpp:2751 | 75 | [Surface::equals] |
N_SrfSizeArrays | NL_SrfBasic.cpp:3601 | 46 | [size_arrays] |
N_SrfCopy | NL_SrfBasic.cpp:3684 | 45 | [Surface::copy_into], Clone |
N_SrfGetENet | NL_SrfBasic.cpp:4697 | 68 | [Surface::enet] |
N_SrfNonRatToRat | NL_SrfBasic.cpp:4971 | 21 | [Surface::non_rat_to_rat] |
N_MakeSrfsRatCompatible | NL_SrfBasic.cpp:5026 | 33 | [make_rat_compatible] |
N_SrfReparamToInterval | NL_SrfBasic.cpp:5095 | 53 | [Surface::reparam_to_interval] |
N_SrfAreWeightsEqual | NL_SrfBasic.cpp:5479 | 43 | [Surface::are_weights_equal] |
N_SrfMakeNonRat | NL_SrfBasic.cpp:5548 | 21 | [Surface::make_non_rat] |
N_SrfPruneRat | NL_SrfBasic.cpp:5595 | 8 | [Surface::prune_rat] |
N_SrfIsFlatCheap | NL_SrfBasic.cpp:5646 | 103 | [Surface::is_flat_cheap], [Flatness] |
N_SrfGetAverageLen | NL_SrfGeom.cpp:1316 | 85 | [Surface::average_len], [AverageLen] |
Module file-header table (34 rows)
| Rust | Upstream |
|---|---|
[Surface] | NL_SURFACE (with its NL_CNET and NL_KNOTVECTORs) |
[Surface::new], [Surface::with_indices], [SurfaceIndices] | N_SrfFromCNetAndKnotVectors |
[Surface::n], [Surface::m], [Surface::array_sizes] | N_SrfGetArraySizes |
[Surface::p], [Surface::q], [Surface::degrees] | N_SrfGetDegrees |
[Surface::cpt], [Surface::row], [Surface::rows], [Surface::cpts] | N_SrfGetCPts |
[Surface::u_knots], [Surface::v_knots] | N_SrfGetKnots |
[Surface::knot_vectors] | N_SrfGetKnotVectors |
| the accessors above | N_SrfGetNetAndKnotVectors, N_SrfGetCPtsDegreesAndKnots, N_SrfGetCPtsAndKnots, N_SrfGetCPtsKnotVectorAndKnots |
[Surface::set_cpts_and_knots] | N_SrfSetCPtsAndKnots |
[Surface::parameter_bounds] | N_SrfGetParameterBounds |
[Surface::set_size_indices] | N_SrfSetSizeIndices |
[Surface::compress] | N_SrfCompress |
[Surface::swap_uv] | N_SwapUV |
None / Option::is_none on Option<Surface> | N_SrfInitArrays / N_SrfAreArraysNULL |
[size_arrays] | N_SrfSizeArrays |
[Surface::copy_into], Clone | N_SrfCopy |
[Surface::counts_are_valid] | N_SrfCountsAreValid |
[Surface::weights_are_valid] | N_SrfWeightsAreValid |
[Surface::is_valid] | N_SrfIsValid |
[Surface::is_sized] | N_SrfIsSized |
[Surface::is_rational] | N_IsSrfRat |
[Surface::is_closed], [Surface::is_closed_tol] | N_SrfIsClosed |
[Surface::equals] | N_SrfsAreEqual |
[Surface::enet] | N_SrfGetENet |
[Surface::non_rat_to_rat] | N_SrfNonRatToRat |
[make_rat_compatible] | N_MakeSrfsRatCompatible |
[Surface::reparam_to_interval] | N_SrfReparamToInterval |
[Surface::are_weights_equal] | N_SrfAreWeightsEqual |
[Surface::make_non_rat] | N_SrfMakeNonRat |
[Surface::prune_rat] | N_SrfPruneRat |
[Surface::is_flat_cheap], [Flatness] | N_SrfIsFlatCheap |
[Surface::average_len], [AverageLen] | N_SrfGetAverageLen |
[Direction] | NL_UDIR / NL_VDIR / NL_UVDIR |
[WEIGHT_MIN], [WEIGHT_MAX], [WEIGHT_TOL] | NL_WMIN, NL_WMAX, NL_WTOL |
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