[−][src]Struct quicksilver::geom::Vector
A 2D vector with an arbitrary numeric type
Fields
x: f32
The x coordinate of the vector
y: f32
The y coordinate of the vector
Methods
impl Vector
[src]
pub const ZERO: Vector
[src]
A vector with x = 0, y = 0
pub const X: Vector
[src]
A vector with x = 1, y = 0
pub const Y: Vector
[src]
A vector with x = 0, y = 1
pub const ONE: Vector
[src]
A vector with x = 1, y = 1
impl Vector
[src]
pub fn new(x: impl Scalar, y: impl Scalar) -> Vector
[src]
Create a new vector
pub fn into_vector(self) -> Vector2<f32>
[src]
Convert this vector into an nalgebra Vector2
pub fn into_point(self) -> Point2<f32>
[src]
Convert this vector into an nalgebra Point2
pub fn from_angle<T: Scalar>(angle: T) -> Vector
[src]
Create a unit vector at a given angle
pub fn len2(self) -> f32
[src]
Get the squared length of the vector (faster than getting the length)
pub fn len(self) -> f32
[src]
Get the length of the vector
#[must_use]
pub fn clamp(
self,
min_bound: impl Into<Vector>,
max_bound: impl Into<Vector>
) -> Vector
[src]
self,
min_bound: impl Into<Vector>,
max_bound: impl Into<Vector>
) -> Vector
Clamp a vector somewhere between a minimum and a maximum
pub fn cross(self, other: impl Into<Vector>) -> f32
[src]
Get the cross product of a vector
pub fn dot(self, other: impl Into<Vector>) -> f32
[src]
Get the dot product of a vector
#[must_use]
pub fn normalize(self) -> Vector
[src]
Normalize the vector's length from [0, 1]
#[must_use]
pub fn x_comp(self) -> Vector
[src]
Get only the X component of the Vector, represented as a vector
#[must_use]
pub fn y_comp(self) -> Vector
[src]
Get only the Y component of the Vector, represented as a vector
#[must_use]
pub fn recip(self) -> Vector
[src]
Get the vector equal to Vector(1 / x, 1 / y)
#[must_use]
pub fn times(self, other: impl Into<Vector>) -> Vector
[src]
Multiply the components in the matching places
pub fn angle(self) -> f32
[src]
Get the angle a vector forms with the positive x-axis, counter clockwise
#[must_use]
pub fn with_len(self, length: f32) -> Vector
[src]
Create a vector with the same angle and the given length
pub fn distance(self, other: impl Into<Vector>) -> f32
[src]
Get the Euclidean distance to another vector
pub fn min(self, other: impl Into<Vector>) -> Vector
[src]
Get a vector with the minimum of each component of this and another vector
pub fn max(self, other: impl Into<Vector>) -> Vector
[src]
Get a vector with the maximum of each component of this and another vector
Trait Implementations
impl Shape for Vector
[src]
fn contains(&self, v: impl Into<Vector>) -> bool
[src]
fn overlaps(&self, shape: &impl Shape) -> bool
[src]
fn center(&self) -> Vector
[src]
fn bounding_box(&self) -> Rectangle
[src]
fn translate(&self, v: impl Into<Vector>) -> Vector
[src]
#[must_use]
fn intersects(&self, line: &Line) -> bool
[src]
If any area bounded by the shape falls on the line
#[must_use]
fn overlaps_circle(&self, circle: &Circle) -> bool
[src]
If any area is bounded by both the shape and the circle
#[must_use]
fn overlaps_rectangle(&self, rectangle: &Rectangle) -> bool
[src]
If any area is bounded by both the shape and the rectangle
#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
Self: Sized,
[src]
Self: Sized,
Create a copy of the shape that is contained within the bound
#[must_use]
fn with_center(&self, center: impl Into<Vector>) -> Self where
Self: Sized,
[src]
Self: Sized,
Create a copy of the shape with an offset center
impl Drawable for Vector
[src]
impl Eq for Vector
[src]
impl PartialEq<Vector> for Vector
[src]
fn eq(&self, other: &Vector) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Copy for Vector
[src]
impl Clone for Vector
[src]
fn clone(&self) -> Vector
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl From<Matrix<f32, U2, U1, <DefaultAllocator as Allocator<f32, U2, U1>>::Buffer>> for Vector
[src]
impl From<Point<f32, U2>> for Vector
[src]
impl From<Vector> for LogicalPosition
[src]
fn from(other: Vector) -> LogicalPosition
[src]
impl From<Vector> for PhysicalPosition
[src]
fn from(other: Vector) -> PhysicalPosition
[src]
impl From<LogicalPosition> for Vector
[src]
fn from(other: LogicalPosition) -> Vector
[src]
impl From<PhysicalPosition> for Vector
[src]
fn from(other: PhysicalPosition) -> Vector
[src]
impl From<Vector> for LogicalSize
[src]
fn from(other: Vector) -> LogicalSize
[src]
impl From<Vector> for PhysicalSize
[src]
fn from(other: Vector) -> PhysicalSize
[src]
impl From<LogicalSize> for Vector
[src]
fn from(other: LogicalSize) -> Vector
[src]
impl From<PhysicalSize> for Vector
[src]
fn from(other: PhysicalSize) -> Vector
[src]
impl<T: Scalar, U: Scalar> From<(T, U)> for Vector
[src]
impl Default for Vector
[src]
impl Debug for Vector
[src]
impl Display for Vector
[src]
impl Sub<Vector> for Vector
[src]
type Output = Vector
The resulting type after applying the -
operator.
fn sub(self, rhs: Vector) -> Vector
[src]
impl Add<Vector> for Vector
[src]
type Output = Vector
The resulting type after applying the +
operator.
fn add(self, rhs: Vector) -> Vector
[src]
impl<T: Scalar> Mul<T> for Vector
[src]
type Output = Vector
The resulting type after applying the *
operator.
fn mul(self, rhs: T) -> Vector
[src]
impl Mul<Vector> for Transform
[src]
Transform a vector
type Output = Vector
The resulting type after applying the *
operator.
fn mul(self, other: Vector) -> Vector
[src]
impl<T: Scalar> Div<T> for Vector
[src]
type Output = Vector
The resulting type after applying the /
operator.
fn div(self, rhs: T) -> Vector
[src]
impl Neg for Vector
[src]
impl AddAssign<Vector> for Vector
[src]
fn add_assign(&mut self, rhs: Vector)
[src]
impl SubAssign<Vector> for Vector
[src]
fn sub_assign(&mut self, rhs: Vector)
[src]
impl<T: Scalar> MulAssign<T> for Vector
[src]
fn mul_assign(&mut self, rhs: T)
[src]
impl<T: Scalar> DivAssign<T> for Vector
[src]
fn div_assign(&mut self, rhs: T)
[src]
impl Distribution<Vector> for Standard
[src]
fn sample<R: Rng + ?Sized>(&self, rand: &mut R) -> Vector
[src]
fn sample_iter<R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
R: Rng,
[src]
R: Rng,
Create an iterator that generates random values of T
, using rng
as the source of randomness. Read more
impl Serialize for Vector
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for Vector
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> Erased for T
impl<T> Scalar for T where
T: Copy + PartialEq<T> + Any + Debug,
[src]
T: Copy + PartialEq<T> + Any + Debug,
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
[src]
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
[src]
T: Sub<Right, Output = T> + SubAssign<Right>,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
[src]
T: Neg<Output = T>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,