pub struct StructuralAction<'m, 's> { /* private fields */ }Expand description
Borrowed projection of an IfcStructuralAction (point, curve/linear, or surface/planar).
The IFC2X3-only varying subtypes IfcStructuralLinearActionVarying and
IfcStructuralPlanarActionVarying classify as ActionKind::Curve and
ActionKind::Surface; StructuralAction::is_varying tells them apart
and StructuralAction::subsequent_applied_loads reads their load list.
Implementations§
Source§impl<'m, 's> StructuralAction<'m, 's>
impl<'m, 's> StructuralAction<'m, 's>
Sourcepub fn is_varying(&self) -> bool
pub fn is_varying(&self) -> bool
Whether the entity is an IFC2X3 IfcStructuralLinearActionVarying
or IfcStructuralPlanarActionVarying.
Always false under IFC4 and IFC4X3, which declare neither entity.
Sourcepub fn varying_applied_load_location(
&self,
) -> StructuralResult<Option<EntityId>>
pub fn varying_applied_load_location( &self, ) -> StructuralResult<Option<EntityId>>
VaryingAppliedLoadLocation, the IfcShapeAspect locating the
varying loads along the activity.
None for a non-varying action and under IFC4/IFC4X3. Fails with
StructuralError::InvalidValue when the mandatory reference is
unset, and with the reference errors when it dangles or names
another type.
Sourcepub fn subsequent_applied_loads(
&self,
) -> StructuralResult<Option<Vec<StaticLoad<'m, 's>>>>
pub fn subsequent_applied_loads( &self, ) -> StructuralResult<Option<Vec<StaticLoad<'m, 's>>>>
SubsequentAppliedLoads, the loads after the inherited AppliedLoad,
in list order and projected as StaticLoad.
None for a non-varying action and under IFC4/IFC4X3. The schema
minimum is enforced: LIST [1:?] on the linear form, LIST [2:?]
on the planar form, otherwise StructuralError::InvalidCardinality.
A list member that dangles fails with
StructuralError::DanglingReference; one that is not an
IfcStructuralLoad fails with StructuralError::WrongReferenceType.
The derived VaryingAppliedLoads is AppliedLoad followed by this
list.
Source§impl<'m, 's> StructuralAction<'m, 's>
impl<'m, 's> StructuralAction<'m, 's>
Sourcepub fn kind(&self) -> ActionKind
pub fn kind(&self) -> ActionKind
Which application geometry this action carries.
Sourcepub fn applied_load(&self) -> StructuralResult<EntityId>
pub fn applied_load(&self) -> StructuralResult<EntityId>
AppliedLoad, the IfcStructuralLoad this action applies.
Fails with StructuralError::WrongReferenceType if the referenced
load’s type is not one of the subtypes this action’s kind permits
(e.g. a point action must reference IfcStructuralLoadSingleForce or
IfcStructuralLoadSingleDisplacement), and with
StructuralError::SemanticViolation for the same schema-shape
checks validate_semantics performs.
Sourcepub fn coordinate_system(&self) -> StructuralResult<CoordinateSystem>
pub fn coordinate_system(&self) -> StructuralResult<CoordinateSystem>
GlobalOrLocal, always present on IfcStructuralAction.
Sourcepub fn destabilizing_load(&self) -> StructuralResult<Option<bool>>
pub fn destabilizing_load(&self) -> StructuralResult<Option<bool>>
DestabilizingLoad, mandatory in IFC2X3 (defaults to Some) and optional in IFC4/IFC4X3.
None when the attribute does not exist for this type in this schema version.
Sourcepub fn caused_by(&self) -> StructuralResult<Option<EntityId>>
pub fn caused_by(&self) -> StructuralResult<Option<EntityId>>
CausedBy, the IfcStructuralReaction that produced this action, when the attribute exists and is set.
Sourcepub fn predefined_type(&self) -> StructuralResult<Option<&'m str>>
pub fn predefined_type(&self) -> StructuralResult<Option<&'m str>>
PredefinedType, when the attribute exists for this action’s IFC type.
IfcStructuralPointAction has no PredefinedType attribute, so this
returns None for point actions regardless of schema version.
Sourcepub fn projected_or_true(&self) -> StructuralResult<Option<&'m str>>
pub fn projected_or_true(&self) -> StructuralResult<Option<&'m str>>
ProjectedOrTrue, mandatory on linear/planar actions in IFC2X3 and optional elsewhere.