pub struct TnuaRadarBlipLens<'a, X: TnuaSpatialExt> {
pub collider_data: X::ColliderData<'a>,
/* private fields */
}
Fields§
§collider_data: X::ColliderData<'a>
Implementations§
Source§impl<X: TnuaSpatialExt> TnuaRadarBlipLens<'_, X>
impl<X: TnuaSpatialExt> TnuaRadarBlipLens<'_, X>
pub fn entity(&self) -> Entity
pub fn is_interactable(&self) -> bool
pub fn closest_point(&self) -> TnuaPointProjectionResult
pub fn closest_point_from( &self, point: Vector3, solid: bool, ) -> TnuaPointProjectionResult
pub fn closest_point_from_offset( &self, offset: Vector3, solid: bool, ) -> TnuaPointProjectionResult
pub fn flat_wall_score(&self, up: Dir3, offsets: &[Float]) -> Float
Sourcepub fn probe_extent_from_closest_point(
&self,
direction: Dir3,
probe_at_distance: Float,
) -> Float
pub fn probe_extent_from_closest_point( &self, direction: Dir3, probe_at_distance: Float, ) -> Float
Try traversing the geometry from the closest_point
along
direction
until reaching probe_at_distance
.
If the geometry reaches that distance (and behind), that distance will be returned.
If the geometry does not reach the desired distance, and it ends in a right angle or acute angle, the distance to that point will be returned.
If the geometry does not reach the desired distance, and it “ends” in an obtuse angle, the
returned value will be between that point and probe_at_distance
.
This is useful to detect when the character is near the top of a wall or of a climbable object.
Maybe have weird results if used on concave colliders, and the distance may not be accurate in genral, so always use a threshold
pub fn direction_to_closest_point(&self) -> Result<Dir3, InvalidDirectionError>
pub fn normal_from_closest_point(&self) -> Vector3
pub fn spatial_relation(&self, threshold: Float) -> TnuaBlipSpatialRelation
Auto Trait Implementations§
impl<'a, X> !Freeze for TnuaRadarBlipLens<'a, X>
impl<'a, X> !RefUnwindSafe for TnuaRadarBlipLens<'a, X>
impl<'a, X> Send for TnuaRadarBlipLens<'a, X>
impl<'a, X> !Sync for TnuaRadarBlipLens<'a, X>
impl<'a, X> Unpin for TnuaRadarBlipLens<'a, X>
impl<'a, X> UnwindSafe for TnuaRadarBlipLens<'a, X>
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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