Units / curve
curve.curve_p9 green
- Layer
- 23
- Upstream lines
- 1,783
- Functions
- 8
- Rust module
curve::curve::p9
Source: crates/solidcore/src/curve/curve/p9.rs
Upstream: source/SMLib/src/SmCurve.cpp
Notes
GREEN: difftest 3093 cases (93 fixture + 3000 generated), 0 deferred, max_rel_err 0 (bit-identical); 30,093-case run clean. Shim covers SmEllipse (kind 3) as well as B-spline, Hermite and line. Wired SmCCGlobalSolver::LocalSolve stub in curve.curve_p2 (CcGlobalSolver now carries its curves and kernel). 8 fns; largest: SmCCGlobalSolver::LocalSolve, SmCurve::GlobalCurveSolve, sm_SolveMinSignedAngle, SmCurve::CalculateTightBoundingBox; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 3,093
- Passed
- 3,093
- 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: curve.curve_cache green curve.curve_p2 green curve.curve_p3 green curve.curve_p4 partial curve.curve_p5 partial curve.curve_p6 green curve.curve_p7 green curve.curve_p8 green geom.a_object partial geom.extent1d green geom.extent3d green geom.geom_utility_p1 green geom.geom_utility_p2 green geom.global_solver partial geom.object partial geom.pseudo_box green geom.solution_array partial geom.vector3d green
Soft dependencies: curve.line green geom.tol green geom.tree partial nurbs.b_spline_curve_p1 green
Dependents: none
Soft dependents: blend.fillet_geom_p5 todo blend.hcr claimed intersect.surface_drop_curve partial intersect.topology_solver_p1 partial primitive.primitive_creation_p2 todo query.edge partial surface.b_spline_volume_n_lib partial surface.bend_volume green surface.surf_of_extrusion_p1 green topology.trimming_tools partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurve::GlobalCurveSelfIntersect | SmCurve.cpp:8183 | 11 | [Curve::global_curve_self_intersect] |
SmCCGlobalSolver::LocalSolve | SmCurve.cpp:8516 | 1087 | [CcGlobalSolver::local_solve_branch] |
sm_SolveMinSignedAngle | SmCurve.cpp:9611 | 184 | solve_min_signed_angle (private) |
SmCurve::CalculateTightBoundingBox | SmCurve.cpp:10244 | 67 | [Curve::calculate_tight_bounding_box] |
SmCurve::CalculateTightPseudoBox | SmCurve.cpp:10318 | 49 | [Curve::calculate_tight_pseudo_box], [Curve::calculate_tight_pseudo_box_into] |
SmCurve::GlobalCurveSolve | SmCurve.cpp:10536 | 299 | [Curve::global_curve_solve], [CurveSolveOptions] |
SmCurve::IsOnPlane | SmCurve.cpp:14140 | 41 | [Curve::is_on_plane], [is_on_plane_base] |
SmCurve::IsOnPositiveSideOfPlanes | SmCurve.cpp:14317 | 45 | [Curve::is_on_positive_side_of_planes] |
Module file-header table (8 rows)
| Rust | Upstream |
|---|---|
[CcGlobalSolver::local_solve_branch] | SmCCGlobalSolver::LocalSolve |
solve_min_signed_angle (private) | sm_SolveMinSignedAngle (static) |
[Curve::global_curve_solve], [CurveSolveOptions] | SmCurve::GlobalCurveSolve |
[Curve::global_curve_self_intersect] | SmCurve::GlobalCurveSelfIntersect |
[Curve::calculate_tight_bounding_box] | CalculateTightBoundingBox (virtual: SmCurve, the SmLine override) |
[Curve::calculate_tight_pseudo_box], [Curve::calculate_tight_pseudo_box_into] | SmCurve::CalculateTightPseudoBox |
[Curve::is_on_plane], [is_on_plane_base] | IsOnPlane (virtual: SmCurve, the SmBSplineCurve override) |
[Curve::is_on_positive_side_of_planes] | SmCurve::IsOnPositiveSideOfPlanes |
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