solidcore

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 unitDeferred cases
query.face_p4 claimed62
topology.face_p2 partial54
topology.edgeuse_p3 claimed45
topology.face_p4 claimed37
topology.face_p3 claimed18
topology.brep_p1 claimed12

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 functionDefined atLinesRust (from the file header)
SmHealData::SmHealDataSmHealData.cpp:8615[HealData::new] (in [super::p2])
SmHealData::~SmHealDataSmHealData.cpp:29824Drop (implicit)
SmHealData::ReSetSmHealData.cpp:432101[HealData::reset]
SmHealData::MoveToNotYetProblemsSmHealData.cpp:146825[HealData::move_to_not_yet_problems]
SmHealData::HealBrepSmHealData.cpp:1507112[HealData::heal_brep], [HealBrepTargets]
SmHealData::Cache_FaceProps_Stage2SmHealData.cpp:4085141[HealData::cache_face_props_stage2]
SmHealData::Fix_BadSheetsSmHealData.cpp:4732134[HealData::fix_bad_sheets]
SmHealData::Cache_FaceProps_Stage3SmHealData.cpp:5008197[HealData::cache_face_props_stage3]
SmHealData::Make_UVTrimCurvesSmHealData.cpp:658990[HealData::make_uv_trim_curves]
SmHealData::Fix_InfiniteRegionSmHealData.cpp:668670[HealData::fix_infinite_region]
SmApiHealBrepSmApiHeal.cpp:2713[api_heal_brep]
Module file-header table (11 rows)
RustUpstream
[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