solidcore

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 functionDefined atLinesRust (from the file header)
sm_BuildNlibCurveSmBSplineSurfaceNLib.cpp:5914[build_nlib_curve]
sm_CreateNlibCurveSmBSplineSurfaceNLib.cpp:7915[create_nlib_curve]
sm_CreateNlibSurfaceSmBSplineSurfaceNLib.cpp:10019[create_nlib_surface]
SmBSplineSurface::ApproximateOffsetSurfaceSmBSplineSurfaceNLib.cpp:21270[BSplineSurface::approximate_offset_surface], [OffsetParamType]
sm_CreateNonRationalCurveSmBSplineSurfaceNLib.cpp:290665[create_non_rational_curve]
sm_CreateCoonsSrfSmBSplineSurfaceNLib.cpp:3813434[create_coons_srf], [CoonsWarning]
SmBSplineSurface::CreateCoonsPatchSmBSplineSurfaceNLib.cpp:4296144[BSplineSurface::create_coons_patch]
SmBSplineSurface::CreateExtendedSurfaceSmBSplineSurfaceNLib.cpp:444813[BSplineSurface::create_extended_surface]
SmBSplineSurface::CreateExtendedSurfaceSmBSplineSurfaceNLib.cpp:4469382[BSplineSurface::create_extended_surface]
SmBSplineSurface::JoinSurfaceSmBSplineSurfaceNLib.cpp:488243[BSplineSurface::join_surface]
SmBSplineSurface::CreateNSidedPatchSmBSplineSurfaceNLib.cpp:4935110[BSplineSurface::create_n_sided_patch]
SmBSplineSurface::CreateRuledSurfaceSmBSplineSurfaceNLib.cpp:505654[BSplineSurface::create_ruled_surface]
sm_MakeKnotsSmBSplineSurfaceNLib.cpp:519159[make_knots]
SmBSplineSurface::CreateSweepSurfaceSmBSplineSurfaceNLib.cpp:5752100[BSplineSurface::create_sweep_surface]
SmBSplineSurface::CreateSwungSurfaceSmBSplineSurfaceNLib.cpp:620941[BSplineSurface::create_swung_surface]
SmBSplineSurface::EvaluatePointOnExtendedSurfaceSmBSplineSurfaceNLib.cpp:635637[BSplineSurface::evaluate_point_on_extended_surface]
SmBSplineSurface::ReparameterizeSmBSplineSurfaceNLib.cpp:713133[BSplineSurface::reparameterize]
SmBSplineSurface::ReverseSmBSplineSurfaceNLib.cpp:722339[BSplineSurface::reverse]
sm_CheckTrimBoundariesSmBSplineSurfaceNLib.cpp:734962[check_trim_boundaries]
SmBSplineSurface::ExpandBoundarySpanSmBSplineSurfaceNLib.cpp:790168[BSplineSurface::expand_boundary_span]
sm_check_zero_surface_derivsSmBSplineSurfaceNLib.cpp:798293[check_zero_surface_derivs]
SmBSplineSurface::EvaluateSimpleSmBSplineSurfaceNLib.cpp:860373[BSplineSurface::evaluate_simple]
SmBSplineSurface::EvaluatePointSmBSplineSurfaceNLib.cpp:868365[BSplineSurface::evaluate_point]
Module file-header table (23 rows)
RustUpstream
[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