Struct bevy_mod_raycast::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§
source§impl 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§
source§impl PartialEq<Ray3d> for Ray3d
impl PartialEq<Ray3d> for Ray3d
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.§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
.§fn 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
.§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> 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]