solidcore

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 functionDefined atLinesRust (from the file header)
SmBrep::GetToleranceSmBrep.h:6991
SmBrep::GetThisModelSizeEstimateSmBrep.h:7135
SmBrep::SetThisModelSizeEstimateSmBrep.h:7236
SmBrep::SetThisLargeSmallSizeRatioSmBrep.h:7294
SmBrep::GetInfiniteRegionSmBrep.h:7361
SmBrep::GetNumFacesSmBrep.h:7681
SmBrep::IsLiveTopologyMemberSmBrep.h:7846
SmBrep::SetInfiniteRegionSmBrep.h:13811
SmBrep::GetClassStringSmBrep.h:16111
SmBrep::GetTypeSmBrep.h:16111
SmBrep::GetTypeStringSmBrep.h:16111
SmLockBrepBox::SmLockBrepBoxSmBrep.h:16393
SmLockBrepBox::~SmLockBrepBoxSmBrep.h:16423
sm_CheckUVTrimCurveSmBrep.cpp:11684
sm_SwapFaceUVSmBrep.cpp:24054
SmBrep::AddDeletedSurfaceSmBrep.cpp:87011
SmBrep::BrepIntersectSmBrep.cpp:89089
SmBrep::CreateCornerBlendSmBrep.cpp:2488290
SmBrep::CreateEdgeEdgeBlendSmBrep.cpp:2791274
sm_MarkLoopsToDeleteSmBrep.cpp:336651
SmBrep::CreateParallelProjectionCurvesSmBrep.cpp:492885
SmBrep::ResetInfiniteRegionSmBrep.cpp:859049
SmBrep::SetRegionIsVoidFlagsForNestedSolidsSmBrep.cpp:919058
SmBrep::GetTopologicalEdgesSmBrep.cpp:943024
SmBrep::GetWireEdgesSmBrep.cpp:946024
SmBrep::GetTopologicalVerticesSmBrep.cpp:953320
sm_RmAndDel_OldLoopVerticesSmBrep.cpp:1058951
SmBrep::GetShellsSmBrep.cpp:1087938
SmBrep::GetSurfacesSmBrep.cpp:1092352
SmBrep::GetCurvesSmBrep.cpp:1098136
sm_FindSectorOfFaceSmBrep.cpp:11028131
sm_VoteForRegionSmBrep.cpp:1116515
sm_FindHighestVoteSmBrep.cpp:1118616
SmBrep::IsDegenerateSmBrep.cpp:1154226
sm_RedistributeSeamUVTrimCurvesSmBrep.cpp:12078153
sm_AddAttributesSmBrep.cpp:1920923
SmPendingTopologyDelete::ClearSmBrep.cpp:192661
SmBrep::HealBrepSmBrep.cpp:20700321
sm_MakeVertexSplitUVTrimCurveSmBrep.cpp:21035156
sm_SetObjectMapSmBrep.cpp:2280214
sm_GetObjectMapSmBrep.cpp:228229
sm_ReverseReflectionEdgeusesSmBrep.cpp:2341612
sm_SwapReflectionShellsSmBrep.cpp:2342914
sm_FindSideOfCurveSmBrep.cpp:2485067
SmBrep::UpdateVertexEdgeIntervalsSmBrep.cpp:32981136
SmBrep::IsKindOfSmBrep.cpp:355664
SmBrep::GetEdgesSmBrep.cpp:380658
SmBrep::GetFacesSmBrep.cpp:381488
SmBrep::GetRegionsSmBrep.cpp:382408
SmBrep::GetVerticesSmBrep.cpp:382548

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