Struct bevy::input::Axis

pub struct Axis<T> { /* private fields */ }
Expand description

Stores the position data of the input devices of type T.

The values are stored as f32s, using Axis::set. Use Axis::get to retrieve the value clamped between Axis::MIN and Axis::MAX inclusive, or unclamped using Axis::get_unclamped.

Implementations§

§

impl<T> Axis<T>where T: Copy + Eq + Hash,

pub const MIN: f32 = -1f32

The smallest possible axis value.

pub const MAX: f32 = 1f32

The largest possible axis value.

pub fn set(&mut self, input_device: T, position_data: f32) -> Option<f32>

Sets the position data of the input_device to position_data.

If the input_device:

  • was present before, the position data is updated, and the old value is returned.
  • wasn’t present before, None is returned.

pub fn get(&self, input_device: T) -> Option<f32>

Returns the position data of the provided input_device.

This will be clamped between Axis::MIN and Axis::MAX inclusive.

pub fn get_unclamped(&self, input_device: T) -> Option<f32>

Returns the unclamped position data of the provided input_device.

This value may be outside of the Axis::MIN and Axis::MAX range.

Use for things like camera zoom, where you want devices like mouse wheels to be able to exceed the normal range. If being able to move faster on one input device than another would give an unfair advantage, you should likely use Axis::get instead.

pub fn remove(&mut self, input_device: T) -> Option<f32>

Removes the position data of the input_device, returning the position data if the input device was previously set.

pub fn devices(&self) -> impl ExactSizeIterator

Returns an iterator of all the input devices that have position data

Trait Implementations§

§

impl<T> Debug for Axis<T>where T: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<T> Default for Axis<T>where T: Copy + Eq + Hash,

§

fn default() -> Axis<T>

Returns the “default value” for a type. Read more
§

impl<T> Resource for Axis<T>where Axis<T>: Send + Sync + 'static,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Axis<T>where T: RefUnwindSafe,

§

impl<T> Send for Axis<T>where T: Send,

§

impl<T> Sync for Axis<T>where T: Sync,

§

impl<T> Unpin for Axis<T>where T: Unpin,

§

impl<T> UnwindSafe for Axis<T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

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> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, 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>

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)

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)

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 Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

§

impl<T> FromWorld for Twhere T: Default,

§

fn from_world(_world: &mut World) -> T

Creates Self using data from the given World
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> ToSample<U> for Twhere U: FromSample<T>,

§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<S, T> Duplex<S> for Twhere T: FromSample<S> + ToSample<S>,