#[non_exhaustive]pub enum AlignmentError {
Show 15 variants
MissingEntity {
entity: EntityId,
},
WrongType {
entity: EntityId,
expected: &'static str,
actual: String,
},
MissingAttribute {
entity: EntityId,
index: usize,
name: &'static str,
},
InvalidAttribute {
entity: EntityId,
index: usize,
name: &'static str,
},
InvalidUnits {
detail: &'static str,
},
InvalidSegment {
entity: EntityId,
detail: &'static str,
},
Unsupported {
entity: EntityId,
type_name: String,
detail: &'static str,
},
Graph {
detail: String,
},
MissingSchema,
AmbiguousSchema {
tokens: Vec<String>,
},
UnsupportedSchema {
token: String,
},
SemanticViolation {
entity: Option<EntityId>,
rule: &'static str,
},
InvalidAuthoredValue {
type_name: &'static str,
attribute: &'static str,
detail: String,
},
DanglingReference {
entity: EntityId,
attribute: &'static str,
target: EntityId,
},
BudgetExceeded {
max_depth: usize,
max_nodes: usize,
},
}Expand description
Why an IFC alignment entity could not be read or lowered.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
MissingEntity
A referenced entity id is not present in the model.
WrongType
An entity was not the IFC type the referencing slot requires.
Fields
MissingAttribute
A mandatory attribute was absent, so the value cannot be inferred.
Fields
InvalidAttribute
An attribute was present but held the wrong kind of value.
Fields
InvalidUnits
The project’s unit assignment does not resolve to usable lengths or angles.
InvalidSegment
A horizontal, vertical, or cant segment carries internally inconsistent data.
Unsupported
A segment type or configuration this crate deliberately does not lower.
Covers segment kinds that are legal IFC but require data this crate does
not yet combine (e.g. VIENNESEBEND needs the cant swing carried by a
separate IfcAlignmentCant layout) or that have no closed-form neutral
curve here (e.g. CUBIC).
Fields
Graph
The assembled neutral alignment graph violates a structural invariant.
MissingSchema
The model header declares no FILE_SCHEMA token.
AmbiguousSchema
More than one FILE_SCHEMA token was declared.
UnsupportedSchema
The declared schema is not one this crate can interpret.
Alignment entities (IfcAlignment*) were introduced in IFC4X3; IFC2X3
and IFC4 ADD2 TC1 do not declare them at all, so there is no version
dispatch here the way ifc-resource/ifc-structural have one –
exactly one profile is authoritative and anything else is refused.
SemanticViolation
A relationship or nesting structure violates a stated invariant.
Fields
InvalidAuthoredValue
An authored value was rejected before anything was staged (ADR 0011).
Distinct from Self::InvalidSegment, which describes a segment that
already exists in a file. Here there is no entity yet and therefore no
id to report: the caller passed a value that could not be written.
Fields
DanglingReference
A dangling reference: the target id is not present in the model.
Fields
BudgetExceeded
Graph traversal exceeded an explicit depth or node-count bound.
Trait Implementations§
Source§impl Clone for AlignmentError
impl Clone for AlignmentError
Source§impl Debug for AlignmentError
impl Debug for AlignmentError
Source§impl Display for AlignmentError
impl Display for AlignmentError
Source§impl Error for AlignmentError
impl Error for AlignmentError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()