Units / intersect
intersect.topology_solver_p2 partial
- Layer
- 35
- Upstream lines
- 1,391
- Functions
- 15
- Rust module
intersect::topology_solver::p2
Source: crates/solidcore/src/intersect/topology_solver/p2.rs
Upstream: source/SMLib/inc/SmTopologySolver.h, source/SMLib/src/SmTopologySolver.cpp
Notes
15 fns; largest: SmTLSCurveFace::SolveIt, SmTopologySolver::BrepCurveSolve, SmTLSFaceFace::SolveIt, SmTopologySolver::ShapeCurveSolve; cycle back-edges (call into later units; stub or co-port): topology.brep_cache(9), topology.edge(5), topology.face_p2(4), query.face_p2(2), topology.vertex(2); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit; PARTIAL: 2429 cases, 2384 bit-identical, 0 failed, 45 deferred (surface.surface_p11 20, surface.surface_p4 8, surface.surface_p6 8, surface.surface_p8 4, topology.brep_p1 2, topology.edge 3); max_rel_err=0; no absolute floors; all 15 owned functions have Rust bodies (shared local constructors reuse p1); 600 generated traversal cases, 2 traversal fixtures, 180 CurveVertex fixtures and 1647 static/face/operation/request/tolerance/scale/subdivision fixtures; native setup, point-node storage and invalid-cast class probes are separate tests; face bodies still reach explicit surface/query callees, nonempty Shape construction is not covered; --perturb SENSITIVE 2384/2384; full validation with current official main: 142 units, 89 green, 53 partial, 0 failed; fmt, strict plain/CPP Clippy, workspace/native tests, wasm and license/source checks pass [surface.surface_p6 wired (PR #92): 2429 cases, 2384 pass, 45 deferred (intersect.surface_silhouette 8, surface.surface_p11 20, surface.surface_p4 8, surface.surface_p8 4, topology.brep_p1 2, topology.edge 3)] surface.surface_p11 (PR #120, after merging main with surface.surface_p3): cases=2429 passed=2396 failed=0 deferred=33 (curve.iso_curve 12, intersect.surface_tracer 8 (SmSurfaceTracer::DoTrace, inherited by SmSurfaceSilhouette; the stub in Surface::create_silhouette_curves is tagged with its owner), surface.surface_p8 6, topology.brep_p1 4, topology.edge 3); the runner maps face/surface solution objects to -2 as the shim does (first reached now that face/face normalize solves run); --perturb SENSITIVE. Re-run (PR #118, after surface.surface_p8 was wired): 2429 cases, 2396 pass, 33 deferred (curve.iso_curve 12, intersect.curve_class_p4 4, intersect.surface_tracer 8, topology.brep_p1 6, topology.edge 3), 0 failed; --perturb SENSITIVE 2396/2396; the 2 surface.surface_p8 deferrals are gone.
Difftest
- Cases
- 2,429
- Passed
- 2,396
- Deferred
- 33
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.iso_curve green | 12 |
intersect.surface_tracer partial | 8 |
topology.brep_p1 claimed | 6 |
intersect.curve_class_p4 claimed | 4 |
topology.edge partial | 3 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.global_solver partial geom.object partial geom.solution_array partial geom.tol green geom.tree partial geom.vector3d green intersect.curve_class_p1 partial intersect.topology_solver_p1 partial
Soft dependencies: curve.curve_p6 green geom.a_object partial geom.extent3d green geom.vector2d green intersect.curve_class_p4 claimed intersect.point_class partial surface.surface_p1 partial surface.surface_p2 partial surface.surface_p4 green surface.surface_p7 partial surface.surface_p8 partial
Dependents: query.api_queries partial
Soft dependents: boolean.topology_intersector_p1 partial offset.offset_executive_p1 claimed query.brep claimed topology.brep_p10 claimed topology.brep_p2 claimed topology.brep_p3 claimed topology.shell partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmTLSVertexEdge::SmTLSVertexEdge | SmTopologySolver.h:233 | 8 | [LocalSolver::new] (shared in p1) |
SmTLSEdgeEdge::SmTLSEdgeEdge | SmTopologySolver.h:478 | 8 | [LocalSolver::new] (shared in p1) |
SmTLSVertexFace::SolveIt | SmTopologySolver.cpp:944 | 25 | LocalSolver::solve_vertex_face |
SmTLSCurveVertex::SolveIt | SmTopologySolver.cpp:975 | 25 | LocalSolver::solve_curve_vertex |
SmTLSEdgeVertex::SolveIt | SmTopologySolver.cpp:1007 | 53 | LocalSolver::solve_edge_vertex |
SmTLSCurveFace::SolveIt | SmTopologySolver.cpp:1412 | 384 | LocalSolver::solve_curve_face |
SmTLSEdgeFace::SolveIt | SmTopologySolver.cpp:1803 | 49 | LocalSolver::solve_edge_face |
SmTLSFaceFace::SolveIt | SmTopologySolver.cpp:1859 | 147 | LocalSolver::solve_face_face |
SmTopologySolver::BrepPointSolve | SmTopologySolver.cpp:2046 | 104 | [TopologySolver::brep_point_solve] |
SmTopologySolver::ShapePointSolve | SmTopologySolver.cpp:2181 | 90 | [TopologySolver::shape_point_solve] |
SmTopologySolver::BrepCurveSolve | SmTopologySolver.cpp:2296 | 173 | [TopologySolver::brep_curve_solve] |
SmTopologySolver::ShapeCurveSolve | SmTopologySolver.cpp:2485 | 117 | [TopologySolver::shape_curve_solve] |
SmTopologySolver::LocalSolve | SmTopologySolver.cpp:3024 | 73 | [TopologySolver::local_solve_branch] |
sm_SolveTwoTrees | SmTopologySolver.cpp:3197 | 65 | [TopologySolver::solve_two_tree_sets] |
SmTopologySolver::BrepBrepSolve | SmTopologySolver.cpp:3271 | 70 | [TopologySolver::brep_brep_solve] |
Module file-header table (14 rows)
| Rust | Upstream |
|---|---|
[LocalSolver::new] (shared in p1) | SmTLSVertexEdge / SmTLSEdgeEdge constructors |
[TopologySolver::local_solve_branch] | SmTopologySolver::LocalSolve |
LocalSolver::solve_vertex_face | SmTLSVertexFace::SolveIt |
LocalSolver::solve_curve_vertex | SmTLSCurveVertex::SolveIt |
LocalSolver::solve_edge_vertex | SmTLSEdgeVertex::SolveIt |
LocalSolver::solve_curve_face | SmTLSCurveFace::SolveIt |
LocalSolver::solve_edge_face | SmTLSEdgeFace::SolveIt |
LocalSolver::solve_face_face | SmTLSFaceFace::SolveIt |
[TopologySolver::brep_point_solve] | SmTopologySolver::BrepPointSolve |
[TopologySolver::shape_point_solve] | SmTopologySolver::ShapePointSolve |
[TopologySolver::brep_curve_solve] | SmTopologySolver::BrepCurveSolve |
[TopologySolver::shape_curve_solve] | SmTopologySolver::ShapeCurveSolve |
[TopologySolver::solve_two_tree_sets] | sm_SolveTwoTrees |
[TopologySolver::brep_brep_solve] | SmTopologySolver::BrepBrepSolve |
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