pub struct MaterialView<'m> { /* private fields */ }Expand description
Borrowed MaterialResource interpretation of a model.
Implementations§
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn constituents(self) -> impl Iterator<Item = MaterialConstituent<'m>> + 'm
pub fn constituents(self) -> impl Iterator<Item = MaterialConstituent<'m>> + 'm
Iterates every IfcMaterialConstituent instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn constituent_sets(
self,
) -> impl Iterator<Item = MaterialConstituentSet<'m>> + 'm
pub fn constituent_sets( self, ) -> impl Iterator<Item = MaterialConstituentSet<'m>> + 'm
Iterates every IfcMaterialConstituentSet instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn layers(self) -> impl Iterator<Item = MaterialLayer<'m>> + 'm
pub fn layers(self) -> impl Iterator<Item = MaterialLayer<'m>> + 'm
Iterates every IfcMaterialLayer instance in the model.
Sourcepub fn layers_with_offsets(
self,
) -> impl Iterator<Item = MaterialLayerWithOffsets<'m>> + 'm
pub fn layers_with_offsets( self, ) -> impl Iterator<Item = MaterialLayerWithOffsets<'m>> + 'm
Iterates every IfcMaterialLayerWithOffsets instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn layer_sets(self) -> impl Iterator<Item = MaterialLayerSet<'m>> + 'm
pub fn layer_sets(self) -> impl Iterator<Item = MaterialLayerSet<'m>> + 'm
Iterates every IfcMaterialLayerSet instance in the model.
Sourcepub fn total_thickness(self, set: MaterialLayerSet<'m>) -> MaterialResult<f64>
pub fn total_thickness(self, set: MaterialLayerSet<'m>) -> MaterialResult<f64>
Evaluate the normative IfcMlsTotalThickness function.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn layer_set_usages(
self,
) -> impl Iterator<Item = MaterialLayerSetUsage<'m>> + 'm
pub fn layer_set_usages( self, ) -> impl Iterator<Item = MaterialLayerSetUsage<'m>> + 'm
Iterates every IfcMaterialLayerSetUsage instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn material_properties(
self,
) -> impl Iterator<Item = MaterialProperties<'m>> + 'm
pub fn material_properties( self, ) -> impl Iterator<Item = MaterialProperties<'m>> + 'm
Iterates every IfcMaterialProperties instance in the model.
Sourcepub fn properties_for(
self,
material: EntityId,
) -> impl Iterator<Item = MaterialResult<MaterialProperties<'m>>> + 'm
pub fn properties_for( self, material: EntityId, ) -> impl Iterator<Item = MaterialResult<MaterialProperties<'m>>> + 'm
Iterates every IfcMaterialProperties whose Material attribute
resolves to material, surfacing malformed records as errors rather
than skipping them.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn classification_relationships(
self,
) -> impl Iterator<Item = MaterialClassificationRelationship<'m>> + 'm
pub fn classification_relationships( self, ) -> impl Iterator<Item = MaterialClassificationRelationship<'m>> + 'm
Iterates every IfcMaterialClassificationRelationship in the model.
Sourcepub fn material_lists(self) -> impl Iterator<Item = MaterialList<'m>> + 'm
pub fn material_lists(self) -> impl Iterator<Item = MaterialList<'m>> + 'm
Iterates every IfcMaterialList instance in the model.
Sourcepub fn material_relationships(
self,
) -> impl Iterator<Item = MaterialRelationship<'m>> + 'm
pub fn material_relationships( self, ) -> impl Iterator<Item = MaterialRelationship<'m>> + 'm
Iterates every IfcMaterialRelationship instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn profiles(self) -> impl Iterator<Item = MaterialProfile<'m>> + 'm
pub fn profiles(self) -> impl Iterator<Item = MaterialProfile<'m>> + 'm
Iterates every IfcMaterialProfile instance in the model.
Sourcepub fn profiles_with_offsets(
self,
) -> impl Iterator<Item = MaterialProfileWithOffsets<'m>> + 'm
pub fn profiles_with_offsets( self, ) -> impl Iterator<Item = MaterialProfileWithOffsets<'m>> + 'm
Iterates every IfcMaterialProfileWithOffsets instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn profile_sets(self) -> impl Iterator<Item = MaterialProfileSet<'m>> + 'm
pub fn profile_sets(self) -> impl Iterator<Item = MaterialProfileSet<'m>> + 'm
Iterates every IfcMaterialProfileSet instance in the model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn profile_set_usages(
self,
) -> impl Iterator<Item = MaterialProfileSetUsage<'m>> + 'm
pub fn profile_set_usages( self, ) -> impl Iterator<Item = MaterialProfileSetUsage<'m>> + 'm
Iterates every IfcMaterialProfileSetUsage instance in the model.
Sourcepub fn tapering_profile_set_usages(
self,
) -> impl Iterator<Item = MaterialProfileSetUsageTapering<'m>> + 'm
pub fn tapering_profile_set_usages( self, ) -> impl Iterator<Item = MaterialProfileSetUsageTapering<'m>> + 'm
Iterates every IfcMaterialProfileSetUsageTapering instance in the
model.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn assignments(self) -> impl Iterator<Item = MaterialAssignment<'m>> + 'm
pub fn assignments(self) -> impl Iterator<Item = MaterialAssignment<'m>> + 'm
Iterates every IfcRelAssociatesMaterial instance in the model.
Sourcepub fn assignments_for(
self,
object: EntityId,
) -> MaterialResult<Vec<MaterialAssignment<'m>>>
pub fn assignments_for( self, object: EntityId, ) -> MaterialResult<Vec<MaterialAssignment<'m>>>
Collects every IfcRelAssociatesMaterial whose RelatedObjects
includes object. Multiple hits indicate an ambiguous direct
assignment; callers that need a single answer should check the
result length themselves or use assigned_material.
Source§impl<'m> MaterialView<'m>
impl<'m> MaterialView<'m>
Sourcepub fn material_definitions(
self,
) -> impl Iterator<Item = MaterialDefinition<'m>> + 'm
pub fn material_definitions( self, ) -> impl Iterator<Item = MaterialDefinition<'m>> + 'm
Every concrete subtype of the abstract IfcMaterialDefinition.
Sourcepub fn material_usage_definitions(
self,
) -> impl Iterator<Item = MaterialUsageDefinition<'m>> + 'm
pub fn material_usage_definitions( self, ) -> impl Iterator<Item = MaterialUsageDefinition<'m>> + 'm
Every concrete subtype of the abstract IfcMaterialUsageDefinition.
Sourcepub fn resolve_material_select(
self,
id: EntityId,
) -> MaterialResult<ResolvedMaterialSelect<'m>>
pub fn resolve_material_select( self, id: EntityId, ) -> MaterialResult<ResolvedMaterialSelect<'m>>
Resolves id as an IfcMaterialSelect branch by dispatching on its
concrete IFC entity type. Fails with
crate::MaterialError::WrongEntityType if id names an entity
that is not a MaterialResource select member.
Sourcepub fn assigned_material(
self,
object: EntityId,
) -> MaterialResult<Option<ResolvedAssignment<'m>>>
pub fn assigned_material( self, object: EntityId, ) -> MaterialResult<Option<ResolvedAssignment<'m>>>
Resolves the single material that applies to object, preferring a
direct IfcRelAssociatesMaterial on the object itself and falling
back to the material assigned to its IfcTypeObject via
IfcRelDefinesByType. Returns Ok(None) if neither exists. Fails
with crate::MaterialError::AmbiguousAssignment or
crate::MaterialError::AmbiguousType if more than one candidate is
found at either level, and with
crate::MaterialError::UnknownEntity if object is not in the
model.