solidcore

Units / curve

curve.curve_p6 green

Layer
18
Upstream lines
2,376
Functions
8
Rust module
curve::curve::p6

Source: crates/solidcore/src/curve/curve/p6.rs

Upstream: source/SMLib/src/SmCurve.cpp

Notes

GREEN (promoted by curve.curve_p5: 3136 cases, 0 deferred after its stubs were wired); PARTIAL: difftest 3136 cases (136 fixture: SM_API_test rectangle/hexagon edges (boxes, planarity, simple/global coincidence, gaps, drops), my_test_reversed_line_join line pairs x16 (simple coincidence, gaps, drops, GlobalPointSolveSTEP), smCurveTest DeformToEndPointTargets B-spline and line steps, my_test_drop_point-style drops, circle boxes, edge cases + 3000 generated), 3048 pass bit-identical (max_rel_err 0), 88 deferred (curve.curve_p5 88: SmFindCCNormalENFO::Evaluate in precise gaps, sm_IsPointSolutionAcrossClosedSeamBoundary in split recombination, LocalPropertyAnalysis/IsArc inside global solves); 30k-seed run clean; --perturb SENSITIVE; wired curve.curve_p1 (GlobalPointSolve, Tessellate, ApproximateCurve) at merge; ellipse GlobalCoincidenceChecker stub retagged UNPORTED(curve.ellipse_p1) (SmEllipse not a CurveKind; curve.ellipse_p2 stays partial, 1 case moved to ellipse_p1); geom.tools stubs kept (opaque handles, findings.md); GlobalCoincidenceChecker recursion bounded at 200 splits. 8 fns; largest: SmCurve::GlobalCoincidenceChecker, SmCurve::SimpleCoincidenceChecker, SmCurve::CurveMaxDistanceBetween, SmCurve::CalculateBoundingBox; cycle back-edges (call into later units; stub or co-port): curve.curve_p1(5), curve.crv_on_surf(3), curve.curve_p5(2), surface.surface_p1(1), surface.surface_p2(1), surface.surface_p5(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit

Difftest

Cases
3,136
Passed
3,136
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_p2 green curve.curve_p3 green curve.curve_p4 partial geom.extent1d green geom.extent3d green geom.global_solver partial geom.object partial geom.polar_box green geom.pseudo_box green geom.solution_array partial geom.tol green geom.vector2d green geom.vector3d green nurbs.b_spline_curve_p1 green

Soft dependencies: curve.line green geom.extent2d green nurbs.b_spline_curve_n_lib green

Dependents: curve.composite_curve_p1 green curve.crv_on_surf partial curve.curve_p7 green curve.curve_p8 green curve.curve_p9 green heal.stitch_p1 claimed heal.stitch_p2 claimed

Soft dependents: blend.fillet_corner_p3 todo blend.fillet_custom_solver partial blend.fillet_geom_p2 todo blend.fillet_geom_p3 todo blend.fillet_geom_p4 todo blend.fillet_geom_p5 todo blend.fillet_geom_p6 todo blend.fillet_solver_p1 claimed blend.fillet_solver_p2 todo blend.fillet_solver_p4 claimed blend.fillet_standard_solver_p1 claimed blend.fillet_standard_solver_p2 todo blend.hcr claimed boolean.topology_intersector_p1 partial boolean.topology_intersector_p2 claimed boolean.topology_intersector_p3 claimed heal.gap partial intersect.curve_class_p1 partial intersect.curve_class_p3 partial intersect.curve_class_p6 partial intersect.curve_class_p7 partial intersect.curve_class_p9 partial intersect.point_class partial intersect.surface_drop_curve partial intersect.surface_intersector_p1 partial intersect.surface_intersector_p3 partial intersect.surface_tracer partial intersect.topology_solver_p2 partial offset.offset_executive_p1 claimed offset.offset_geometry_creation claimed primitive.primitive_creation_p1 claimed primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo query.edge partial query.face_p1 claimed query.loop green surface.b_spline_volume_n_lib partial surface.cone_p1 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.surface_p10 partial surface.surface_p6 green surface.surface_p8 partial surface.surface_p9 partial surface.surface_point_solve_p1 green surface.unbend_volume green topology.brep_cache partial topology.brep_p1 claimed topology.brep_p2 claimed topology.brep_p5 claimed topology.brep_p7 claimed topology.edgeuse_p2 partial topology.face_p2 partial topology.face_p3 claimed topology.proto_topology_p1 partial topology.proto_topology_p3 partial topology.trimming_tools partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmCurve::CurveMaxDistanceBetweenSmCurve.cpp:2507395[Curve::curve_max_distance_between], [MaxDistance]
SmCurve::DropPointSmCurve.cpp:3290187[Curve::drop_point], [Curve::drop_point_base], [DroppedPoint]
SmCurve::CalculateBoundingBoxSmCurve.cpp:9997229[Curve::calculate_bounding_box], [calculate_bounding_box_base]
SmCurve::GlobalPointSolveSTEPSmCurve.cpp:1192726[Curve::global_point_solve_step]
SmCurve::IsPlanarSmCurve.cpp:1388016[Curve::is_planar]
SmCurve::SimpleCoincidenceCheckerSmCurve.cpp:19413495[Curve::simple_coincidence_checker]
SmCurve::GlobalCoincidenceCheckerSmCurve.cpp:19950857[Curve::global_coincidence_checker], [Coincidence]
SmCurve::DeformToEndPointTargetsSmCurve.cpp:21563171[Curve::deform_to_end_point_targets]
Module file-header table (8 rows)
RustUpstream
[Curve::calculate_bounding_box], [calculate_bounding_box_base]SmCurve::CalculateBoundingBox (and its dispatch, with the SmCrvOnSurf override)
[Curve::is_planar]SmCurve::IsPlanar
[Curve::drop_point], [Curve::drop_point_base], [DroppedPoint]DropPoint (virtual: the SmCrvOnSurf override), SmCurve::DropPoint
[Curve::global_point_solve_step]SmCurve::GlobalPointSolveSTEP (and its dispatch)
[Curve::curve_max_distance_between], [MaxDistance]SmCurve::CurveMaxDistanceBetween
[Curve::simple_coincidence_checker]SmCurve::SimpleCoincidenceChecker
[Curve::global_coincidence_checker], [Coincidence]SmCurve::GlobalCoincidenceChecker
[Curve::deform_to_end_point_targets]SmCurve::DeformToEndPointTargets

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