solidcore

Units / boolean

boolean.topology_intersector_p2 claimed

Layer
51
Upstream lines
2,195
Functions
14
Rust module
boolean::topology_intersector::p2

Claimed: #203 @bluecmd (draft)

Source: crates/solidcore/src/boolean/topology_intersector/p2.rs (not written yet)

Upstream: source/SMLib/src/SmTopologyIntersector.cpp

Notes

CO-PORTED in boolean.topology_intersector_p1 (PR #146): SmTopologyIntersector::SmTopologyIntersector (both) -> boolean::topology_intersector::p1::TopologyIntersector::{with_context, new}; RegisterExistingSSI is not ported (the runner fills IntersectionTable directly). 14 fns; largest: SmTopologyIntersector::IntersectTopology, SmTopologyIntersector::EdgeFaceCoincidence, SmTopologyIntersector::FixupSplitVertexPair, SmTopologyIntersector::IntersectInsertRelate; unit-SCC #22 (220 units); hazards: ptr-hash,tbb; 118 upstream test entry points reach this unit NEEDED API (noted by PR #146): SmProtoTopologyManager::GlueCoincidentBrepVertices calls m_pTI->RemoveRelationship between its GetOtherMate reads; proto_topology::p3::glue_coincident_brep_vertices takes a read-only other_mate closure today (equivalent while RemoveRelationship is unported); wiring RemoveRelationship needs a small &mut mates trait (other_mate, remove_relationship) in place of the closure.

Difftest

No difftest report yet.

Dependencies

Depends on: boolean.topology_intersector_p1 partial curve.curve_p2 green geom.extent1d green geom.tol green intersect.curve_class_p1 partial intersect.point_class partial topology.edge partial topology.face_p2 partial topology.face_p4 claimed topology.proto_topology_p1 partial topology.proto_topology_p3 partial topology.vertex partial

Soft dependencies: curve.curve_p4 partial curve.curve_p6 green geom.extent3d green geom.object partial geom.solution_array partial geom.vector3d green nurbs.b_spline_curve_p1 green query.edge partial query.face_p1 claimed surface.surface_p6 green surface.surface_p8 partial topology.brep_p1 claimed topology.brep_p3 claimed topology.brep_p4 claimed topology.brep_p5 claimed topology.brep_p7 claimed topology.face_p1 partial topology.face_p3 claimed

Dependents: boolean.merge_p2 todo boolean.merge_p4 todo boolean.topology_intersector_p3 claimed

Soft dependents: blend.fillet_corner_p1 todo blend.fillet_executive_p2 todo blend.fillet_executive_p3 todo blend.fillet_geom_p4 todo boolean.merge_p1 partial boolean.merge_p3 todo offset.offset_executive_p1 claimed primitive.primitive_creation_p3 todo

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmTopologyIntersector::SmTopologyIntersectorSmTopologyIntersector.cpp:7524
SmTopologyIntersector::SmTopologyIntersectorSmTopologyIntersector.cpp:10528
SmTopologyIntersector::RegisterExistingSSISmTopologyIntersector.cpp:26553
SmTopologyIntersector::CheckForSqueezeVerticesSmTopologyIntersector.cpp:331116
SmTopologyIntersector::DeleteFacesSmTopologyIntersector.cpp:456170
SmTopologyIntersector::FixGapsSmTopologyIntersector.cpp:632164
SmTopologyIntersector::RemoveRelationshipSmTopologyIntersector.cpp:80411
SmTopologyIntersector::IntersectInsertRelateSmTopologyIntersector.cpp:1092179
SmTopologyIntersector::IntersectTopologySmTopologyIntersector.cpp:1580665
SmTopologyIntersector::SetRelationshipsSmTopologyIntersector.cpp:242076
SmTopologyIntersector::FixupClassMatesSmTopologyIntersector.cpp:5410130
SmTopologyIntersector::FixupSplitVertexPairSmTopologyIntersector.cpp:5899201
SmTopologyIntersector::EdgeEdgeIntersectSmTopologyIntersector.cpp:7149149
SmTopologyIntersector::EdgeFaceCoincidenceSmTopologyIntersector.cpp:7752229

Upstream tests reaching this unit

prog_test:my_test_analytic_tsurf_creation, prog_test:my_test_get_loop_crossings, SM_API_test:TestSmBoolean2DPlanarUnion, SM_API_test:TestSmFilletPreview, prog_test:my_test_bbu, SM_API_test:TestSmSurfaceSurfaceFillet