Skip to main content

ManifoldPoint

Struct ManifoldPoint 

Source
pub struct ManifoldPoint {
    pub anchor_a: Vec2,
    pub anchor_b: Vec2,
    pub separation: f32,
    pub base_separation: f32,
    pub normal_impulse: f32,
    pub tangent_impulse: f32,
    pub total_normal_impulse: f32,
    pub normal_velocity: f32,
    pub id: u16,
    pub persisted: bool,
}
Expand description

A solver contact point inside a runtime world manifold.

The anchors are f32 offsets from each body’s center of mass, not absolute world positions. Reconstruct an absolute contact position by offsetting the corresponding body’s world center Position.

Fields§

§anchor_a: Vec2

Contact point relative to body A’s center of mass in world axes.

§anchor_b: Vec2

Contact point relative to body B’s center of mass in world axes.

§separation: f32

Signed separation; negative values indicate penetration.

§base_separation: f32

Cached separation used by Box2D when recycling contacts.

§normal_impulse: f32

Impulse along the manifold normal.

§tangent_impulse: f32

Friction impulse along the tangent.

§total_normal_impulse: f32

Total normal impulse accumulated across substeps and restitution.

§normal_velocity: f32

Relative normal velocity before solving; negative values are approaching.

§id: u16

Stable feature-pair identifier supplied by Box2D.

§persisted: bool

Whether this point existed during the previous step.

Implementations§

Source§

impl ManifoldPoint

Source

pub fn world_point_a(self, body_a_world_center: Position) -> Position

Reconstructs this contact point from body A’s absolute world center.

Source

pub fn world_point_b(self, body_b_world_center: Position) -> Position

Reconstructs this contact point from body B’s absolute world center.

Source

pub fn from_raw(raw: b2ManifoldPoint) -> Result<Self>

Source

pub fn validate(&self) -> Result<()>

Source

pub fn into_raw(self) -> b2ManifoldPoint

Trait Implementations§

Source§

impl Clone for ManifoldPoint

Source§

fn clone(&self) -> ManifoldPoint

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ManifoldPoint

Source§

impl Debug for ManifoldPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ManifoldPoint

Source§

fn default() -> ManifoldPoint

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ManifoldPoint

Source§

fn eq(&self, other: &ManifoldPoint) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ManifoldPoint

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.