Units / heal
heal.heal_data_p1 partial
- Layer
- 49
- Upstream lines
- 922
- Functions
- 11
- Rust module
heal::heal_data::p1
Source: crates/solidcore/src/heal/heal_data/p1.rs
Upstream: source/SMLib/src/SmHealData.cpp, source/SM_API/src/SmApiHeal.cpp
Notes
PARTIAL (PR #109): difftest 493 cases (173 fixture: 57 in fixtures/heal.heal_data_p1/upstream.json (SM_API_test TestSmHealBrep box 10 through SmApiHealBrep and the HealTgts order, prog_test my_test_squeeze_edge_tracks_removal / my_test_missing_poles_refreshes_all_faces boxes, my_test_closed_sphere_properties spheres, 10 pt_TestFiles .smb B-reps plain and rebuilt+reversed, each with and without the edge/vertex caches), 116 in edge_cases.json (done ops around the Fix_TolSizes / Fix_SplitEdgesAtSeam gates, props without a face, old counts equal/above/tail, not-yet moves, removals, stage re-runs, ReSet with/without new-object lists, HealBrep null/all/target lists/op none, Fix_InfiniteRegion, 1e-4..1e4 boxes, sheet faces, 6 open/closed B-spline files x 4 ops x rebuilt); 320 generated heal scripts on generated B-spline faces, boxes, spheres, files and other generated B-reps, plus SmApiHealBrep null/box), 265 pass (max_rel_err 0, no absolute floors), 0 failed, 228 deferred (query.face_p4 62, topology.brep_p1 12, topology.edgeuse_p3 45, topology.face_p2 54, topology.face_p3 18, topology.face_p4 37); --perturb 265/265 detected. Refreshed in PR #164 after wiring HealTgts to heal.heal_data_p3. Harness: the SmHealData steps run as codes 23..31 of heal.heal_data_p2's heal scripts (shim p1_step, check_heal, p2 runner Step), comparing p2's whole healer dump plus a stage 2/3 face props snapshot; SmApiHealBrep has its own shim. Builds on PR #128 (heal.heal_data_p2, which merges PR #122 heal.face_props): merge those first. No UNPORTED(heal.heal_data_p1) stubs existed. UNPORTED stubs: topology.brep_p1 (SmBrep::GetVertices, GetEdges, GetFaces, GetInfiniteRegion, HealBrep), topology.brep_p6 (SmBrep::TestClosureSplitRegion), topology.brep_p5 (SmBrep::FindAndSetInfiniteRegion), topology.shell (SmRegion::IsVoid, SetIsVoid), topology.face_p3 (SmFace::CreateUVTrimCurves). 11 fns; largest: SmHealData::Cache_FaceProps_Stage3, SmHealData::Cache_FaceProps_Stage2, SmHealData::Fix_BadSheets, SmHealData::HealBrep; entry points: SmApiHealBrep; cycle back-edges (call into later units; stub or co-port): heal.heal_data_p3(1); unit-SCC #22 (220 units); 59 upstream test entry points reach this unit
Difftest
- Cases
- 493
- Passed
- 265
- Deferred
- 228
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
query.face_p4 claimed | 62 |
topology.face_p2 partial | 54 |
topology.edgeuse_p3 claimed | 45 |
topology.face_p4 claimed | 37 |
topology.face_p3 claimed | 18 |
topology.brep_p1 claimed | 12 |
Report JSON (per-case results)
Dependencies
Depends on: heal.heal_data_p2 partial topology.brep_p1 claimed topology.topology green
Soft dependencies: geom.context green geom.hash_table green geom.object partial heal.face_props partial topology.brep_p5 claimed topology.brep_p6 claimed topology.edgeuse_p1 partial topology.face_p2 partial topology.face_p3 claimed topology.shell claimed topology.topology_traverser partial
Dependents: heal.heal_data_p3 partial
Soft dependents: none
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmHealData::SmHealData | SmHealData.cpp:86 | 15 | [HealData::new] (in [super::p2]) |
SmHealData::~SmHealData | SmHealData.cpp:298 | 24 | Drop (implicit) |
SmHealData::ReSet | SmHealData.cpp:432 | 101 | [HealData::reset] |
SmHealData::MoveToNotYetProblems | SmHealData.cpp:1468 | 25 | [HealData::move_to_not_yet_problems] |
SmHealData::HealBrep | SmHealData.cpp:1507 | 112 | [HealData::heal_brep], [HealBrepTargets] |
SmHealData::Cache_FaceProps_Stage2 | SmHealData.cpp:4085 | 141 | [HealData::cache_face_props_stage2] |
SmHealData::Fix_BadSheets | SmHealData.cpp:4732 | 134 | [HealData::fix_bad_sheets] |
SmHealData::Cache_FaceProps_Stage3 | SmHealData.cpp:5008 | 197 | [HealData::cache_face_props_stage3] |
SmHealData::Make_UVTrimCurves | SmHealData.cpp:6589 | 90 | [HealData::make_uv_trim_curves] |
SmHealData::Fix_InfiniteRegion | SmHealData.cpp:6686 | 70 | [HealData::fix_infinite_region] |
SmApiHealBrep | SmApiHeal.cpp:27 | 13 | [api_heal_brep] |
Module file-header table (11 rows)
| Rust | Upstream |
|---|---|
[HealData::new] (in [super::p2]) | SmHealData::SmHealData() (CO-PORTED by heal.heal_data_p2) |
Drop (implicit) | SmHealData::~SmHealData |
[HealData::reset] | SmHealData::ReSet |
[HealData::move_to_not_yet_problems] | SmHealData::MoveToNotYetProblems |
[HealData::heal_brep], [HealBrepTargets] | SmHealData::HealBrep |
[HealData::cache_face_props_stage2] | SmHealData::Cache_FaceProps_Stage2 |
[HealData::fix_bad_sheets] | SmHealData::Fix_BadSheets |
[HealData::cache_face_props_stage3] | SmHealData::Cache_FaceProps_Stage3 |
[HealData::make_uv_trim_curves] | SmHealData::Make_UVTrimCurves |
[HealData::fix_infinite_region] | SmHealData::Fix_InfiniteRegion |
[api_heal_brep] | SmApiHealBrep |
Upstream tests reaching this unit
prog_test:my_test_closed_sphere_properties, prog_test:my_test_squeeze_edge_tracks_removal, prog_test:my_test_missing_poles_refreshes_all_faces, SM_API_test:TestSmHealBrep, SM_API_test:TestSmHeal, prog_test:my_test_MakeFace, pt_TestFiles/MakeFace/ApproximateSphere.smp