Struct MeshCollider
pub struct MeshCollider { /* private fields */ }Implementations§
§impl MeshCollider
impl MeshCollider
pub fn new(triangles: impl IntoIterator<Item = [Vec3<f32>; 3]>) -> MeshCollider
pub fn triangles(&self) -> &[[Vec3<f32>; 3]]
pub fn local_aabb(&self) -> Option<CollisionAabb>
pub fn world_aabb(&self, mesh_to_world: Mat<4, f32>) -> Option<CollisionAabb>
pub fn query_triangles( &self, local_query: CollisionShape, on_hit: impl FnMut(u32, [Vec3<f32>; 3]), )
pub fn for_each_candidate( &self, world_shape: CollisionShape, mesh_to_world: Mat<4, f32>, on_candidate: impl FnMut(u32, [Vec3<f32>; 3]), )
pub fn overlaps( &self, world_shape: CollisionShape, mesh_to_world: Mat<4, f32>, ) -> bool
pub fn collide( &self, world_shape: CollisionShape, mesh_to_world: Mat<4, f32>, on_contact: impl FnMut(u32, ContactManifold), )
pub fn raycast( &self, world_line: CollisionLine, mesh_to_world: Mat<4, f32>, ) -> Option<RayHit>
Trait Implementations§
§impl Clone for MeshCollider
impl Clone for MeshCollider
§fn clone(&self) -> MeshCollider
fn clone(&self) -> MeshCollider
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for MeshCollider
impl Debug for MeshCollider
§impl Default for MeshCollider
impl Default for MeshCollider
§fn default() -> MeshCollider
fn default() -> MeshCollider
Returns the “default value” for a type. Read more
§impl From<MeshCollider> for ColliderShape
impl From<MeshCollider> for ColliderShape
§fn from(value: MeshCollider) -> ColliderShape
fn from(value: MeshCollider) -> ColliderShape
Converts to this type from the input type.
§impl<S> Serializable<S> for MeshColliderwhere
S: Copy,
impl<S> Serializable<S> for MeshColliderwhere
S: Copy,
fn serialize(&self, _ctx: SerializerCtx<'_, S>, _path: &str) -> SerializedValue
fn deserialize( &mut self, _ctx: SerializerCtx<'_, S>, _path: &str, _serialized: &SerializedValue, )
Auto Trait Implementations§
impl Forget for MeshCollider
impl Freeze for MeshCollider
impl Move for MeshCollider
impl RefUnwindSafe for MeshCollider
impl Send for MeshCollider
impl Sync for MeshCollider
impl Unpin for MeshCollider
impl UnsafeUnpin for MeshCollider
impl UnwindSafe for MeshCollider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn 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.§fn 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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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 more§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().