solidcore

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 unitDeferred cases
topology.edgeuse_p2 partial178

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 functionDefined atLinesRust (from the file header)
SmEdge::CalculateBoundingBoxSmEdge.cpp:23750[calculate_bounding_box]
SmEdge::CalculateTightBoundingBoxSmEdge.cpp:30641[calculate_tight_bounding_box]
SmEdge::ClosestPointSmEdge.cpp:43238[closest_point], [ClosestPoint]
SmEdge::RadialSectorClassifySmEdge.cpp:1050678[radial_sector_classify], [radial_sector_classify_between], [RadialSectorClass]
SmEdge::RadialSectorOfCurveClassifySmEdge.cpp:2030218[radial_sector_of_curve_classify], [CurveSectorClass]
Module file-header table (8 rows)
RustUpstream
[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