#[non_exhaustive]pub struct AlignmentHierarchy {
pub alignment: EntityId,
pub parent: Option<EntityId>,
pub horizontal: Vec<EntityId>,
pub vertical: Vec<EntityId>,
pub cant: Vec<EntityId>,
pub referents: Vec<EntityId>,
pub children: Vec<EntityId>,
pub positioned: Vec<EntityId>,
}Expand description
What one IfcAlignment is made of, as stated by its relationships.
Every list keeps the order the file states: nesting order for layouts
and referents, relationship order for children and positioned products.
A list may be empty; how many layouts of a kind an alignment may have is
a question the sole_* methods answer with a typed refusal.
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.alignment: EntityIdThe IfcAlignment described.
parent: Option<EntityId>The IfcAlignment that aggregates this one, when it is a child.
None for an alignment aggregated directly under the project (or
not aggregated at all).
horizontal: Vec<EntityId>Nested IfcAlignmentHorizontal layouts.
vertical: Vec<EntityId>Nested IfcAlignmentVertical layouts.
cant: Vec<EntityId>Nested IfcAlignmentCant layouts.
referents: Vec<EntityId>Nested IfcReferents, in nesting order.
children: Vec<EntityId>Child IfcAlignments aggregated under this one.
positioned: Vec<EntityId>Products this alignment positions through IfcRelPositions.
Implementations§
Source§impl AlignmentHierarchy
impl AlignmentHierarchy
Sourcepub fn sole_horizontal(&self) -> AlignmentResult<Option<EntityId>>
pub fn sole_horizontal(&self) -> AlignmentResult<Option<EntityId>>
The alignment’s own horizontal layout: None when it nests none
(a child reusing its parent’s, see
AlignmentView::governing_horizontal).
§Errors
AlignmentError::SemanticViolation when it nests several.
Sourcepub fn sole_vertical(&self) -> AlignmentResult<Option<EntityId>>
pub fn sole_vertical(&self) -> AlignmentResult<Option<EntityId>>
The alignment’s vertical layout, None when it nests none.
§Errors
AlignmentError::SemanticViolation when it nests several.
Sourcepub fn sole_cant(&self) -> AlignmentResult<Option<EntityId>>
pub fn sole_cant(&self) -> AlignmentResult<Option<EntityId>>
The alignment’s cant layout, None when it nests none.
§Errors
AlignmentError::SemanticViolation when it nests several.