[][src]Struct linear_sim::collision::Collision

pub struct Collision { /* fields omitted */ }

Collision subsystem

Methods

impl Collision[src]

pub fn try_add_object_static(
    &mut self,
    objects_dynamic: &VecMap<Dynamic>,
    object: &Static,
    key: Key
) -> Result<(), Vec<(Identifier, Intersection)>>
[src]

Attempt to add a new static object to the collision subsystem.

Queries distance to each dynamic object and if any intersections are found, the object is not added and the intersections are returned.

pub fn remove_object_static(&mut self, object_key: Key)[src]

pub fn try_add_object_dynamic(
    &mut self,
    objects_static: &VecMap<Static>,
    objects_dynamic: &VecMap<Dynamic>,
    object: &Dynamic,
    key: Key
) -> Result<(), Vec<(Identifier, Intersection)>>
[src]

Attempts to add a new dynamic object.

Queries distance to each static and dynamic object and if any intersections are found, the object is not added and the intersections are returned.

pub fn remove_object_dynamic(&mut self, object_key: Key)[src]

pub fn detect_resolve_loop(
    &mut self,
    objects_static: &mut VecMap<Static>,
    objects_dynamic: &mut VecMap<Dynamic>,
    step: u64,
    output: &mut Vec<Output>
)
[src]

Main collision loop.

Before the loop starts, begin_step():

  1. Update broad-phase AABB data and re-sort
  2. Zero pseudo-velocities

Inside the collision loop:

  1. Perform continuous detection
  2. Resolve earliest detected collision

Trait Implementations

impl PartialEq<Collision> for Collision[src]

impl Clone for Collision[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Default for Collision[src]

impl Debug for Collision[src]

Auto Trait Implementations

impl Send for Collision

impl !Sync for Collision

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self