solidcore

Units / curve

curve.curve_p3 green

Layer
17
Upstream lines
2,072
Functions
9
Rust module
curve::curve::p3

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

Upstream: source/SMLib/src/SmCurve.cpp

Notes

GREEN (PR #119): difftest 3076 cases (76 fixtures plus 3000 generated), all pass bit-identically, zero deferred. Wiring mass.integrator resolves the remaining 85 FindParameterAtArcLength / curved Length cases. Co-ported SmCurve::IsLinear (curve.curve_p5) and SmCCTangentIntENFO::Evaluate; curve.curve_p5 calls are wired. 9 fns; largest: SmCurvePropertyGS::LocalSolve, SmCurve::LocalPointSolve, SmCurve::LocalCurveSolve, SmCurve::LocalCurveIntersect; cycle back-edges (call into later units; stub or co-port): curve.curve_p5(7); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit

Difftest

Cases
3,076
Passed
3,076
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_p4 partial geom.extent1d green geom.global_solver partial geom.local_solve1d green geom.local_solve_nd green geom.matrix green geom.object partial geom.solution_array partial geom.vector3d green nurbs.b_spline_curve_p1 green

Soft dependencies: curve.curve_cache green curve.projected_curve green geom.geom_utility_p1 green geom.pseudo_box green geom.tol green geom.tree partial nurbs.b_spline_curve_p2 green

Dependents: curve.composite_curve_p1 green curve.crv_on_surf partial curve.curve_p1 partial curve.curve_p6 green curve.curve_p7 green curve.curve_p9 green

Soft dependents: blend.fillet_geom_p2 todo blend.fillet_geom_p4 todo blend.fillet_intersector claimed intersect.curve_class_p1 partial intersect.curve_class_p2 claimed intersect.surface_intersector_p1 partial intersect.surface_tracer partial primitive.primitive_creation_p1 claimed primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo query.loop green surface.surface_p10 partial surface.surface_p2 partial surface.surface_p5 green surface.surface_p6 green surface.surface_p9 partial surface.surface_point_solve_p3 green topology.brep_p1 claimed

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmCurve::ComputeCrvsNormalSmCurve.cpp:74383[compute_crvs_normal]
SmCurve::CrvsFixGapsSmCurve.cpp:118493[crvs_fix_gaps], [FixedGaps]
SmCurve::FindParameterAtArcLengthSmCurve.cpp:3928227[Curve::find_parameter_at_arc_length], [ArcLengthParameter]
SmCurvePropertyGS::LocalSolveSmCurve.cpp:12481398CurvePropertyGs::local_solve_branch ([GlobalSolve::local_solve] of [CurvePropertyGs])
SmCurve::LocalCurveIntersectSmCurve.cpp:16855269[local_curve_intersect], [CurveIntersection]
SmCurve::LocalCurveSolveSmCurve.cpp:17877297[Curve::local_curve_solve], [local_curve_solve]
SmFindPCExtremaEFO::EvaluateSmCurve.cpp:18258156EvalFunction for [FindPcExtremaEfo]
SmBestLineFitENFO::EvaluateSmCurve.cpp:18750247EvalFunction for [FindPcExtremaEfo]
SmCurve::LocalPointSolveSmCurve.cpp:19016302[Curve::local_point_solve], [PointSolveOptions]
Module file-header table (10 rows)
RustUpstream
[compute_crvs_normal]SmCurve::ComputeCrvsNormal (static)
[crvs_fix_gaps], [FixedGaps]SmCurve::CrvsFixGaps (static)
[Curve::find_parameter_at_arc_length], [ArcLengthParameter]SmCurve::FindParameterAtArcLength
[Curve::local_point_solve], [PointSolveOptions]SmCurve::LocalPointSolve
[Curve::local_curve_solve], [local_curve_solve]SmCurve::LocalCurveSolve
[local_curve_intersect], [CurveIntersection]SmCurve::LocalCurveIntersect
CurvePropertyGs::local_solve_branch ([GlobalSolve::local_solve] of [CurvePropertyGs])SmCurvePropertyGS::LocalSolve
EvalFunction for [FindPcExtremaEfo]SmFindPCExtremaEFO::Evaluate
[BestLineFitEnfo]SmBestLineFitENFO (class, constructor, HasIntervals, SetIntervals, Evaluate)
EvalNFunctions for [CcTangentIntEnfo]SmCCTangentIntENFO::Evaluate (co-ported, unit curve.curve_p5)

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