Units / topology
topology.brep_p1 claimed
- Layer
- 45
- Upstream lines
- 2,454
- Functions
- 50
- Rust module
topology::brep::p1
Claimed: #145 @bluecmd (ready for review)
Source: crates/solidcore/src/topology/brep/p1.rs (not written yet)
Upstream: source/SMLib/inc/SmBrep.h, source/SMLib/src/SmBrep.cpp
Notes
50 fns; largest: SmBrep::HealBrep, SmBrep::CreateCornerBlend, SmBrep::CreateEdgeEdgeBlend, sm_MakeVertexSplitUVTrimCurve; cycle back-edges (call into later units; stub or co-port): query.brep(3), heal.heal_data_p1(2); unit-SCC #22 (220 units); hazards: ptr-hash; 319 upstream test entry points reach this unit; CO-PORTED in topology.edgeuse_p1 (PR #55): SmBrep::m_bValidateOnly, the region/face use/loop use/edge use/vertex use arenas -> topology::Brep (validate_only, regions(), faceuses(), ..., add_*_record, *_mut); CO-PORTED in topology.edgeuse_p2 (PR #87): SmBrep::m_sThisZoneTol3d, GetTolerance -> topology::Brep::tolerance, set_tolerance; CO-PORTED in heal.heal_data_p3 (PR #164): SmBrep::IsLiveTopologyMember -> heal::heal_data::p3::live (private, arena identity checks)
Difftest
No difftest report yet.
Dependencies
Depends on: curve.curve_p2 green geom.a_object partial geom.context green geom.extent1d green geom.extent2d green geom.object partial geom.solution_array partial geom.tol green geom.vector2d green geom.vector3d green nurbs.b_spline_curve_p1 green surface.surface_p2 partial topology.edge partial topology.edgeuse_p1 partial topology.edgeuse_p3 claimed topology.face_p2 partial topology.loopuse partial topology.proto_topology_p1 partial topology.shell claimed topology.topology green topology.vertex partial topology.vertexuse partial
Soft dependencies: curve.crv_on_surf partial curve.curve_p1 partial curve.curve_p3 green curve.curve_p5 partial curve.curve_p6 green geom.extent3d green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p2 green nurbs.b_spline_surface_n_lib_p1 green nurbs.b_spline_surface_n_lib_p2 partial surface.surface_p1 partial surface.surface_p4 green surface.surface_p5 green surface.surface_p7 partial surface.surface_p8 partial topology.face_p1 partial topology.face_p3 claimed
Dependents: blend.fillet_executive_p1 todo blend.fillet_executive_p2 todo blend.fillet_executive_p3 todo blend.fillet_geom_p1 claimed blend.hcr claimed boolean.merge_p1 partial boolean.merge_p2 todo boolean.merge_p3 todo boolean.merge_p4 todo heal.heal_data_p1 partial heal.stitch_p1 claimed heal.stitch_p2 claimed mass.integrator partial offset.offset_executive_p1 claimed offset.offset_executive_p2 claimed primitive.primitive_creation_p1 claimed primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo query.api_queries partial query.brep claimed sweep.topology_sweep claimed topology.brep_cache partial topology.brep_p2 claimed topology.brep_p3 claimed topology.brep_p4 claimed topology.brep_p5 claimed topology.brep_p9 claimed
Soft dependents: blend.fillet_geom_p4 todo blend.fillet_solver_p1 claimed boolean.merge_p5 partial boolean.topology_intersector_p1 partial boolean.topology_intersector_p2 claimed heal.heal_data_p3 partial offset.offset_geometry_creation claimed primitive.api_primitives claimed sweep.api_brep partial sweep.api_surfaces partial sweep.rotational_sweep_geometry partial sweep.trans_sweep_geometry partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmBrep::GetTolerance | SmBrep.h:699 | 1 | |
SmBrep::GetThisModelSizeEstimate | SmBrep.h:713 | 5 | |
SmBrep::SetThisModelSizeEstimate | SmBrep.h:723 | 6 | |
SmBrep::SetThisLargeSmallSizeRatio | SmBrep.h:729 | 4 | |
SmBrep::GetInfiniteRegion | SmBrep.h:736 | 1 | |
SmBrep::GetNumFaces | SmBrep.h:768 | 1 | |
SmBrep::IsLiveTopologyMember | SmBrep.h:784 | 6 | |
SmBrep::SetInfiniteRegion | SmBrep.h:1381 | 1 | |
SmBrep::GetClassString | SmBrep.h:1611 | 1 | |
SmBrep::GetType | SmBrep.h:1611 | 1 | |
SmBrep::GetTypeString | SmBrep.h:1611 | 1 | |
SmLockBrepBox::SmLockBrepBox | SmBrep.h:1639 | 3 | |
SmLockBrepBox::~SmLockBrepBox | SmBrep.h:1642 | 3 | |
sm_CheckUVTrimCurve | SmBrep.cpp:116 | 84 | |
sm_SwapFaceUV | SmBrep.cpp:240 | 54 | |
SmBrep::AddDeletedSurface | SmBrep.cpp:870 | 11 | |
SmBrep::BrepIntersect | SmBrep.cpp:890 | 89 | |
SmBrep::CreateCornerBlend | SmBrep.cpp:2488 | 290 | |
SmBrep::CreateEdgeEdgeBlend | SmBrep.cpp:2791 | 274 | |
sm_MarkLoopsToDelete | SmBrep.cpp:3366 | 51 | |
SmBrep::CreateParallelProjectionCurves | SmBrep.cpp:4928 | 85 | |
SmBrep::ResetInfiniteRegion | SmBrep.cpp:8590 | 49 | |
SmBrep::SetRegionIsVoidFlagsForNestedSolids | SmBrep.cpp:9190 | 58 | |
SmBrep::GetTopologicalEdges | SmBrep.cpp:9430 | 24 | |
SmBrep::GetWireEdges | SmBrep.cpp:9460 | 24 | |
SmBrep::GetTopologicalVertices | SmBrep.cpp:9533 | 20 | |
sm_RmAndDel_OldLoopVertices | SmBrep.cpp:10589 | 51 | |
SmBrep::GetShells | SmBrep.cpp:10879 | 38 | |
SmBrep::GetSurfaces | SmBrep.cpp:10923 | 52 | |
SmBrep::GetCurves | SmBrep.cpp:10981 | 36 | |
sm_FindSectorOfFace | SmBrep.cpp:11028 | 131 | |
sm_VoteForRegion | SmBrep.cpp:11165 | 15 | |
sm_FindHighestVote | SmBrep.cpp:11186 | 16 | |
SmBrep::IsDegenerate | SmBrep.cpp:11542 | 26 | |
sm_RedistributeSeamUVTrimCurves | SmBrep.cpp:12078 | 153 | |
sm_AddAttributes | SmBrep.cpp:19209 | 23 | |
SmPendingTopologyDelete::Clear | SmBrep.cpp:19266 | 1 | |
SmBrep::HealBrep | SmBrep.cpp:20700 | 321 | |
sm_MakeVertexSplitUVTrimCurve | SmBrep.cpp:21035 | 156 | |
sm_SetObjectMap | SmBrep.cpp:22802 | 14 | |
sm_GetObjectMap | SmBrep.cpp:22822 | 9 | |
sm_ReverseReflectionEdgeuses | SmBrep.cpp:23416 | 12 | |
sm_SwapReflectionShells | SmBrep.cpp:23429 | 14 | |
sm_FindSideOfCurve | SmBrep.cpp:24850 | 67 | |
SmBrep::UpdateVertexEdgeIntervals | SmBrep.cpp:32981 | 136 | |
SmBrep::IsKindOf | SmBrep.cpp:35566 | 4 | |
SmBrep::GetEdges | SmBrep.cpp:38065 | 8 | |
SmBrep::GetFaces | SmBrep.cpp:38148 | 8 | |
SmBrep::GetRegions | SmBrep.cpp:38240 | 8 | |
SmBrep::GetVertices | SmBrep.cpp:38254 | 8 |
Upstream tests reaching this unit
prog_test:my_test_extent3d, prog_test:my_test_vector2d, 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