#[repr(C)]
pub struct Vec2 { pub x: f32, pub y: f32, }
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

Rightwards. Width.

y: f32

Downwards. Height.

Implementations

Set both x and y to the same value.

Treat this vector as a position. v.to_pos2() is equivalent to Pos2::default() + v.

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 CW 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);

True if all members are also finite.

True if any member is NaN.

The dot-product of two vectors.

Returns the minimum of self.x and self.y.

Returns the maximum of self.x and self.y.

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

Performs the += operation. Read more

Performs the += operation. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Deserialize this value from the given Serde deserializer. Read more

Element-wise division

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

Performs the mutable indexing (container[index]) operation. Read more

Element-wise multiplication

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

Performs the *= operation. Read more

The resulting type after applying the - operator.

Performs the unary - operation. Read more

More readable version of self.max(lower_limit)

More readable version of self.min(upper_limit)

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Serialize this value into the given Serde serializer. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

Performs the -= operation. Read more

Performs the -= operation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern. Read more

If this function returns true, then it must be valid to reinterpret bits as &Self. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.