solidcore

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 functionDefined atLinesRust (from the file header)
SmCurve::GlobalCurveSelfIntersectSmCurve.cpp:818311[Curve::global_curve_self_intersect]
SmCCGlobalSolver::LocalSolveSmCurve.cpp:85161087[CcGlobalSolver::local_solve_branch]
sm_SolveMinSignedAngleSmCurve.cpp:9611184solve_min_signed_angle (private)
SmCurve::CalculateTightBoundingBoxSmCurve.cpp:1024467[Curve::calculate_tight_bounding_box]
SmCurve::CalculateTightPseudoBoxSmCurve.cpp:1031849[Curve::calculate_tight_pseudo_box], [Curve::calculate_tight_pseudo_box_into]
SmCurve::GlobalCurveSolveSmCurve.cpp:10536299[Curve::global_curve_solve], [CurveSolveOptions]
SmCurve::IsOnPlaneSmCurve.cpp:1414041[Curve::is_on_plane], [is_on_plane_base]
SmCurve::IsOnPositiveSideOfPlanesSmCurve.cpp:1431745[Curve::is_on_positive_side_of_planes]
Module file-header table (8 rows)
RustUpstream
[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