Struct dotrix_egui::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
Treat this vector as a position.
v.to_pos2()
is equivalent to Pos2::default() + v
.
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
Rotates (and maybe scales) the vector.
Element-wise multiplication
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
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more