Units / topology
topology.edgeuse_p2 partial
- Layer
- 36
- Upstream lines
- 600
- Functions
- 8
- Rust module
topology::edgeuse::p2
Source: crates/solidcore/src/topology/edgeuse/p2.rs
Upstream: source/SMLib/src/SmEdgeuse.cpp
Notes
PARTIAL: difftest 4583 cases (4567 fixture: 2360 on 15 upstream .smb B-reps read by SmBrep::ReadFromFile, with and without RebuildUVTrimCurves and validate-only; 485 on topology.edgeuse_p1's constructed B-reps (B-spline and real SmPlane faces, wire edges, prog_test my_test_topology's wire network); 1722 adversarial in fixtures/topology.edgeuse_p2/adversarial.json: B-spline faces at scales 1e-4..1e4, rational, pinched, sub-domain faces, UV curves moved by 0..0.1 domain lengths (tolerance-limit shifts 1e-11..1e-4), adjusted tolerances, drop-curve records; 16 generated), 3218 pass (1275 CheckAndSetUVTrimCurve value comparisons, every Notify operation but SM_NO_REG_PROPAGATION), 1365 deferred (curve.crv_on_surf 284, intersect.curve_class_p4 245, topology.edgeuse_p3 275, topology.brep_p7 225, surface.surf_of_extrusion_p2 162, surface.sphere 112, surface.cone_p1 62), max_rel_err 0; --perturb SENSITIVE. Faces on analytic surfaces (SmCone, SmSphere, ...) and analytic edge curves are imported as their B-spline parts, so their CheckAndSetUVTrimCurve cases are deferred (plan/findings.md). Shares the B-rep build/export of topology.edgeuse_p1 (harness/cpp/shim/sc_edgeuse_graph.h). Upstream issues WR-84 (IsConvexRadialSector SER as TRUE), WR-85 (CheckAndSetUVTrimCurve deletes the caller's curve). Plan notes: 8 fns; largest: SmEdgeuse::EvaluateBinormalStepOff, SmEdgeuse::CheckAndSetUVTrimCurve, SmEdgeuse::IsTangentSector, SmEdgeuse::IsConvexRadialSector; cycle back-edges (call into later units; stub or co-port): topology.edge(9), heal.gap(5), topology.edgeuse_p3(4), blend.fillet_geom_p1(1), topology.brep_p1(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 4,583
- Passed
- 3,218
- Deferred
- 1,365
- Failed
- 0
- Both errored
- 85
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.crv_on_surf partial | 284 |
topology.edgeuse_p3 claimed | 275 |
intersect.curve_class_p4 claimed | 245 |
topology.brep_p7 claimed | 225 |
surface.surf_of_extrusion_p2 partial | 162 |
surface.sphere green | 112 |
surface.cone_p1 green | 62 |
Report JSON (per-case results)
Dependencies
Depends on: geom.extent1d green geom.extent2d green geom.local_solve_nd green geom.object partial geom.solution_array partial geom.vector2d green geom.vector3d green surface.surface_p2 partial topology.edgeuse_p1 partial topology.face_p2 partial topology.topology green
Soft dependencies: curve.crv_on_surf partial curve.curve_p2 green curve.curve_p6 green geom.tol green nurbs.b_spline_curve_p1 green surface.surface_p1 partial surface.surface_p4 green surface.surface_p7 partial
Dependents: blend.fillet_geom_p1 claimed topology.brep_p3 claimed topology.brep_p6 claimed topology.edge partial
Soft dependents: blend.fillet_corner_p3 todo blend.fillet_solver_p1 claimed blend.fillet_solver_p3 todo blend.fillet_solver_p5 claimed offset.offset_executive_p1 claimed offset.offset_executive_p2 claimed offset.offset_geometry_creation claimed query.edge partial topology.brep_p10 claimed topology.brep_p2 claimed topology.brep_p4 claimed topology.brep_p7 claimed topology.brep_p9 claimed topology.face_p3 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmEdgeuse::SmEdgeuse | SmEdgeuse.cpp:51 | 17 | [crate::topology::Edgeuse] (Default, Drop) |
SmEdgeuse::~SmEdgeuse | SmEdgeuse.cpp:74 | 16 | [crate::topology::Edgeuse] (Default, Drop) |
SmEdgeuse::IsTangentSector | SmEdgeuse.cpp:554 | 103 | [is_tangent_sector] |
SmEdgeuse::EvaluateBinormalStepOff | SmEdgeuse.cpp:3360 | 166 | [evaluate_binormal_step_off], [StepOffOptions], [BinormalEval] |
SmEdgeuse::IsConvexRadialSector | SmEdgeuse.cpp:3592 | 62 | [is_convex_radial_sector] |
SmEdgeuse::RebuildUVTrimCurve | SmEdgeuse.cpp:4439 | 16 | [rebuild_uv_trim_curve] |
SmEdgeuse::CheckAndSetUVTrimCurve | SmEdgeuse.cpp:4732 | 160 | [check_and_set_uv_trim_curve], [CheckAndSetUvTrimCurve] |
SmEdgeuse::Notify | SmEdgeuse.cpp:5479 | 60 | [notify] |
Module file-header table (7 rows)
| Rust | Upstream |
|---|---|
[crate::topology::Edgeuse] (Default, Drop) | SmEdgeuse::SmEdgeuse, SmEdgeuse::~SmEdgeuse |
[is_tangent_sector] | SmEdgeuse::IsTangentSector |
[evaluate_binormal_step_off], [StepOffOptions], [BinormalEval] | SmEdgeuse::EvaluateBinormalStepOff |
[is_convex_radial_sector] | SmEdgeuse::IsConvexRadialSector |
[rebuild_uv_trim_curve] | SmEdgeuse::RebuildUVTrimCurve |
[check_and_set_uv_trim_curve], [CheckAndSetUvTrimCurve] | SmEdgeuse::CheckAndSetUVTrimCurve |
[notify] | SmEdgeuse::Notify |
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