pub struct StructuralView<'m, 's> { /* private fields */ }Expand description
Entry point for strict structural-analysis projections.
Implementations§
Source§impl<'m, 's> StructuralView<'m, 's>
impl<'m, 's> StructuralView<'m, 's>
Sourcepub fn analysis_items(
&self,
analysis_model: EntityId,
) -> StructuralResult<Vec<EntityId>>
pub fn analysis_items( &self, analysis_model: EntityId, ) -> StructuralResult<Vec<EntityId>>
Members of analysis_model’s IsGroupedBy IfcRelAssignsToGroup relations, in file order.
Fails with crate::StructuralError::SemanticViolation if a relation
assigns the analysis model to itself.
Sourcepub fn reactions_for_result_group(
&self,
result_group: EntityId,
) -> StructuralResult<Vec<EntityId>>
pub fn reactions_for_result_group( &self, result_group: EntityId, ) -> StructuralResult<Vec<EntityId>>
Reactions assigned to one structural result group in relation/file order.
Sourcepub fn member_connections(
&self,
member: EntityId,
) -> StructuralResult<Vec<MemberConnection>>
pub fn member_connections( &self, member: EntityId, ) -> StructuralResult<Vec<MemberConnection>>
IfcRelConnectsStructuralMember relations attaching connections to member, in file order.
Sourcepub fn activities_for(
&self,
target: EntityId,
) -> StructuralResult<Vec<ActivityAssignment>>
pub fn activities_for( &self, target: EntityId, ) -> StructuralResult<Vec<ActivityAssignment>>
IfcRelConnectsStructuralActivity relations attaching activities to target, in file order.
Fails with crate::StructuralError::WrongType if target is neither
an IfcElement nor an IfcStructuralItem, and with
crate::StructuralError::SemanticViolation if an IfcStructuralActivity
is attached by more than one relation.
Source§impl<'m, 's> StructuralView<'m, 's>
impl<'m, 's> StructuralView<'m, 's>
Sourcepub fn new(model: &'m Model, schema: &'s Schema) -> Self
pub fn new(model: &'m Model, schema: &'s Schema) -> Self
Build a view over model resolved against schema.
Sourcepub fn schema(&self) -> &'s Schema
pub fn schema(&self) -> &'s Schema
The schema this view resolves entity types and attribute slots against.
Sourcepub fn analysis_model(
&self,
id: EntityId,
) -> StructuralResult<AnalysisModel<'m, 's>>
pub fn analysis_model( &self, id: EntityId, ) -> StructuralResult<AnalysisModel<'m, 's>>
Project id as an IfcStructuralAnalysisModel.
Sourcepub fn load_group(&self, id: EntityId) -> StructuralResult<LoadGroup<'m, 's>>
pub fn load_group(&self, id: EntityId) -> StructuralResult<LoadGroup<'m, 's>>
Project id as an IfcStructuralLoadGroup.
Sourcepub fn result_group(
&self,
id: EntityId,
) -> StructuralResult<ResultGroup<'m, 's>>
pub fn result_group( &self, id: EntityId, ) -> StructuralResult<ResultGroup<'m, 's>>
Project id as an IfcStructuralResultGroup.
Sourcepub fn member(&self, id: EntityId) -> StructuralResult<Member<'m, 's>>
pub fn member(&self, id: EntityId) -> StructuralResult<Member<'m, 's>>
Project id as an IfcStructuralMember, dispatching on its curve/surface subtype.
Sourcepub fn connection(
&self,
id: EntityId,
) -> StructuralResult<StructuralConnection<'m, 's>>
pub fn connection( &self, id: EntityId, ) -> StructuralResult<StructuralConnection<'m, 's>>
Project id as an IfcStructuralConnection, dispatching on its point/curve/surface subtype.
Sourcepub fn boundary_condition(
&self,
id: EntityId,
) -> StructuralResult<BoundaryCondition<'m, 's>>
pub fn boundary_condition( &self, id: EntityId, ) -> StructuralResult<BoundaryCondition<'m, 's>>
Project a concrete boundary condition.
Sourcepub fn connection_condition(
&self,
id: EntityId,
) -> StructuralResult<ConnectionCondition<'m, 's>>
pub fn connection_condition( &self, id: EntityId, ) -> StructuralResult<ConnectionCondition<'m, 's>>
Project a concrete structural connection condition.
Sourcepub fn action(&self, id: EntityId) -> StructuralResult<StructuralAction<'m, 's>>
pub fn action(&self, id: EntityId) -> StructuralResult<StructuralAction<'m, 's>>
Project id as an IfcStructuralAction, dispatching on its point/curve/surface subtype.
Sourcepub fn load(&self, id: EntityId) -> StructuralResult<StaticLoad<'m, 's>>
pub fn load(&self, id: EntityId) -> StructuralResult<StaticLoad<'m, 's>>
Project id as an IfcStructuralLoadStatic value.
Sourcepub fn load_configuration(
&self,
id: EntityId,
) -> StructuralResult<LoadConfiguration<'m, 's>>
pub fn load_configuration( &self, id: EntityId, ) -> StructuralResult<LoadConfiguration<'m, 's>>
Project an IFC4+ structural load configuration.
Sourcepub fn reaction(&self, id: EntityId) -> StructuralResult<Reaction<'m, 's>>
pub fn reaction(&self, id: EntityId) -> StructuralResult<Reaction<'m, 's>>
Project a concrete structural reaction.
Sourcepub fn static_load(&self, id: EntityId) -> StructuralResult<StaticLoad<'m, 's>>
pub fn static_load(&self, id: EntityId) -> StructuralResult<StaticLoad<'m, 's>>
Equivalent to StructuralView::load, provided for callers that name the projection explicitly.
Source§impl<'m> StructuralView<'m, 'static>
impl<'m> StructuralView<'m, 'static>
Sourcepub fn for_model(model: &'m Model) -> StructuralResult<Self>
pub fn for_model(model: &'m Model) -> StructuralResult<Self>
Build a view by resolving the schema from the model’s FILE_SCHEMA header token.
Fails if the header declares zero or multiple schema tokens, or a token this crate does not recognise (only IFC2X3, IFC4 and IFC4X3 are known).