#[non_exhaustive]pub struct BodyItem {
pub item: EntityId,
pub type_name: String,
pub mapped_by: Vec<EntityId>,
pub kind: BodyKind,
pub swept: Option<SweptSolid>,
pub item_world: Transform,
}Expand description
One geometric representation item of a body.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.item: EntityIdThe geometric item itself, never an IfcMappedItem.
type_name: StringIts concrete IFC type in upper case.
mapped_by: Vec<EntityId>The IfcMappedItems this item was reached through, outermost first.
Empty when the item is authored directly in the body.
kind: BodyKindHow the item models its shape.
swept: Option<SweptSolid>Profile and path, for the swept-area families
(BodyKind::is_swept_area); None for every other kind.
item_world: TransformThe frame the item’s own coordinates are placed in, in metres: the
representation context’s WorldCoordinateSystem and the product
placement, composed with every MappingTarget o MappingOrigin in
Self::mapped_by (#185). The identity composition for an item
authored directly in a body at the origin.
Unlike SweptSolid::placement_world it is not required to be rigid:
a mapping may scale or mirror any item kind, and this frame says so.
A swept solid’s placement_world is this frame composed with the
solid’s own Position.
Implementations§
Source§impl BodyItem
impl BodyItem
Sourcepub fn is_mirrored(&self) -> Option<bool>
pub fn is_mirrored(&self) -> Option<bool>
Whether the item is placed mirrored: Self::item_world reverses
handedness, so a left-hand part appears as its right-hand twin.
None when the frame is degenerate (a zero or non-finite
determinant), which no valid placement or mapping produces.