Units / curve
curve.curve_p5 partial
- Layer
- 22
- Upstream lines
- 2,299
- Functions
- 19
- Rust module
curve::curve::p5
Source: crates/solidcore/src/curve/curve/p5.rs
Upstream: source/SMLib/inc/SmCurve.h, source/SMLib/src/SmCurve.cpp
Notes
PARTIAL: difftest 3097 cases (97 upstream-derived + edge-case fixtures: TestSmCreateRectangle/RegularPolygon edges, my_test_reversed_line_join lines, closest-point inversions, Newton Jacobians; plus 3000 generated over 16 ops), 3095 pass bit-identical, 2 deferred (curve.curve_p2 2: GetNaturalInterval through a solution handle); mass.integrator wired in PR #119: all 28 curved Length cases now pass; 20000-seed run clean; --perturb detects all; wired all 13 UNPORTED(curve.curve_p5) stubs, promoting 12 units to green; upstream CrvsCleanup/TrimGap crash next to a closed curve not generated (see findings); 19 fns; largest: SmFindCCNormalENFO::Evaluate, SmCCIntersectENFO::Evaluate, SmCurve::IsArc, SmCurve::LocalPropertyAnalysis; cycle back-edges (call into later units; stub or co-port): curve.ellipse_p1(2), mass.integrator(2); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 3,097
- Passed
- 3,095
- Deferred
- 2
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.curve_p2 green | 2 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_cache green curve.curve_p2 green curve.curve_p4 partial geom.a_object partial geom.extent1d green geom.extent2d green geom.geom_utility_p1 green geom.local_solve1d green geom.matrix green geom.object partial geom.tol green geom.vector3d green nurbs.b_spline_curve_p1 green
Soft dependencies: curve.composite_curve_p1 green curve.conic green curve.crv_in_volume partial curve.crv_on_surf partial curve.ellipse_p2 green curve.hermite_curve green curve.hyperbola green curve.iso_curve green curve.line green curve.offset_curve green curve.parabola green curve.projected_curve green curve.tangent_field green geom.axis2_placement green geom.solution_array partial geom.vector2d green nurbs.b_spline_curve_p3 partial
Dependents: curve.curve_p9 green surface.surf_of_revolution_p3 partial
Soft dependents: blend.fillet_corner_p1 todo blend.fillet_custom_solver partial blend.fillet_geom_p4 todo 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 mass.integrator 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.loop green surface.cone_p2 claimed surface.plane_p1 partial surface.surf_of_extrusion_p1 green surface.surf_of_revolution_p1 green surface.surf_of_revolution_p2 partial surface.surface_cache_p2 partial surface.surface_p9 partial surface.surface_point_solve_p3 green topology.brep_p1 claimed topology.brep_p3 claimed topology.brep_p5 claimed topology.brep_p9 claimed topology.vertex partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurve::SmCurve | SmCurve.h:1227 | 12 | [Curve] (construction, [Clone]) |
SmCurve::SmCurve | SmCurve.h:1245 | 12 | [Curve] (construction, [Clone]) |
SmCurve::CrvsCleanup | SmCurve.cpp:1106 | 60 | [crvs_cleanup], [CleanedCurves] |
SmCurve::RemoveDuplicateCurves | SmCurve.cpp:1329 | 55 | [remove_duplicate_curves] |
SmCurve::EvaluateSTEPPoint | SmCurve.cpp:3554 | 11 | [Curve::evaluate_step_point] |
sm_IsPointSolutionAcrossClosedSeamBoundary | SmCurve.cpp:4259 | 45 | [is_point_solution_across_closed_seam_boundary] |
sm_FindAdditionalCcTangentGuess | SmCurve.cpp:4310 | 134 | [find_additional_cc_tangent_guess] |
SmCurve::CacheMakeOrValidate | SmCurve.cpp:9817 | 153 | [make_curve_cache], [validate_curve_cache] |
sm_FindAdditionalCpGuess | SmCurve.cpp:12398 | 77 | [find_additional_cp_guess] |
SmCurve::IsArc | SmCurve.cpp:13386 | 217 | [is_arc_base], [Curve::is_arc] |
SmCurve::IsLine | SmCurve.cpp:13665 | 75 | [is_line_base], [Curve::is_line] |
SmCurve::IsLinear | SmCurve.cpp:13754 | 116 | [Curve::is_linear], [Linearity] |
SmCurve::IsDomainBoundary | SmCurve.cpp:14460 | 64 | [Curve::is_domain_boundary] |
SmCurve::IsPeriodic | SmCurve.cpp:14540 | 22 | [is_periodic], [Curve::is_periodic] |
SmCurve::Length | SmCurve.cpp:14611 | 104 | [Curve::length], [Curve::length_base] |
SmCurve::LocalPropertyAnalysis | SmCurve.cpp:15885 | 179 | [local_property_analysis] |
SmCCTangentIntENFO::Evaluate | SmCurve.cpp:16178 | 15 | [CcTangentIntEnfo] (EvalNFunctions) |
SmCCIntersectENFO::Evaluate | SmCurve.cpp:16589 | 254 | [CcIntersectEnfo::evaluate_equations] |
SmFindCCNormalENFO::Evaluate | SmCurve.cpp:17170 | 694 | [FindCcNormalEnfo::evaluate_equations] |
Module file-header table (18 rows)
| Rust | Upstream |
|---|---|
[Curve] (construction, [Clone]) | SmCurve::SmCurve (dimension, copy constructors) |
[crvs_cleanup], [CleanedCurves] | SmCurve::CrvsCleanup (static) |
[remove_duplicate_curves] | SmCurve::RemoveDuplicateCurves (static) |
[Curve::evaluate_step_point] | SmCurve::EvaluateSTEPPoint (virtual) |
[is_point_solution_across_closed_seam_boundary] | sm_IsPointSolutionAcrossClosedSeamBoundary (static) |
[find_additional_cc_tangent_guess] | sm_FindAdditionalCcTangentGuess (static) |
[make_curve_cache], [validate_curve_cache] | SmCurve::CacheMakeOrValidate |
[find_additional_cp_guess] | sm_FindAdditionalCpGuess (static) |
[is_arc_base], [Curve::is_arc] | SmCurve::IsArc (virtual: base, circle, line, parabola, hyperbola) |
[is_line_base], [Curve::is_line] | SmCurve::IsLine (virtual: base, B-spline, line) |
[Curve::is_linear], [Linearity] | SmCurve::IsLinear |
[Curve::is_domain_boundary] | SmCurve::IsDomainBoundary (virtual: base, ellipse, line) |
[is_periodic], [Curve::is_periodic] | SmCurve::IsPeriodic |
[Curve::length], [Curve::length_base] | SmCurve::Length (virtual: base, line) |
[local_property_analysis] | SmCurve::LocalPropertyAnalysis |
[CcTangentIntEnfo] (EvalNFunctions) | SmCCTangentIntENFO::Evaluate (in p3) |
[CcIntersectEnfo::evaluate_equations] | SmCCIntersectENFO::Evaluate |
[FindCcNormalEnfo::evaluate_equations] | SmFindCCNormalENFO::Evaluate |
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