pub struct ColliderSet { /* private fields */ }
Expand description
A set of colliders that can be handled by a physics World
.
Implementations§
Source§impl ColliderSet
impl ColliderSet
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a new set of colliders, with an initial capacity for the set of colliders as well as the tracking of modified colliders.
Sourcepub fn invalid_handle() -> ColliderHandle
pub fn invalid_handle() -> ColliderHandle
An always-invalid collider handle.
Sourcepub fn iter(&self) -> impl ExactSizeIterator<Item = (ColliderHandle, &Collider)>
pub fn iter(&self) -> impl ExactSizeIterator<Item = (ColliderHandle, &Collider)>
Iterate through all the colliders on this set.
Sourcepub fn iter_enabled(&self) -> impl Iterator<Item = (ColliderHandle, &Collider)>
pub fn iter_enabled(&self) -> impl Iterator<Item = (ColliderHandle, &Collider)>
Iterate through all the enabled colliders on this set.
Sourcepub fn iter_mut(
&mut self,
) -> impl Iterator<Item = (ColliderHandle, &mut Collider)>
pub fn iter_mut( &mut self, ) -> impl Iterator<Item = (ColliderHandle, &mut Collider)>
Iterates mutably through all the colliders on this set.
Sourcepub fn iter_enabled_mut(
&mut self,
) -> impl Iterator<Item = (ColliderHandle, &mut Collider)>
pub fn iter_enabled_mut( &mut self, ) -> impl Iterator<Item = (ColliderHandle, &mut Collider)>
Iterates mutably through all the enabled colliders on this set.
Sourcepub fn contains(&self, handle: ColliderHandle) -> bool
pub fn contains(&self, handle: ColliderHandle) -> bool
Is this collider handle valid?
Sourcepub fn insert(&mut self, coll: impl Into<Collider>) -> ColliderHandle
pub fn insert(&mut self, coll: impl Into<Collider>) -> ColliderHandle
Inserts a new collider to this set and retrieve its handle.
Sourcepub fn insert_with_parent(
&mut self,
coll: impl Into<Collider>,
parent_handle: RigidBodyHandle,
bodies: &mut RigidBodySet,
) -> ColliderHandle
pub fn insert_with_parent( &mut self, coll: impl Into<Collider>, parent_handle: RigidBodyHandle, bodies: &mut RigidBodySet, ) -> ColliderHandle
Inserts a new collider to this set, attach it to the given rigid-body, and retrieve its handle.
Sourcepub fn set_parent(
&mut self,
handle: ColliderHandle,
new_parent_handle: Option<RigidBodyHandle>,
bodies: &mut RigidBodySet,
)
pub fn set_parent( &mut self, handle: ColliderHandle, new_parent_handle: Option<RigidBodyHandle>, bodies: &mut RigidBodySet, )
Sets the parent of the given collider.
Sourcepub fn remove(
&mut self,
handle: ColliderHandle,
islands: &mut IslandManager,
bodies: &mut RigidBodySet,
wake_up: bool,
) -> Option<Collider>
pub fn remove( &mut self, handle: ColliderHandle, islands: &mut IslandManager, bodies: &mut RigidBodySet, wake_up: bool, ) -> Option<Collider>
Remove a collider from this set and update its parent accordingly.
If wake_up
is true
, the rigid-body the removed collider is attached to
will be woken up.
Sourcepub fn get_unknown_gen(&self, i: u32) -> Option<(&Collider, ColliderHandle)>
pub fn get_unknown_gen(&self, i: u32) -> Option<(&Collider, ColliderHandle)>
Gets the collider with the given handle without a known generation.
This is useful when you know you want the collider at position i
but
don’t know what is its current generation number. Generation numbers are
used to protect from the ABA problem because the collider position i
are recycled between two insertion and a removal.
Using this is discouraged in favor of self.get(handle)
which does not
suffer form the ABA problem.
Sourcepub fn get_unknown_gen_mut(
&mut self,
i: u32,
) -> Option<(&mut Collider, ColliderHandle)>
pub fn get_unknown_gen_mut( &mut self, i: u32, ) -> Option<(&mut Collider, ColliderHandle)>
Gets a mutable reference to the collider with the given handle without a known generation.
This is useful when you know you want the collider at position i
but
don’t know what is its current generation number. Generation numbers are
used to protect from the ABA problem because the collider position i
are recycled between two insertion and a removal.
Using this is discouraged in favor of self.get_mut(handle)
which does not
suffer form the ABA problem.
Sourcepub fn get(&self, handle: ColliderHandle) -> Option<&Collider>
pub fn get(&self, handle: ColliderHandle) -> Option<&Collider>
Get the collider with the given handle.
Sourcepub fn get_mut(&mut self, handle: ColliderHandle) -> Option<&mut Collider>
pub fn get_mut(&mut self, handle: ColliderHandle) -> Option<&mut Collider>
Gets a mutable reference to the collider with the given handle.
Trait Implementations§
Source§impl Clone for ColliderSet
impl Clone for ColliderSet
Source§fn clone(&self) -> ColliderSet
fn clone(&self) -> ColliderSet
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ColliderSet
impl Debug for ColliderSet
Source§impl Default for ColliderSet
impl Default for ColliderSet
Source§fn default() -> ColliderSet
fn default() -> ColliderSet
Source§impl Index<ColliderHandle> for ColliderSet
impl Index<ColliderHandle> for ColliderSet
Source§impl Index<Index> for ColliderSet
impl Index<Index> for ColliderSet
Source§impl IndexMut<ColliderHandle> for ColliderSet
impl IndexMut<ColliderHandle> for ColliderSet
Auto Trait Implementations§
impl Freeze for ColliderSet
impl !RefUnwindSafe for ColliderSet
impl Send for ColliderSet
impl Sync for ColliderSet
impl Unpin for ColliderSet
impl !UnwindSafe for ColliderSet
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync 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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.