pub struct MaterialList<'m> { /* private fields */ }Expand description
Borrowed projection of IFCMATERIALLIST.
Projections handed out by a crate::MaterialView read against the
release the model declares; one built with try_new has no model and
reads against IFC4, as in 0.2.0.
Implementations§
Source§impl<'m> MaterialList<'m>
impl<'m> MaterialList<'m>
Sourcepub fn try_new(id: EntityId, entity: &'m Entity) -> MaterialResult<Self>
pub fn try_new(id: EntityId, entity: &'m Entity) -> MaterialResult<Self>
Wraps entity as this view after checking it is an instance
of the expected IFC entity type; fails with
crate::MaterialError::WrongEntityType otherwise.
Without a model there is no header to bind, so the projection
reads against IFC4. Use Self::try_from_view to read the
release a model declares.
Sourcepub fn try_from_view(
view: MaterialView<'m>,
id: EntityId,
) -> MaterialResult<Self>
pub fn try_from_view( view: MaterialView<'m>, id: EntityId, ) -> MaterialResult<Self>
Looks up id in the view’s model and projects it against the
release the model declares.
§Errors
crate::MaterialError::UnknownEntity when id is not in
the model, and crate::MaterialError::WrongEntityType when
it is another entity type.
Sourcepub fn schema(self) -> MaterialResult<SchemaVersion>
pub fn schema(self) -> MaterialResult<SchemaVersion>
The release this projection reads against.
§Errors
crate::MaterialError::MultipleSchemas or
crate::MaterialError::UnsupportedSchema when the model’s
header binds none.
Source§impl MaterialList<'_>
impl MaterialList<'_>
Sourcepub fn material_ids(self) -> MaterialResult<Vec<EntityId>>
pub fn material_ids(self) -> MaterialResult<Vec<EntityId>>
IfcMaterialList.Materials, the ids of the constituent
IfcMaterial entities. Required and must be non-empty.