pub struct MaterialLayerIndex { /* private fields */ }Expand description
Map from element entity ID to its resolved LayerBuildup.
Implementations§
Source§impl MaterialLayerIndex
impl MaterialLayerIndex
pub fn new() -> Self
Sourcepub fn from_content(content: &str, decoder: &mut EntityDecoder<'_>) -> Self
pub fn from_content(content: &str, decoder: &mut EntityDecoder<'_>) -> Self
Scan content for IfcRelAssociatesMaterial and build the index.
One pass over the file: for each association we resolve the
RelatingMaterial once and insert the result under every related
object ID. Elements that associate with a non-sliceable material are
still inserted (as NotSliceable) so callers can distinguish
“has a material, can’t slice” from “no material association at all”.
Sourcepub fn get(&self, element_id: u32) -> Option<&LayerBuildup>
pub fn get(&self, element_id: u32) -> Option<&LayerBuildup>
Get the resolved buildup for an element, or None if the element
has no material association at all.
pub fn is_empty(&self) -> bool
Sourcepub fn sliceable_count(&self) -> usize
pub fn sliceable_count(&self) -> usize
Count how many of the recorded buildups are actually sliceable. Useful for logging / statistics — not on the hot path.
Trait Implementations§
Source§impl Clone for MaterialLayerIndex
impl Clone for MaterialLayerIndex
Source§fn clone(&self) -> MaterialLayerIndex
fn clone(&self) -> MaterialLayerIndex
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MaterialLayerIndex
impl Debug for MaterialLayerIndex
Source§impl Default for MaterialLayerIndex
impl Default for MaterialLayerIndex
Source§fn default() -> MaterialLayerIndex
fn default() -> MaterialLayerIndex
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MaterialLayerIndex
impl RefUnwindSafe for MaterialLayerIndex
impl Send for MaterialLayerIndex
impl Sync for MaterialLayerIndex
impl Unpin for MaterialLayerIndex
impl UnsafeUnpin for MaterialLayerIndex
impl UnwindSafe for MaterialLayerIndex
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.