Struct rapier3d::geometry::Collider[][src]

pub struct Collider {
    pub user_data: u128,
    // some fields omitted
}
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 rigid-body.

Implementations

impl Collider[src]

pub fn parent(&self) -> Option<RigidBodyHandle>[src]

The rigid body this collider is attached to.

pub fn is_sensor(&self) -> bool[src]

Is this collider a sensor?

pub fn active_hooks(&self) -> ActiveHooks[src]

The physics hooks enabled for this collider.

pub fn set_active_hooks(&mut self, active_hooks: ActiveHooks)[src]

Sets the physics hooks enabled for this collider.

pub fn active_events(&self) -> ActiveEvents[src]

The events enabled for this collider.

pub fn set_active_events(&mut self, active_events: ActiveEvents)[src]

Sets the events enabled for this collider.

pub fn active_collision_types(&self) -> ActiveCollisionTypes[src]

The collision types enabled for this collider.

pub fn set_active_collision_types(
    &mut self,
    active_collision_types: ActiveCollisionTypes
)
[src]

Sets the collision types enabled for this collider.

pub fn friction(&self) -> Real[src]

The friction coefficient of this collider.

pub fn set_friction(&mut self, coefficient: Real)[src]

Sets the friction coefficient of this collider.

pub fn friction_combine_rule(&self) -> CoefficientCombineRule[src]

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.

pub fn set_friction_combine_rule(&mut self, rule: CoefficientCombineRule)[src]

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.

pub fn restitution(&self) -> Real[src]

The restitution coefficient of this collider.

pub fn set_restitution(&mut self, coefficient: Real)[src]

Sets the restitution coefficient of this collider.

pub fn restitution_combine_rule(&self) -> CoefficientCombineRule[src]

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.

pub fn set_restitution_combine_rule(&mut self, rule: CoefficientCombineRule)[src]

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.

pub fn set_sensor(&mut self, is_sensor: bool)[src]

Sets whether or not this is a sensor collider.

pub fn set_translation(&mut self, translation: Vector<Real>)[src]

Sets the translational part of this collider’s position.

pub fn set_rotation(&mut self, rotation: AngVector<Real>)[src]

Sets the rotational part of this collider’s position.

pub fn set_position(&mut self, position: Isometry<Real>)[src]

Sets the position of this collider.

pub fn position(&self) -> &Isometry<Real>[src]

The world-space position of this collider.

pub fn translation(&self) -> &Vector<Real>[src]

The translational part of this rigid-body’s position.

pub fn rotation(&self) -> &Rotation<Real>[src]

The rotational part of this rigid-body’s position.

pub fn position_wrt_parent(&self) -> Option<&Isometry<Real>>[src]

The position of this collider wrt the body it is attached to.

pub fn set_position_wrt_parent(&mut self, pos_wrt_parent: Isometry<Real>)[src]

Sets the position of this collider wrt. its parent rigid-body.

Panics if the collider is not attached to a rigid-body.

pub fn collision_groups(&self) -> InteractionGroups[src]

The collision groups used by this collider.

pub fn set_collision_groups(&mut self, groups: InteractionGroups)[src]

Sets the collision groups of this collider.

pub fn solver_groups(&self) -> InteractionGroups[src]

The solver groups used by this collider.

pub fn set_solver_groups(&mut self, groups: InteractionGroups)[src]

Sets the solver groups of this collider.

pub fn material(&self) -> &ColliderMaterial[src]

The material (friction and restitution properties) of this collider.

pub fn density(&self) -> Option<Real>[src]

The density of this collider, if set.

pub fn shape(&self) -> &dyn Shape[src]

The geometric shape of this collider.

pub fn shape_mut(&mut self) -> &mut dyn Shape[src]

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.

pub fn set_shape(&mut self, shape: SharedShape)[src]

Sets the shape of this collider.

pub fn shared_shape(&self) -> &SharedShape[src]

Retrieve the SharedShape. Also see the shape() function

pub fn compute_aabb(&self) -> AABB[src]

Compute the axis-aligned bounding box of this collider.

pub fn compute_swept_aabb(&self, next_position: &Isometry<Real>) -> AABB[src]

Compute the axis-aligned bounding box of this collider moving from its current position to the given next_position

pub fn mass_properties(&self) -> MassProperties[src]

Compute the local-space mass properties of this collider.

Trait Implementations

impl Clone for Collider[src]

fn clone(&self) -> Collider[src]

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

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

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast for T where
    T: Any
[src]

pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>[src]

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

pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>[src]

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

pub fn as_any(&self) -> &(dyn Any + 'static)[src]

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)[src]

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

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

pub fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 'static + Sync + Send>[src]

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

pub fn to_subset(&self) -> Option<SS>[src]

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

pub fn is_in_subset(&self) -> bool[src]

Checks if self is actually part of its subset T (and can be converted to it).

pub fn to_subset_unchecked(&self) -> SS[src]

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

pub fn from_subset(element: &SS) -> SP[src]

The inclusion map: converts self to the equivalent element of its superset.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.