pub struct ResolvedPrepass {
pub geometry_style_index: FxHashMap<u32, GeometryStyleInfo>,
pub indexed_colour_index: FxHashMap<u32, [f32; 4]>,
pub indexed_colour_full: FxHashMap<u32, FullIndexedColourMap>,
pub orphan_styled_items: FxHashMap<u32, [f32; 4]>,
pub material_def_reprs: FxHashMap<u32, Vec<u32>>,
pub element_to_material: FxHashMap<u32, u32>,
pub element_material_colors: FxHashMap<u32, Vec<[f32; 4]>>,
pub void_index: FxHashMap<u32, Vec<u32>>,
pub filling_by_opening: FxHashMap<u32, u32>,
pub deferred_attached_styled_spans: Vec<(usize, usize)>,
}Expand description
Everything the post-scan resolution produces.
Fields§
§geometry_style_index: FxHashMap<u32, GeometryStyleInfo>Geometry item id → resolved style (styled items first in file order, then IfcIndexedColourMap dominant colours fill the gaps — styled items win, #913 precedence).
indexed_colour_index: FxHashMap<u32, [f32; 4]>Geometry item id → dominant palette colour (#858).
indexed_colour_full: FxHashMap<u32, FullIndexedColourMap>Geometry item id → full per-triangle palette (#858); empty unless
ResolveOptions::collect_indexed_colour_full.
orphan_styled_items: FxHashMap<u32, [f32; 4]>Orphan IfcStyledItem colours (material appearances, #407).
material_def_reprs: FxHashMap<u32, Vec<u32>>Material id → styled representation ids (#407).
element_to_material: FxHashMap<u32, u32>Element id → material(-select) id (#407).
element_material_colors: FxHashMap<u32, Vec<[f32; 4]>>Element id → material colour list (#407/#913 §2.3 transparent/opaque alternation for window/door parts). The canonical join.
void_index: FxHashMap<u32, Vec<u32>>Host element id → opening ids, AFTER aggregate propagation (#845).
filling_by_opening: FxHashMap<u32, u32>Opening id → filling element id (native opening filter input).
deferred_attached_styled_spans: Vec<(usize, usize)>Geometry-attached styled-item spans NOT resolved because
ResolveOptions::defer_attached_styles was set; replay them with
resolve_styled_item_spans.
Trait Implementations§
Source§impl Debug for ResolvedPrepass
impl Debug for ResolvedPrepass
Source§impl Default for ResolvedPrepass
impl Default for ResolvedPrepass
Source§fn default() -> ResolvedPrepass
fn default() -> ResolvedPrepass
Auto Trait Implementations§
impl Freeze for ResolvedPrepass
impl RefUnwindSafe for ResolvedPrepass
impl Send for ResolvedPrepass
impl Sync for ResolvedPrepass
impl Unpin for ResolvedPrepass
impl UnsafeUnpin for ResolvedPrepass
impl UnwindSafe for ResolvedPrepass
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> 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.