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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurve::ComputeCrvsNormal | SmCurve.cpp:743 | 83 | [compute_crvs_normal] |
SmCurve::CrvsFixGaps | SmCurve.cpp:1184 | 93 | [crvs_fix_gaps], [FixedGaps] |
SmCurve::FindParameterAtArcLength | SmCurve.cpp:3928 | 227 | [Curve::find_parameter_at_arc_length], [ArcLengthParameter] |
SmCurvePropertyGS::LocalSolve | SmCurve.cpp:12481 | 398 | CurvePropertyGs::local_solve_branch ([GlobalSolve::local_solve] of [CurvePropertyGs]) |
SmCurve::LocalCurveIntersect | SmCurve.cpp:16855 | 269 | [local_curve_intersect], [CurveIntersection] |
SmCurve::LocalCurveSolve | SmCurve.cpp:17877 | 297 | [Curve::local_curve_solve], [local_curve_solve] |
SmFindPCExtremaEFO::Evaluate | SmCurve.cpp:18258 | 156 | EvalFunction for [FindPcExtremaEfo] |
SmBestLineFitENFO::Evaluate | SmCurve.cpp:18750 | 247 | EvalFunction for [FindPcExtremaEfo] |
SmCurve::LocalPointSolve | SmCurve.cpp:19016 | 302 | [Curve::local_point_solve], [PointSolveOptions] |
Module file-header table (10 rows)
| Rust | Upstream |
|---|---|
[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