pub struct OpeningDiagnostic {
pub opening_id: u32,
pub kind: OpeningKindDiag,
pub vertex_count: usize,
}Expand description
One opening’s worth of diagnostic data — what classify_openings
observed about it.
A new field here of ANY visibility is a BREAKING change: re-exported from the
crate root and not #[non_exhaustive], so a field breaks every downstream
struct literal. cargo-semver-checks denies both halves and demands a major
for each — constructible_struct_adds_field for a pub one, and
constructible_struct_adds_private_field for the private-field-plus-accessor
move that otherwise looks like the additive way out.
Fields§
§opening_id: u32Express ID of the IfcOpeningElement itself.
kind: OpeningKindDiagBranch the classifier took for this opening.
vertex_count: usizeVertex count of the opening’s mesh, for diagnostics only. NOT what the
classifier gates on — it gates on triangle count, which is invariant to
the vertex duplication and welding this number moves with (#4119). See
the gate in router/voids/synthesis.rs, which owns that reasoning.
Trait Implementations§
Source§impl Clone for OpeningDiagnostic
impl Clone for OpeningDiagnostic
Source§fn clone(&self) -> OpeningDiagnostic
fn clone(&self) -> OpeningDiagnostic
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for OpeningDiagnostic
impl RefUnwindSafe for OpeningDiagnostic
impl Send for OpeningDiagnostic
impl Sync for OpeningDiagnostic
impl Unpin for OpeningDiagnostic
impl UnwindSafe for OpeningDiagnostic
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.