Units / query
query.edge partial
- Layer
- 41
- Upstream lines
- 1,025
- Functions
- 5
- Rust module
query::edge
Source: crates/solidcore/src/query/edge.rs
Upstream: source/SMLib/src/SmEdge.cpp
Notes
5 fns; largest: SmEdge::RadialSectorClassify, SmEdge::RadialSectorOfCurveClassify, SmEdge::CalculateBoundingBox, SmEdge::CalculateTightBoundingBox; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit; PORTED (PR #89): difftest 1368 cases (768 fixtures + 600 generated), 1190 pass, 178 deferred (topology.edgeuse_p2 SmEdgeuse::EvaluateBinormalStepOff 178), 0 fail, max_rel_err 0; curve.curve_p9 CalculateTightBoundingBox wired at merge; the radial sector classifications stay deferred: the query::edge step-off stub keeps upstream's in-place out-params on failure, and topology::edgeuse::p2::evaluate_binormal_step_off still defers to topology.edgeuse_p3 (EvaluateBinormal) PR #163 adds radial_sector_classify_between for independent operand arenas, avoiding aliasing of equal local ids. Cross-operand C++ cases live in fixtures/boolean.merge_p1/review.json; full step-off paths remain deferred to topology.edgeuse_p2.
Difftest
- Cases
- 1,368
- Passed
- 1,190
- Deferred
- 178
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
topology.edgeuse_p2 partial | 178 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.extent3d green geom.solution_array partial geom.vector3d green topology.edge partial topology.edgeuse_p1 partial
Soft dependencies: curve.curve_p1 partial curve.curve_p6 green curve.curve_p9 green geom.polar_box green geom.pseudo_box green geom.tol green surface.surface_p2 partial topology.edgeuse_p2 partial topology.face_p2 partial topology.vertex partial
Dependents: query.api_queries partial
Soft dependents: boolean.merge_p2 todo boolean.topology_intersector_p1 partial boolean.topology_intersector_p2 claimed offset.offset_geometry_creation claimed query.brep claimed query.face_p1 claimed query.face_p3 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmEdge::CalculateBoundingBox | SmEdge.cpp:237 | 50 | [calculate_bounding_box] |
SmEdge::CalculateTightBoundingBox | SmEdge.cpp:306 | 41 | [calculate_tight_bounding_box] |
SmEdge::ClosestPoint | SmEdge.cpp:432 | 38 | [closest_point], [ClosestPoint] |
SmEdge::RadialSectorClassify | SmEdge.cpp:1050 | 678 | [radial_sector_classify], [radial_sector_classify_between], [RadialSectorClass] |
SmEdge::RadialSectorOfCurveClassify | SmEdge.cpp:2030 | 218 | [radial_sector_of_curve_classify], [CurveSectorClass] |
Module file-header table (8 rows)
| Rust | Upstream |
|---|---|
[calculate_bounding_box] | SmEdge::CalculateBoundingBox |
[calculate_tight_bounding_box] | SmEdge::CalculateTightBoundingBox |
[closest_point], [ClosestPoint] | SmEdge::ClosestPoint |
[radial_sector_classify], [radial_sector_classify_between], [RadialSectorClass] | SmEdge::RadialSectorClassify |
[radial_sector_of_curve_classify], [CurveSectorClass] | SmEdge::RadialSectorOfCurveClassify |
[edge_vertices] | SmEdge::GetVertices(SmTArray&, ULONG*) (CO-PORTED, topology.edge) |
[edge_faces] | SmEdge::GetFaces (CO-PORTED, topology.edge) |
evaluate_binormal_step_off (private) | SmEdgeuse::EvaluateBinormalStepOff (unit topology.edgeuse_p2, not ported) |
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