Units / nurbs
nurbs.b_spline_surface_n_lib_p1 green
- Layer
- 17
- Upstream lines
- 2,033
- Functions
- 23
- Rust module
nurbs::b_spline_surface_n_lib::p1
Source: crates/solidcore/src/nurbs/b_spline_surface_n_lib/p1.rs
Upstream: source/SMLib/src/SmBSplineSurfaceNLib.cpp
Notes
difftest: 665 cases (65 fixtures + 600 generated), 638 pass bit-identical, 27 deferred (surface.surface_p5: SmSurface::IsSingularity in CreateExtendedSurface; then surface.surface_p7 IsClosed); DropCurve path of sm_CreateNonRationalCurve not diffed (upstream crash, see findings). 23 fns; largest: sm_CreateCoonsSrf, SmBSplineSurface::CreateExtendedSurface, SmBSplineSurface::CreateCoonsPatch, SmBSplineSurface::CreateNSidedPatch; cycle back-edges (call into later units; stub or co-port): surface.surface_p2(4), curve.curve_p2(1), intersect.surface_drop_lib_p3(1), surface.surface_p5(1), surface.surface_p7(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit Re-run with surface.surface_p5's back-edges wired (PR #50): cases=665 passed=638 failed=0 deferred=27 max_rel_err=0e0 blocked_by=surface.surface_p3(27). GREEN (PR #52, after merging surface_p4/#49 and surface_p5/#50): GetSingularities wired, 665/665 pass, 0 deferred.
Difftest
- Cases
- 665
- Passed
- 665
- 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: geom.extent1d green geom.extent2d green geom.object partial geom.vector3d green nlib.crv_basic green nlib.geom green nlib.math green nlib.srf_adv_p3 green nlib.srf_basic green nlib.srf_nurb green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p1 green nurbs.b_spline_surface_p1 green
Soft dependencies: geom.tol green geom.vector2d green nlib.crv_adv_p2 green nlib.crv_nurb green nlib.crv_tool_p2 green nlib.knots green nlib.srf_adv_p1 green nlib.srf_adv_p4 green nlib.srf_adv_p6 green nlib.srf_common green nlib.srf_offset green nlib.srf_tool_p3 green nlib.srf_tool_p4 green
Dependents: nurbs.b_spline_surface_n_lib_p2 partial nurbs.b_spline_surface_p2 partial primitive.primitive_creation_p3 todo surface.cone_p2 claimed surface.plane_p1 partial surface.plane_p2 partial surface.sphere green surface.surf_of_extrusion_p1 green surface.surf_of_extrusion_p2 partial surface.surf_of_revolution_p1 green surface.surf_of_revolution_p2 partial surface.surf_of_revolution_p3 partial surface.torus green
Soft dependents: blend.fillet_custom_solver partial blend.fillet_geom_p1 claimed blend.fillet_geom_p4 todo blend.fillet_standard_solver_p1 claimed offset.offset_executive_p1 claimed offset.offset_geometry_creation claimed sweep.api_surfaces partial sweep.trans_sweep_geometry partial topology.brep_p1 claimed topology.brep_p3 claimed topology.face_p1 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
sm_BuildNlibCurve | SmBSplineSurfaceNLib.cpp:59 | 14 | [build_nlib_curve] |
sm_CreateNlibCurve | SmBSplineSurfaceNLib.cpp:79 | 15 | [create_nlib_curve] |
sm_CreateNlibSurface | SmBSplineSurfaceNLib.cpp:100 | 19 | [create_nlib_surface] |
SmBSplineSurface::ApproximateOffsetSurface | SmBSplineSurfaceNLib.cpp:212 | 70 | [BSplineSurface::approximate_offset_surface], [OffsetParamType] |
sm_CreateNonRationalCurve | SmBSplineSurfaceNLib.cpp:2906 | 65 | [create_non_rational_curve] |
sm_CreateCoonsSrf | SmBSplineSurfaceNLib.cpp:3813 | 434 | [create_coons_srf], [CoonsWarning] |
SmBSplineSurface::CreateCoonsPatch | SmBSplineSurfaceNLib.cpp:4296 | 144 | [BSplineSurface::create_coons_patch] |
SmBSplineSurface::CreateExtendedSurface | SmBSplineSurfaceNLib.cpp:4448 | 13 | [BSplineSurface::create_extended_surface] |
SmBSplineSurface::CreateExtendedSurface | SmBSplineSurfaceNLib.cpp:4469 | 382 | [BSplineSurface::create_extended_surface] |
SmBSplineSurface::JoinSurface | SmBSplineSurfaceNLib.cpp:4882 | 43 | [BSplineSurface::join_surface] |
SmBSplineSurface::CreateNSidedPatch | SmBSplineSurfaceNLib.cpp:4935 | 110 | [BSplineSurface::create_n_sided_patch] |
SmBSplineSurface::CreateRuledSurface | SmBSplineSurfaceNLib.cpp:5056 | 54 | [BSplineSurface::create_ruled_surface] |
sm_MakeKnots | SmBSplineSurfaceNLib.cpp:5191 | 59 | [make_knots] |
SmBSplineSurface::CreateSweepSurface | SmBSplineSurfaceNLib.cpp:5752 | 100 | [BSplineSurface::create_sweep_surface] |
SmBSplineSurface::CreateSwungSurface | SmBSplineSurfaceNLib.cpp:6209 | 41 | [BSplineSurface::create_swung_surface] |
SmBSplineSurface::EvaluatePointOnExtendedSurface | SmBSplineSurfaceNLib.cpp:6356 | 37 | [BSplineSurface::evaluate_point_on_extended_surface] |
SmBSplineSurface::Reparameterize | SmBSplineSurfaceNLib.cpp:7131 | 33 | [BSplineSurface::reparameterize] |
SmBSplineSurface::Reverse | SmBSplineSurfaceNLib.cpp:7223 | 39 | [BSplineSurface::reverse] |
sm_CheckTrimBoundaries | SmBSplineSurfaceNLib.cpp:7349 | 62 | [check_trim_boundaries] |
SmBSplineSurface::ExpandBoundarySpan | SmBSplineSurfaceNLib.cpp:7901 | 68 | [BSplineSurface::expand_boundary_span] |
sm_check_zero_surface_derivs | SmBSplineSurfaceNLib.cpp:7982 | 93 | [check_zero_surface_derivs] |
SmBSplineSurface::EvaluateSimple | SmBSplineSurfaceNLib.cpp:8603 | 73 | [BSplineSurface::evaluate_simple] |
SmBSplineSurface::EvaluatePoint | SmBSplineSurfaceNLib.cpp:8683 | 65 | [BSplineSurface::evaluate_point] |
Module file-header table (23 rows)
| Rust | Upstream |
|---|---|
[build_nlib_curve] | sm_BuildNlibCurve (static) |
[create_nlib_curve] | sm_CreateNlibCurve (static) |
[create_nlib_surface] | sm_CreateNlibSurface (static) |
[BSplineSurface::approximate_offset_surface], [OffsetParamType] | ApproximateOffsetSurface |
[create_non_rational_curve] | sm_CreateNonRationalCurve (static) |
[create_coons_srf], [CoonsWarning] | sm_CreateCoonsSrf (static) |
[BSplineSurface::create_coons_patch] | CreateCoonsPatch |
[BSplineSurface::create_extended_surface] | CreateExtendedSurface (distance from each side) |
[BSplineSurface::create_extended_surface_dir] | CreateExtendedSurface (with SmSurfParamType) |
[BSplineSurface::join_surface] | JoinSurface |
[BSplineSurface::create_n_sided_patch] | CreateNSidedPatch |
[BSplineSurface::create_ruled_surface] | CreateRuledSurface |
[make_knots] | sm_MakeKnots (static) |
[BSplineSurface::create_sweep_surface] | CreateSweepSurface (single section) |
[BSplineSurface::create_swung_surface] | CreateSwungSurface |
[BSplineSurface::evaluate_point_on_extended_surface] | EvaluatePointOnExtendedSurface |
[BSplineSurface::reparameterize] | Reparameterize |
[BSplineSurface::reverse] | Reverse |
[check_trim_boundaries] | sm_CheckTrimBoundaries (static) |
[BSplineSurface::expand_boundary_span] | ExpandBoundarySpan |
[check_zero_surface_derivs] | sm_check_zero_surface_derivs (static) |
[BSplineSurface::evaluate_simple] | EvaluateSimple |
[BSplineSurface::evaluate_point] | EvaluatePoint |
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