Struct MeshDistance
pub struct MeshDistance {
pub point_a: DVec3,
pub point_b: DVec3,
pub distance_squared: f64,
pub triangle_a: usize,
pub triangle_b: usize,
pub surfaces_cross: bool,
}Expand description
The separation between two meshes and the witness pair realising it.
Fields§
§point_a: DVec3Witness on the first mesh.
point_b: DVec3Witness on the second mesh.
distance_squared: f64Squared separation of the witnesses.
Squared to stay exact for the comparisons callers make with it; take the square root only for display.
triangle_a: usizeIndex of the first mesh triangle carrying the witness.
triangle_b: usizeIndex of the second mesh triangle carrying the witness.
surfaces_cross: boolThe surfaces meet or cross at the witness.
True exactly when the separation is zero. This is a SURFACE fact and says nothing about penetration depth or contact area: grazing contact and deep interpenetration both report zero here.
Trait Implementations§
§impl Clone for MeshDistance
impl Clone for MeshDistance
§fn clone(&self) -> MeshDistance
fn clone(&self) -> MeshDistance
Returns a copy 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 more§impl Debug for MeshDistance
impl Debug for MeshDistance
§impl PartialEq for MeshDistance
impl PartialEq for MeshDistance
impl Copy for MeshDistance
impl StructuralPartialEq for MeshDistance
Auto Trait Implementations§
impl Freeze for MeshDistance
impl RefUnwindSafe for MeshDistance
impl Send for MeshDistance
impl Sync for MeshDistance
impl Unpin for MeshDistance
impl UnwindSafe for MeshDistance
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 more