pub struct AddedSolid {
pub handle: u32,
pub name: String,
pub face_names: Vec<(u64, String)>,
pub edge_names: Vec<(u64, String)>,
pub face_groups: Vec<(String, Vec<String>)>,
pub edge_groups: Vec<(String, Vec<String>)>,
}Expand description
A solid produced by a feature: its resident handle, its solid name, and its
named faces/edges ((topology_id, name)). the caller tessellates/pulls names via the
handle; the scene-map registers the names for downstream reference resolution.
Fields§
§handle: u32§name: String§face_names: Vec<(u64, String)>§edge_names: Vec<(u64, String)>Edge names propagated/authored on the solid. Present so edge-selecting features (fillet/chamfer) can resolve “the edge of the extrude above” against the scene-map — the pinned example in contract rule 1.
face_groups: Vec<(String, Vec<String>)>CONTAINER groups: (container_name, member face NAMES). A profile-swept
feature registers the un-keyed name of each of its per-loop face families
here ({cap_base}_START -> every per-loop START cap), so a reference
stored before per-loop naming still resolves. See [SceneMap::face_groups].
Members are NAMES, not (handle, id) refs, and are resolved at lookup
time. Name fidelity carries a face through a later boolean or dressup, so
a group registered by the extrude keeps naming the right faces after the
solid is consumed and re-registered by something downstream — which a
captured handle would not survive.
edge_groups: Vec<(String, Vec<String>)>The same, for the derived edge names that embed those face names.
Trait Implementations§
Source§impl Clone for AddedSolid
impl Clone for AddedSolid
Source§fn clone(&self) -> AddedSolid
fn clone(&self) -> AddedSolid
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more