pub struct PrepassSpans {
pub styled_items: Vec<Span>,
pub indexed_colour_maps: Vec<Span>,
pub material_def_reprs: Vec<Span>,
pub rel_associates_material: Vec<Span>,
pub void_rels: Vec<Span>,
pub fills_rels: Vec<Span>,
pub aggregate_rels: Vec<Span>,
pub defines_by_type: Vec<Span>,
}Expand description
Entity spans a scan collected for post-scan resolution (no mid-scan decode).
Fields§
§styled_items: Vec<Span>IFCSTYLEDITEM — geometry-attached AND orphan (material appearance);
the resolver classifies them (decoding is the cost of telling them apart).
indexed_colour_maps: Vec<Span>IFCINDEXEDCOLOURMAP (#663/#858 — CATIA/3DEXPERIENCE per-triangle palettes).
material_def_reprs: Vec<Span>IFCMATERIALDEFINITIONREPRESENTATION (#407 material chain).
rel_associates_material: Vec<Span>IFCRELASSOCIATESMATERIAL (#407 material chain).
void_rels: Vec<Span>IFCRELVOIDSELEMENT — host → opening.
fills_rels: Vec<Span>IFCRELFILLSELEMENT — opening → filling (window/door); drives the
native opening filter. Cheap to collect everywhere.
aggregate_rels: Vec<Span>IFCRELAGGREGATES — parent → children, for aggregate void
propagation (#845, IfcWallElementedCase etc.).
defines_by_type: Vec<Span>Implementations§
Source§impl PrepassSpans
impl PrepassSpans
Sourcepub fn stash(
&mut self,
type_name: &str,
id: u32,
start: usize,
end: usize,
) -> bool
pub fn stash( &mut self, type_name: &str, id: u32, start: usize, end: usize, ) -> bool
Stash (id, start, end) under the list type_name belongs to, and say
whether it belonged to one at all.
type_name is the raw keyword from EntityScanner::next_entity, in
whatever case the file wrote it, so the dispatch goes through
keyword_eq. Every scan loop that only needs the span lists calls
this instead of spelling the same keyword table again; processor::mod
keeps its own arms (its continues interleave with other work) but
compares the same way.
Trait Implementations§
Source§impl Clone for PrepassSpans
impl Clone for PrepassSpans
Source§fn clone(&self) -> PrepassSpans
fn clone(&self) -> PrepassSpans
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrepassSpans
impl Debug for PrepassSpans
Source§impl Default for PrepassSpans
impl Default for PrepassSpans
Source§fn default() -> PrepassSpans
fn default() -> PrepassSpans
Auto Trait Implementations§
impl Freeze for PrepassSpans
impl RefUnwindSafe for PrepassSpans
impl Send for PrepassSpans
impl Sync for PrepassSpans
impl Unpin for PrepassSpans
impl UnsafeUnpin for PrepassSpans
impl UnwindSafe for PrepassSpans
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.