pub struct CuCollisionReport<const MAX_CONTACTS: usize> { /* private fields */ }Expand description
Fixed-capacity collision report populated in place (CuMsgPayload-compliant).
Implementations§
Source§impl<const MAX_CONTACTS: usize> CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> CuCollisionReport<MAX_CONTACTS>
Sourcepub const fn is_collision_free(&self) -> bool
pub const fn is_collision_free(&self) -> bool
Returns true if no self-collisions or environment collisions were recorded.
Sourcepub fn as_slice(&self) -> &[CuCollisionContact]
pub fn as_slice(&self) -> &[CuCollisionContact]
Returns the stored contacts (at most MAX_CONTACTS).
Sourcepub const fn total_contacts(&self) -> usize
pub const fn total_contacts(&self) -> usize
Total detected contacts, including those that did not fit into storage.
Sourcepub const fn min_signed_distance(&self) -> Length64
pub const fn min_signed_distance(&self) -> Length64
Minimum surface-to-surface signed distance over all checked pairs
(+inf when no pair was checked; negative means penetration).
Trait Implementations§
Source§impl<'__de, const MAX_CONTACTS: usize, __Context> BorrowDecode<'__de, __Context> for CuCollisionReport<MAX_CONTACTS>
impl<'__de, const MAX_CONTACTS: usize, __Context> BorrowDecode<'__de, __Context> for CuCollisionReport<MAX_CONTACTS>
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl<const MAX_CONTACTS: usize> Clone for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Clone for CuCollisionReport<MAX_CONTACTS>
Source§fn clone(&self) -> CuCollisionReport<MAX_CONTACTS>
fn clone(&self) -> CuCollisionReport<MAX_CONTACTS>
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 moreSource§impl<const MAX_CONTACTS: usize> Debug for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Debug for CuCollisionReport<MAX_CONTACTS>
Source§impl<const MAX_CONTACTS: usize, __Context> Decode<__Context> for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize, __Context> Decode<__Context> for CuCollisionReport<MAX_CONTACTS>
Source§impl<const MAX_CONTACTS: usize> Default for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Default for CuCollisionReport<MAX_CONTACTS>
Source§impl<'de, const MAX_CONTACTS: usize> Deserialize<'de> for CuCollisionReport<MAX_CONTACTS>
impl<'de, const MAX_CONTACTS: usize> Deserialize<'de> for CuCollisionReport<MAX_CONTACTS>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<const MAX_CONTACTS: usize> Encode for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Encode for CuCollisionReport<MAX_CONTACTS>
Source§impl<const MAX_CONTACTS: usize> PartialEq for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> PartialEq for CuCollisionReport<MAX_CONTACTS>
Source§impl<const MAX_CONTACTS: usize> Serialize for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Serialize for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> StructuralPartialEq for CuCollisionReport<MAX_CONTACTS>
Source§impl<const MAX_CONTACTS: usize> TypePath for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> TypePath for CuCollisionReport<MAX_CONTACTS>
fn type_path() -> &'static str
fn short_type_path() -> &'static str
fn type_ident() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
fn module_path() -> Option<&'static str>
Auto Trait Implementations§
impl<const MAX_CONTACTS: usize> Freeze for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> RefUnwindSafe for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Send for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Sync for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> Unpin for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> UnsafeUnpin for CuCollisionReport<MAX_CONTACTS>
impl<const MAX_CONTACTS: usize> UnwindSafe for CuCollisionReport<MAX_CONTACTS>
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,
impl<T> CuMsgPayload for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> GetTypeRegistration for T
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