pub struct Material<'m> { /* private fields */ }Expand description
Borrowed projection of IFCMATERIAL.
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> Material<'m>
impl<'m> Material<'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<'m> Material<'m>
impl<'m> Material<'m>
Sourcepub fn name(self) -> MaterialResult<&'m str>
pub fn name(self) -> MaterialResult<&'m str>
IfcMaterial.Name. Required; a malformed record is an error, not
an absent value. Declared by every release.
Sourcepub fn description(self) -> MaterialResult<Option<&'m str>>
pub fn description(self) -> MaterialResult<Option<&'m str>>
IfcMaterial.Description, if given.
§Errors
crate::MaterialError::NotInSchema for IFC2X3, whose IfcMaterial
declares Name only.
Sourcepub fn category(self) -> MaterialResult<Option<&'m str>>
pub fn category(self) -> MaterialResult<Option<&'m str>>
IfcMaterial.Category, if given.
§Errors
crate::MaterialError::NotInSchema for IFC2X3, whose IfcMaterial
declares Name only.