Struct bevy_mod_raycast::rays::Ray3d
source · pub struct Ray3d { /* private fields */ }
Expand description
A 3D ray, with an origin and direction. The direction is guaranteed to be normalized.
Implementations
sourceimpl Ray3d
impl Ray3d
sourcepub fn new(origin: Vec3, direction: Vec3) -> Self
pub fn new(origin: Vec3, direction: Vec3) -> Self
Constructs a Ray3d
, normalizing the direction vector.
pub fn position(&self, distance: f32) -> Vec3
pub fn to_transform(self) -> Mat4
sourcepub fn to_aligned_transform(self, up: Vec3) -> Mat4
pub fn to_aligned_transform(self, up: Vec3) -> Mat4
Create a transform whose origin is at the origin of the ray and
whose up-axis is aligned with the direction of the ray. Use up
to
specify which axis of the transform should align with the ray.
pub fn from_transform(transform: Mat4) -> Self
pub fn from_screenspace(
cursor_pos_screen: Vec2,
camera: &Camera,
camera_transform: &GlobalTransform
) -> Option<Self>
sourcepub fn intersects_aabb(
&self,
aabb: &Aabb,
model_to_world: &Mat4
) -> Option<[f32; 2]>
pub fn intersects_aabb(
&self,
aabb: &Aabb,
model_to_world: &Mat4
) -> Option<[f32; 2]>
Checks if the ray intersects with an AABB of a mesh.
sourcepub fn intersects_primitive(
&self,
shape: Primitive3d
) -> Option<PrimitiveIntersection>
pub fn intersects_primitive(
&self,
shape: Primitive3d
) -> Option<PrimitiveIntersection>
Checks if the ray intersects with a primitive shape
Trait Implementations
impl Copy for Ray3d
impl StructuralPartialEq for Ray3d
Auto Trait Implementations
impl RefUnwindSafe for Ray3d
impl Send for Ray3d
impl Sync for Ray3d
impl Unpin for Ray3d
impl UnwindSafe for Ray3d
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn 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 morefn 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 morefn 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 morefn 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 moreimpl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self
using data from the given [World]