pub struct Collider<T> {
pub shape: AABB,
pub offset: Vec2,
pub state: ColliderState,
pub category_bits: u32,
pub mask_bits: u32,
pub user_tag: T,
pub owner: BodyHandle,
}Expand description
Describes a collider in the shape of Shape. Attached to a body.
Fields§
§shape: AABBCurrently the only shape is AABB
offset: Vec2Offset from the body’s position, 0 for centered
state: ColliderStateWhether to treat the body as physical or not
category_bits: u32Ideally only one bit should be set
mask_bits: u32Bodies only collide if both of their masks match
user_tag: TUser supplied tag for identification
owner: BodyHandleBody who owns the collider
Implementations§
Source§impl<T> Collider<T>
impl<T> Collider<T>
pub fn new( shape: AABB, offset: Vec2, state: ColliderState, category_bits: u32, mask_bits: u32, user_tag: T, owner: BodyHandle, ) -> Self
pub fn overlaps_aabb( &self, own_position: Vec2, position: Vec2, half_exts: Vec2, ) -> bool
pub fn ray_contact(&self, own_position: Vec2, ray: &Ray) -> Option<Raycast>
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Collider<T>where
T: Freeze,
impl<T> RefUnwindSafe for Collider<T>where
T: RefUnwindSafe,
impl<T> Send for Collider<T>where
T: Send,
impl<T> Sync for Collider<T>where
T: Sync,
impl<T> Unpin for Collider<T>where
T: Unpin,
impl<T> UnsafeUnpin for Collider<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Collider<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more