#[non_exhaustive]pub struct InterferenceReport {
pub kind: Interference,
pub penetrating_pairs: Vec<(usize, usize)>,
pub touching_pairs: Vec<(usize, usize)>,
pub narrow_phase_tests: usize,
pub broad_phase_rejections: usize,
pub degenerate_skips: usize,
pub containment: bool,
}Expand description
The verdict plus the evidence behind it.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: InterferenceThe verdict.
penetrating_pairs: Vec<(usize, usize)>Triangle-index pairs that meet transversally.
touching_pairs: Vec<(usize, usize)>Triangle-index pairs in non-transverse contact.
narrow_phase_tests: usizeTriangle pairs whose boxes overlapped and were tested exactly.
broad_phase_rejections: usizeTriangle pairs the broad phase rejected without an exact test.
degenerate_skips: usizePairs skipped because a triangle was degenerate. A caller measuring clearance must know its input was not fully testable.
containment: boolWhether a vertex of one solid was found strictly inside the other.
Two boxes overlapping face-to-face cross only edge-to-edge, so the
triangle predicate reports contact and never Proper. Shared volume is
therefore decided by containment, not by surface topology alone.
Implementations§
Trait Implementations§
Source§impl Clone for InterferenceReport
impl Clone for InterferenceReport
Source§fn clone(&self) -> InterferenceReport
fn clone(&self) -> InterferenceReport
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for InterferenceReport
impl RefUnwindSafe for InterferenceReport
impl Send for InterferenceReport
impl Sync for InterferenceReport
impl Unpin for InterferenceReport
impl UnsafeUnpin for InterferenceReport
impl UnwindSafe for InterferenceReport
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