pub fn compute_parts_to_skip<T>(
content: &T,
decoder: &mut EntityDecoder<'_>,
) -> FxHashSet<u32>Expand description
Compute the set of aggregated IfcBuildingElementPart ids to skip when the
“merge multilayer wall as a single solid” toggle is on (issue #540): a part
is skipped when its parent’s layered build-up is sliceable, so the parent’s
merged-layer geometry is drawn instead of the individual parts.
This is the layer/void driver — it composes the two shared geometry
kernels (propagate_voids_to_parts for part→parent + void propagation, and
[MaterialLayerIndex::is_sliceable]) so the driver lives in the geometry
crate next to its kernels rather than inline in a consumer (#913 Phase 4 /
§2.6). The browser’s merge_layers path calls it. The void_index it hands
to propagate_voids_to_parts is EMPTY and stays empty: propagation is a
no-op on an empty index, and only the part → parent map is wanted here.
Callers that also need the propagated voids call
propagate_voids_to_parts directly with their own seeded void_index.