Struct bevy_retrograde_epaint::emath::Vec2 [−]
Expand description
A vector has a direction and length.
A Vec2
is often used to represent a size.
emath represents positions using crate::Pos2
.
Normally the units are points (logical pixels).
Fields
x: f32
y: f32
Implementations
impl Vec2
impl Vec2
Use Vec2::ZERO instead
Use Vec2::INFINITY instead
pub fn normalized(self) -> Vec2
pub fn normalized(self) -> Vec2
Safe normalize: returns zero if input is zero.
Rotates the vector by 90°, i.e positive X to positive Y (clockwise in egui coordinates).
Measures the angle of the vector.
use std::f32::consts::TAU; assert_eq!(Vec2::ZERO.angle(), 0.0); assert_eq!(Vec2::angled(0.0).angle(), 0.0); assert_eq!(Vec2::angled(1.0).angle(), 1.0); assert_eq!(Vec2::X.angle(), 0.0); assert_eq!(Vec2::Y.angle(), 0.25 * TAU); assert_eq!(Vec2::RIGHT.angle(), 0.0); assert_eq!(Vec2::DOWN.angle(), 0.25 * TAU); assert_eq!(Vec2::UP.angle(), -0.25 * TAU);
Create a unit vector with the given angle (in radians).
- An angle of zero gives the unit X axis.
- An angle of 𝞃/4 = 90° gives the unit Y axis.
use std::f32::consts::TAU; assert_eq!(Vec2::angled(0.0), Vec2::X); assert!((Vec2::angled(0.25 * TAU) - Vec2::Y).length() < 1e-5);
Trait Implementations
pub fn add_assign(&mut self, rhs: Vec2)
pub fn add_assign(&mut self, rhs: Vec2)
Performs the +=
operation. Read more
pub fn add_assign(&mut self, rhs: Vec2)
pub fn add_assign(&mut self, rhs: Vec2)
Performs the +=
operation. Read more
Element-wise division
Element-wise multiplication
Rotates (and maybe scales) the vector.
pub fn mul_assign(&mut self, rhs: f32)
pub fn mul_assign(&mut self, rhs: f32)
Performs the *=
operation. Read more
pub fn sub_assign(&mut self, rhs: Vec2)
pub fn sub_assign(&mut self, rhs: Vec2)
Performs the -=
operation. Read more
pub fn sub_assign(&mut self, rhs: Vec2)
pub fn sub_assign(&mut self, rhs: Vec2)
Performs the -=
operation. Read more
impl StructuralPartialEq for Vec2
Auto Trait Implementations
impl RefUnwindSafe for Vec2
impl UnwindSafe for Vec2
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: 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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub 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 more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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 more
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
pub fn from_world(_world: &mut World) -> T
pub fn from_world(_world: &mut World) -> T
Creates Self
using data from the given [World]
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
pub fn vzip(self) -> V