pub struct Collider {
pub user_data: u128,
/* private fields */
}
Expand description
A geometric entity that can be attached to a body so it can be affected by contacts and proximity queries.
To build a new collider, use the ColliderBuilder
structure.
Fields
user_data: u128
User-defined data associated to this collider.
Implementations
sourceimpl Collider
impl Collider
sourcepub fn parent(&self) -> Option<RigidBodyHandle>
pub fn parent(&self) -> Option<RigidBodyHandle>
The rigid body this collider is attached to.
sourcepub fn active_hooks(&self) -> ActiveHooks
pub fn active_hooks(&self) -> ActiveHooks
The physics hooks enabled for this collider.
sourcepub fn set_active_hooks(&mut self, active_hooks: ActiveHooks)
pub fn set_active_hooks(&mut self, active_hooks: ActiveHooks)
Sets the physics hooks enabled for this collider.
sourcepub fn active_events(&self) -> ActiveEvents
pub fn active_events(&self) -> ActiveEvents
The events enabled for this collider.
sourcepub fn set_active_events(&mut self, active_events: ActiveEvents)
pub fn set_active_events(&mut self, active_events: ActiveEvents)
Sets the events enabled for this collider.
sourcepub fn active_collision_types(&self) -> ActiveCollisionTypes
pub fn active_collision_types(&self) -> ActiveCollisionTypes
The collision types enabled for this collider.
sourcepub fn set_active_collision_types(
&mut self,
active_collision_types: ActiveCollisionTypes
)
pub fn set_active_collision_types(
&mut self,
active_collision_types: ActiveCollisionTypes
)
Sets the collision types enabled for this collider.
sourcepub fn set_friction(&mut self, coefficient: Real)
pub fn set_friction(&mut self, coefficient: Real)
Sets the friction coefficient of this collider.
sourcepub fn friction_combine_rule(&self) -> CoefficientCombineRule
pub fn friction_combine_rule(&self) -> CoefficientCombineRule
The combine rule used by this collider to combine its friction coefficient with the friction coefficient of the other collider it is in contact with.
sourcepub fn set_friction_combine_rule(&mut self, rule: CoefficientCombineRule)
pub fn set_friction_combine_rule(&mut self, rule: CoefficientCombineRule)
Sets the combine rule used by this collider to combine its friction coefficient with the friction coefficient of the other collider it is in contact with.
sourcepub fn restitution(&self) -> Real
pub fn restitution(&self) -> Real
The restitution coefficient of this collider.
sourcepub fn set_restitution(&mut self, coefficient: Real)
pub fn set_restitution(&mut self, coefficient: Real)
Sets the restitution coefficient of this collider.
sourcepub fn restitution_combine_rule(&self) -> CoefficientCombineRule
pub fn restitution_combine_rule(&self) -> CoefficientCombineRule
The combine rule used by this collider to combine its restitution coefficient with the restitution coefficient of the other collider it is in contact with.
sourcepub fn set_restitution_combine_rule(&mut self, rule: CoefficientCombineRule)
pub fn set_restitution_combine_rule(&mut self, rule: CoefficientCombineRule)
Sets the combine rule used by this collider to combine its restitution coefficient with the restitution coefficient of the other collider it is in contact with.
sourcepub fn set_sensor(&mut self, is_sensor: bool)
pub fn set_sensor(&mut self, is_sensor: bool)
Sets whether or not this is a sensor collider.
sourcepub fn set_translation(&mut self, translation: Vector<Real>)
pub fn set_translation(&mut self, translation: Vector<Real>)
Sets the translational part of this collider’s position.
sourcepub fn set_rotation(&mut self, rotation: AngVector<Real>)
pub fn set_rotation(&mut self, rotation: AngVector<Real>)
Sets the rotational part of this collider’s position.
sourcepub fn set_position(&mut self, position: Isometry<Real>)
pub fn set_position(&mut self, position: Isometry<Real>)
Sets the position of this collider.
sourcepub fn translation(&self) -> &Vector<Real>
pub fn translation(&self) -> &Vector<Real>
The translational part of this rigid-body’s position.
sourcepub fn position_wrt_parent(&self) -> Option<&Isometry<Real>>
pub fn position_wrt_parent(&self) -> Option<&Isometry<Real>>
The position of this collider wrt the body it is attached to.
sourcepub fn set_translation_wrt_parent(&mut self, translation: Vector<Real>)
pub fn set_translation_wrt_parent(&mut self, translation: Vector<Real>)
Sets the translational part of this collider’s translation relative to its parent rigid-body.
sourcepub fn set_rotation_wrt_parent(&mut self, rotation: AngVector<Real>)
pub fn set_rotation_wrt_parent(&mut self, rotation: AngVector<Real>)
Sets the rotational part of this collider’s rotaiton relative to its parent rigid-body.
sourcepub fn set_position_wrt_parent(&mut self, pos_wrt_parent: Isometry<Real>)
pub fn set_position_wrt_parent(&mut self, pos_wrt_parent: Isometry<Real>)
Sets the position of this collider wrt. its parent rigid-body.
Does nothing if the collider is not attached to a rigid-body.
sourcepub fn collision_groups(&self) -> InteractionGroups
pub fn collision_groups(&self) -> InteractionGroups
The collision groups used by this collider.
sourcepub fn set_collision_groups(&mut self, groups: InteractionGroups)
pub fn set_collision_groups(&mut self, groups: InteractionGroups)
Sets the collision groups of this collider.
sourcepub fn solver_groups(&self) -> InteractionGroups
pub fn solver_groups(&self) -> InteractionGroups
The solver groups used by this collider.
sourcepub fn set_solver_groups(&mut self, groups: InteractionGroups)
pub fn set_solver_groups(&mut self, groups: InteractionGroups)
Sets the solver groups of this collider.
sourcepub fn material(&self) -> &ColliderMaterial
pub fn material(&self) -> &ColliderMaterial
The material (friction and restitution properties) of this collider.
sourcepub fn shape_mut(&mut self) -> &mut dyn Shape
pub fn shape_mut(&mut self) -> &mut dyn Shape
A mutable reference to the geometric shape of this collider.
If that shape is shared by multiple colliders, it will be
cloned first so that self
contains a unique copy of that
shape that you can modify.
sourcepub fn set_shape(&mut self, shape: SharedShape)
pub fn set_shape(&mut self, shape: SharedShape)
Sets the shape of this collider.
Retrieve the SharedShape. Also see the shape()
function
sourcepub fn compute_aabb(&self) -> AABB
pub fn compute_aabb(&self) -> AABB
Compute the axis-aligned bounding box of this collider.
sourcepub fn compute_swept_aabb(&self, next_position: &Isometry<Real>) -> AABB
pub fn compute_swept_aabb(&self, next_position: &Isometry<Real>) -> AABB
Compute the axis-aligned bounding box of this collider moving from its current position
to the given next_position
sourcepub fn mass_properties(&self) -> MassProperties
pub fn mass_properties(&self) -> MassProperties
Compute the local-space mass properties of this collider.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Collider
impl Send for Collider
impl Sync for Collider
impl Unpin for Collider
impl !UnwindSafe for Collider
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