Units / nurbs
nurbs.b_spline_curve_p3 partial
- Layer
- 13
- Upstream lines
- 1,187
- Functions
- 9
- Rust module
nurbs::b_spline_curve::p3
Source: crates/solidcore/src/nurbs/b_spline_curve/p3.rs
Upstream: source/SMLib/src/SmBSplineCurve.cpp
Notes
difftest partial: 2195 cases, 2036 passed, 159 deferred (curve.curve_p5 159) after curve.curve_p8 wired SmCurve::GlobalCurveIntersect (TrimGap); difftest partial: 2195 cases, 1995 passed, 200 deferred (curve.curve_p7 98, curve.curve_p8 56, curve.curve_p4 46) after curve.curve_cache co-ported SmCurve::IsLine; difftest partial: 2195 cases, 1836 passed, 359 deferred (curve.curve_p5 188, curve.curve_p7 69, curve.curve_p8 56, curve.curve_p4 46) after curve.curve_p2 wired its stubs (was 966 deferred, curve.curve_p2 734); 9 fns; largest: SmBSplineCurve::AssertValid, SmBSplineCurve::JoinWith, SmBSplineCurve::TrimGap, SmBSplineCurve::IsSegmentLine; cycle back-edges (call into later units; stub or co-port): curve.curve_p2(6), curve.line(3), curve.curve_p4(1), curve.curve_p7(1), curve.curve_p8(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit; after curve.curve_p4 (SmCurve::AssertValid wired): 2195 cases, 2023 pass, 172 deferred (curve.curve_p7 116, curve.curve_p8 56); after curve.curve_p7 (GlobalPropertyAnalysis wired): 2195 cases, 2023 pass, 172 deferred (curve.curve_p5 116, curve.curve_p8 56)
Difftest
- Cases
- 2,195
- Passed
- 2,189
- Deferred
- 6
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.curve_p2 green | 6 |
Report JSON (per-case results)
Dependencies
Depends on: geom.assert_array green geom.axis2_placement green geom.extent1d green geom.geom_utility_p1 green geom.object partial geom.solution_array partial geom.tol green geom.vector3d green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p1 green nurbs.b_spline_curve_p2 green
Soft dependencies: geom.context green geom.extent3d green geom.vector2d green nlib.geom green nlib.math green
Dependents: curve.ellipse_p1 green curve.line green
Soft dependents: blend.fillet_corner_p3 todo blend.fillet_custom_solver partial blend.fillet_standard_solver_p1 claimed curve.composite_curve_p1 green curve.curve_p5 partial intersect.surface_intersector_p4 partial nurbs.b_spline_surface_p2 partial primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo surface.surf_of_extrusion_p1 green surface.surf_of_revolution_p1 green surface.surface_cache_p1 green sweep.rotational_sweep_geometry partial topology.brep_p5 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmBSplineCurve::CreateByScaleTransRot | SmBSplineCurve.cpp:1447 | 57 | [BSplineCurve::create_by_scale_trans_rot] |
SmBSplineCurve::HasInternalPole | SmBSplineCurve.cpp:3701 | 79 | [BSplineCurve::has_internal_pole] |
SmBSplineCurve::IsSegmentLine | SmBSplineCurve.cpp:4911 | 108 | [BSplineCurve::is_segment_line], [SegmentLine] |
SmBSplineCurve::GetControlPoint | SmBSplineCurve.cpp:5052 | 23 | [BSplineCurve::control_point] |
SmBSplineCurve::IsOnPlane | SmBSplineCurve.cpp:5433 | 78 | [BSplineCurve::is_on_plane], [OnPlane] |
SmBSplineCurve::JoinWith | SmBSplineCurve.cpp:5517 | 149 | [BSplineCurve::join_with] |
SmBSplineCurve::SubdivideAtDiscontinuity | SmBSplineCurve.cpp:6371 | 50 | [BSplineCurve::subdivide_at_discontinuity] |
SmBSplineCurve::TrimGap | SmBSplineCurve.cpp:6870 | 143 | [BSplineCurve::trim_gap], [GapFix] |
SmBSplineCurve::AssertValid | SmBSplineCurve.cpp:7612 | 500 | [BSplineCurve::assert_valid] |
Module file-header table (9 rows)
| Rust | Upstream |
|---|---|
[BSplineCurve::create_by_scale_trans_rot] | CreateByScaleTransRot |
[BSplineCurve::has_internal_pole] | HasInternalPole |
[BSplineCurve::is_segment_line], [SegmentLine] | IsSegmentLine |
[BSplineCurve::control_point] | GetControlPoint |
[BSplineCurve::is_on_plane], [OnPlane] | IsOnPlane |
[BSplineCurve::join_with] | JoinWith |
[BSplineCurve::subdivide_at_discontinuity] | SubdivideAtDiscontinuity |
[BSplineCurve::trim_gap], [GapFix] | TrimGap |
[BSplineCurve::assert_valid] | AssertValid |
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