Units / nurbs
nurbs.b_spline_surface_n_lib_p2 partial
- Layer
- 18
- Upstream lines
- 1,932
- Functions
- 4
- Rust module
nurbs::b_spline_surface_n_lib::p2
Source: crates/solidcore/src/nurbs/b_spline_surface_n_lib/p2.rs
Upstream: source/SMLib/src/SmBSplineSurfaceNLib.cpp
Notes
PARTIAL: difftest 654 cases (54 fixture + 600 generated), 632 pass bit-identical, 22 deferred (curve.crv_on_surf 17: SmCrvOnSurf::ApproximateCurve in G1 corner blends (surface.surface_p2 GetNaturalUVDomain wired); surface.surface_p3 5, moved from surface.surface_p7 with PR #24); 20k-seed run clean; GetDerivativeLimit co-ported (CO-PORT(surface.surface_p2)); no UNPORTED(nurbs.b_spline_surface_n_lib_p2) stubs existed. 4 fns; largest: SmBSplineSurface::CreateCornerBlend, SmBSplineSurface::Evaluate, SmBSplineSurface::CreateSkinnedSurface, SmBSplineSurface::TrimWithDomain; cycle back-edges (call into later units; stub or co-port): curve.curve_p2(4), surface.surface_p2(3), curve.tangent_field(2), curve.crv_on_surf(1), curve.curve_p3(1), curve.curve_p4(1), surface.surface_p1(1), surface.surface_p3(1), surface.surface_p7(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit PR #106: internal evaluate_with_partial_output retains the derivative matrix written before exhausted zero-tangent correction; SurfaceEval consumes it as upstream does. Public Evaluate still returns its error. Collapsed-surface regressions compare the retained values in surface.surface_point_solve_p2/p3.
Difftest
- Cases
- 654
- Passed
- 632
- Deferred
- 22
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.crv_on_surf partial | 22 |
Report JSON (per-case results)
Dependencies
Depends on: geom.extent1d green geom.extent2d green geom.extent3d green geom.object partial geom.vector2d green geom.vector3d green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p1 green nurbs.b_spline_surface_n_lib_p1 green nurbs.b_spline_surface_p1 green
Soft dependencies: geom.tol green nlib.crv_basic green nlib.crv_tool_p1 green nlib.math green nlib.srf_adv_p1 green nlib.srf_adv_p5 green nlib.srf_basic green nlib.srf_nurb green nlib.srf_tool_p1 green nurbs.b_spline_curve_p2 green
Dependents: nurbs.b_spline_surface_p2 partial surface.cone_p1 green
Soft dependents: blend.fillet_corner_p3 todo blend.fillet_custom_solver partial blend.fillet_geom_p4 todo blend.fillet_standard_solver_p1 claimed blend.hcr claimed primitive.primitive_creation_p3 todo surface.surface_p2 partial sweep.api_surfaces partial topology.brep_p1 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmBSplineSurface::CreateCornerBlend | SmBSplineSurfaceNLib.cpp:3008 | 740 | [BSplineSurface::create_corner_blend], [OrientType] |
SmBSplineSurface::CreateSkinnedSurface | SmBSplineSurfaceNLib.cpp:5269 | 457 | [BSplineSurface::create_skinned_surface], [SkinnedSurfaceOptions] |
SmBSplineSurface::TrimWithDomain | SmBSplineSurfaceNLib.cpp:7455 | 269 | [BSplineSurface::trim_with_domain] |
SmBSplineSurface::Evaluate | SmBSplineSurfaceNLib.cpp:8130 | 466 | [BSplineSurface::evaluate], [EvaluateFlags] |
Module file-header table (4 rows)
| Rust | Upstream |
|---|---|
[BSplineSurface::create_corner_blend], [OrientType] | CreateCornerBlend, SmOrientType |
[BSplineSurface::create_skinned_surface], [SkinnedSurfaceOptions] | CreateSkinnedSurface |
[BSplineSurface::trim_with_domain] | TrimWithDomain |
[BSplineSurface::evaluate], [EvaluateFlags] | Evaluate |
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