Struct rapier3d::geometry::InteractionGroups
source · [−]Expand description
Pairwise filtering using bit masks.
This filtering method is based on two 32-bit values:
- The interaction groups memberships.
- The interaction groups filter.
An interaction is allowed between two filters a
and b
when two conditions
are met simultaneously:
- The groups membership of
a
has at least one bit set to1
in common with the groups filter ofb
. - The groups membership of
b
has at least one bit set to1
in common with the groups filter ofa
.
In other words, interactions are allowed between two filter iff. the following condition is met:
(self.memberships & rhs.filter) != 0 && (rhs.memberships & self.filter) != 0
Fields
memberships: u32
Groups memberships.
filter: u32
Groups filter.
Implementations
sourceimpl InteractionGroups
impl InteractionGroups
sourcepub const fn new(memberships: u32, filter: u32) -> Self
pub const fn new(memberships: u32, filter: u32) -> Self
Initializes with the given interaction groups and interaction mask.
sourcepub const fn with_memberships(self, memberships: u32) -> Self
pub const fn with_memberships(self, memberships: u32) -> Self
Sets the group this filter is part of.
sourcepub const fn with_filter(self, filter: u32) -> Self
pub const fn with_filter(self, filter: u32) -> Self
Sets the interaction mask of this filter.
Trait Implementations
sourceimpl Clone for InteractionGroups
impl Clone for InteractionGroups
sourcefn clone(&self) -> InteractionGroups
fn clone(&self) -> InteractionGroups
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for InteractionGroups
impl Debug for InteractionGroups
sourceimpl Default for InteractionGroups
impl Default for InteractionGroups
sourceimpl Hash for InteractionGroups
impl Hash for InteractionGroups
sourceimpl PartialEq<InteractionGroups> for InteractionGroups
impl PartialEq<InteractionGroups> for InteractionGroups
sourcefn eq(&self, other: &InteractionGroups) -> bool
fn eq(&self, other: &InteractionGroups) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &InteractionGroups) -> bool
fn ne(&self, other: &InteractionGroups) -> bool
This method tests for !=
.
impl Copy for InteractionGroups
impl Eq for InteractionGroups
impl StructuralEq for InteractionGroups
impl StructuralPartialEq for InteractionGroups
Auto Trait Implementations
impl RefUnwindSafe for InteractionGroups
impl Send for InteractionGroups
impl Sync for InteractionGroups
impl Unpin for InteractionGroups
impl UnwindSafe for InteractionGroups
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert 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
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourcefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
sourcefn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more