Skip to main content

Crate ifc_material

Crate ifc_material 

Source
Expand description

Borrowed, codec-independent IFC MaterialResource views.

The crate projects typed material identity, constituents, layers, profiles, usage assignments, relationships, and material property sets from ifc_model::Model. Accessors distinguish absent optional values from malformed values and enforce immediate aggregate shape, required slots, and MaterialResource WHERE constraints. Authored placement and offset values are exposed here; geometric interpretation remains in ifc-geometry.

Views and authoring bind to the release the model’s header declares (IFC2X3 TC1, IFC4 ADD2 TC1 or IFC4X3 ADD2; see material_schema): every slot position comes from that release’s bundled schema table. An attribute the release lacks is MaterialError::NotInSchema, and a record type it lacks is MaterialError::EntityNotInSchema; neither is read from another release’s slot.

Re-exports§

pub use authoring::associate_material;
pub use authoring::associate_material_with_owner_history;
pub use authoring::create_constituent;
pub use authoring::create_constituent_set;
pub use authoring::create_layer;
pub use authoring::create_layer_set;
pub use authoring::create_layer_set_usage;
pub use authoring::create_layer_with_offsets;
pub use authoring::create_material;
pub use authoring::create_material_classification_relationship;
pub use authoring::create_material_definition_representation;
pub use authoring::create_material_list;
pub use authoring::create_material_properties;
pub use authoring::create_material_relationship;
pub use authoring::create_profile;
pub use authoring::create_profile_set;
pub use authoring::create_profile_set_usage;
pub use authoring::create_profile_set_usage_tapering;
pub use authoring::create_profile_with_offsets;
pub use authoring::ConstituentDraft;
pub use authoring::LayerDraft;
pub use authoring::LayerSetDraft;
pub use authoring::MaterialAssignmentDraft;
pub use authoring::MaterialDraft;
pub use authoring::ProfileDraft;
pub use constituent::ConstituentFractionDiagnostic;
pub use constituent::MaterialConstituent;
pub use constituent::MaterialConstituentSet;
pub use error::MaterialError;
pub use error::MaterialResult;
pub use layer::MaterialLayer;
pub use layer::MaterialLayerSet;
pub use layer::MaterialLayerSetUsage;
pub use layer::MaterialLayerWithOffsets;
pub use material::Material;
pub use material::MaterialClassificationRelationship;
pub use material::MaterialList;
pub use material::MaterialProperties;
pub use material::MaterialRelationship;
pub use profile::MaterialProfile;
pub use profile::MaterialProfileSet;
pub use profile::MaterialProfileSetUsage;
pub use profile::MaterialProfileSetUsageTapering;
pub use profile::MaterialProfileWithOffsets;
pub use types::CardinalPointReference;
pub use types::DirectionSense;
pub use types::LayerSetDirection;
pub use types::LogicalValue;
pub use types::MaterialSelect;
pub use types::StandardCardinalPoint;
pub use types::IFC4_MATERIAL_RESOURCE_ENTITIES;
pub use types::IFC4_MATERIAL_RESOURCE_TYPES;
pub use usage::AssignmentSource;
pub use usage::MaterialAssignment;
pub use usage::MaterialDefinition;
pub use usage::MaterialUsageDefinition;
pub use usage::ResolvedAssignment;
pub use usage::ResolvedMaterialSelect;
pub use view::MaterialView;

Modules§

authoring
Transactional material authoring, bound to the model’s release.
constituent
IfcMaterialConstituentSet for non-layered composites.
error
Typed failures while interpreting IFC material-resource entities.
layer
IfcMaterialLayer and IfcMaterialLayerSet semantic projections.
material
IfcMaterial and material properties.
profile
Semantic half of IfcMaterialProfile*.
types
MaterialResource defined types and selects.
usage
Resolving which material applies to a given element.
view
Shared borrowed-view mechanics and strict IFC slot decoders.

Enums§

SchemaVersion
The IFC release a material read or write binds to (re-exported from ifc-schema). Which IFC schema version a table describes.

Functions§

material_schema
The IFC release model’s material records are read and written against.