b2Manifold

Struct b2Manifold 

Source
pub struct b2Manifold { /* private fields */ }
Expand description

A manifold for two touching convex shapes. Box2D supports multiple types of contact:

  • clip point versus plane with radius
  • point versus point with radius (circles) The local point usage depends on the manifold type: -e_circles: the local center of circleA -e_faceA: the center of faceA -e_faceB: the center of faceB Similarly the local normal usage: -e_circles: not used -e_faceA: the normal on polygonA -e_faceB: the normal on polygonB We store contacts in this way so that position correction can account for movement, which is critical for continuous physics. All contact scenarios must be expressed in one of these types. This structure is stored across time steps, so we keep it small.

Trait Implementations§

Source§

impl CopyNew for b2Manifold

Source§

unsafe fn copy_new(other: &b2Manifold, this: Pin<&mut MaybeUninit<b2Manifold>>)

Synthesized copy constructor.

Source§

impl Drop for b2Manifold

Source§

fn drop(self: &mut b2Manifold)

Synthesized destructor.

Source§

impl ExternType for b2Manifold

Source§

type Id = (b, _2, M, a, n, i, f, o, l, d)

A type-level representation of the type’s C++ namespace and type name. Read more
Source§

type Kind = Opaque

Source§

impl MakeCppStorage for b2Manifold

Source§

unsafe fn allocate_uninitialized_cpp_storage() -> *mut b2Manifold

Allocates heap space for this type in C++ and return a pointer to that space, but do not initialize that space (i.e. do not yet call a constructor). Read more
Source§

unsafe fn free_uninitialized_cpp_storage(arg0: *mut b2Manifold)

Frees a C++ allocation which has not yet had a constructor called. Read more
Source§

impl MoveNew for b2Manifold

Source§

unsafe fn move_new( other: Pin<MoveRef<'_, b2Manifold>>, this: Pin<&mut MaybeUninit<b2Manifold>>, )

Synthesized move constructor.

Source§

impl SharedPtrTarget for b2Manifold

Source§

impl UniquePtrTarget for b2Manifold

Source§

impl VectorElement for b2Manifold

Source§

impl WeakPtrTarget for b2Manifold

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.