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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmTopologyIntersector::SmTopologyIntersector | SmTopologyIntersector.cpp:75 | 24 | |
SmTopologyIntersector::SmTopologyIntersector | SmTopologyIntersector.cpp:105 | 28 | |
SmTopologyIntersector::RegisterExistingSSI | SmTopologyIntersector.cpp:265 | 53 | |
SmTopologyIntersector::CheckForSqueezeVertices | SmTopologyIntersector.cpp:331 | 116 | |
SmTopologyIntersector::DeleteFaces | SmTopologyIntersector.cpp:456 | 170 | |
SmTopologyIntersector::FixGaps | SmTopologyIntersector.cpp:632 | 164 | |
SmTopologyIntersector::RemoveRelationship | SmTopologyIntersector.cpp:804 | 11 | |
SmTopologyIntersector::IntersectInsertRelate | SmTopologyIntersector.cpp:1092 | 179 | |
SmTopologyIntersector::IntersectTopology | SmTopologyIntersector.cpp:1580 | 665 | |
SmTopologyIntersector::SetRelationships | SmTopologyIntersector.cpp:2420 | 76 | |
SmTopologyIntersector::FixupClassMates | SmTopologyIntersector.cpp:5410 | 130 | |
SmTopologyIntersector::FixupSplitVertexPair | SmTopologyIntersector.cpp:5899 | 201 | |
SmTopologyIntersector::EdgeEdgeIntersect | SmTopologyIntersector.cpp:7149 | 149 | |
SmTopologyIntersector::EdgeFaceCoincidence | SmTopologyIntersector.cpp:7752 | 229 |
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