Struct nalgebra::Vec4
[−]
[src]
pub struct Vec4<N> { pub x: N, pub y: N, pub z: N, pub w: N, }
Vector of dimension 4.
Fields
x: N
First component of the vector.
y: N
Second component of the vector.
z: N
Third component of the vector.
w: N
Fourth component of the vector.
Methods
impl<N> Vec4<N>
[src]
impl<N: Zero + One> Vec4<N>
[src]
fn x() -> Vec4<N>
[−]
Create a unit vector with its $compN
component equal to 1.0.
fn y() -> Vec4<N>
[−]
Create a unit vector with its $compN
component equal to 1.0.
fn z() -> Vec4<N>
[−]
Create a unit vector with its $compN
component equal to 1.0.
fn w() -> Vec4<N>
[−]
Create a unit vector with its $compN
component equal to 1.0.
impl<N: Copy> Vec4<N>
[src]
unsafe fn at_fast(&self, i: usize) -> N
[−]
Unsafe read access to a vector element by index.
unsafe fn set_fast(&mut self, i: usize, val: N)
[−]
Unsafe write access to a vector element by index.
impl<N> Vec4<N>
[src]
impl<N> Vec4<N>
[src]
Trait Implementations
impl<N: Copy> Copy for Vec4<N>
[src]
impl<N: Debug> Debug for Vec4<N>
[src]
impl<N: Hash> Hash for Vec4<N>
[src]
fn hash<__HN: Hasher>(&self, __arg_0: &mut __HN)
[−]
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0[−]
Feeds a slice of this type into the state provided.
impl<N: Clone> Clone for Vec4<N>
[src]
fn clone(&self) -> Vec4<N>
[−]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[−]
Performs copy-assignment from source
. Read more
impl<N: Decodable> Decodable for Vec4<N>
[src]
impl<N: Encodable> Encodable for Vec4<N>
[src]
impl<N: PartialEq> PartialEq for Vec4<N>
[src]
fn eq(&self, __arg_0: &Vec4<N>) -> bool
[−]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Vec4<N>) -> bool
[−]
This method tests for !=
.
impl<N: Eq> Eq for Vec4<N>
[src]
impl<N: BaseFloat> POrd for Vec4<N>
[src]
fn inf(&self, other: &Vec4<N>) -> Vec4<N>
[−]
Returns the infimum of this value and another
fn sup(&self, other: &Vec4<N>) -> Vec4<N>
[−]
Returns the supremum of this value and another
fn partial_cmp(&self, other: &Vec4<N>) -> POrdering
[−]
Compare self
and other
using a partial ordering relation.
fn partial_lt(&self, other: &Vec4<N>) -> bool
[−]
Returns true
iff self
and other
are comparable and self < other
.
fn partial_le(&self, other: &Vec4<N>) -> bool
[−]
Returns true
iff self
and other
are comparable and self <= other
.
fn partial_gt(&self, other: &Vec4<N>) -> bool
[−]
Returns true
iff self
and other
are comparable and self > other
.
fn partial_ge(&self, other: &Vec4<N>) -> bool
[−]
Returns true
iff self
and other
are comparable and self >= other
.
fn partial_min<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
[−]
Return the minimum of self
and other
if they are comparable.
fn partial_max<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
[−]
Return the maximum of self
and other
if they are comparable.
fn partial_clamp<'a>(&'a self, min: &'a Self, max: &'a Self) -> Option<&'a Self>
[−]
Clamp value
between min
and max
. Returns None
if value
is not comparable to min
or max
. Read more
impl<Nin: Copy, Nout: Copy + Cast<Nin>> Cast<Vec4<Nin>> for Vec4<Nout>
[src]
impl<N> AsRef<[N; 4]> for Vec4<N>
[src]
impl<N> AsMut<[N; 4]> for Vec4<N>
[src]
impl<'a, N> From<&'a [N; 4]> for &'a Vec4<N>
[src]
impl<'a, N> From<&'a mut [N; 4]> for &'a mut Vec4<N>
[src]
impl<N> Index<usize> for Vec4<N>
[src]
type Output = N
The returned type after indexing
fn index(&self, i: usize) -> &N
[−]
The method for the indexing (Foo[Bar]
) operation
impl<N> IndexMut<usize> for Vec4<N>
[src]
impl<N> Shape<usize> for Vec4<N>
[src]
impl<N: Copy> Indexable<usize, N> for Vec4<N>
[src]
fn swap(&mut self, i1: usize, i2: usize)
[−]
Swaps the i
-th element of self
with its j
-th element.
unsafe fn unsafe_at(&self, i: usize) -> N
[−]
Reads the i
-th element of self
. Read more
unsafe fn unsafe_set(&mut self, i: usize, val: N)
[−]
Writes to the i
-th element of self
. Read more
impl<N: Copy> Repeat<N> for Vec4<N>
[src]
fn repeat(val: N) -> Vec4<N>
[−]
Creates a new vector with all its components equal to a given value.
impl<N> Dim for Vec4<N>
[src]
impl<N: BaseFloat + ApproxEq<N>> Basis for Vec4<N>
[src]
fn canonical_basis<F: FnMut(Vec4<N>) -> bool>(f: F)
[−]
Iterates through the canonical basis of the space in which this object lives.
fn orthonormal_subspace_basis<F: FnMut(Vec4<N>) -> bool>(n: &Vec4<N>, f: F)
[−]
Iterates through a basis of the subspace orthogonal to self
.
fn canonical_basis_element(i: usize) -> Option<Vec4<N>>
[−]
Gets the ith element of the canonical basis.
impl<N: Add<N, Output=N>> Add<Vec4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the +
operator
fn add(self, right: Vec4<N>) -> Vec4<N>
[−]
The method for the +
operator
impl<N: Sub<N, Output=N>> Sub<Vec4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the -
operator
fn sub(self, right: Vec4<N>) -> Vec4<N>
[−]
The method for the -
operator
impl<N: Copy + Mul<N, Output=N>> Mul<Vec4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the *
operator
fn mul(self, right: Vec4<N>) -> Vec4<N>
[−]
The method for the *
operator
impl<N: Copy + Div<N, Output=N>> Div<Vec4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the /
operator
fn div(self, right: Vec4<N>) -> Vec4<N>
[−]
The method for the /
operator
impl<N: Copy + Add<N, Output=N>> Add<N> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the +
operator
fn add(self, right: N) -> Vec4<N>
[−]
The method for the +
operator
impl<N: Copy + Sub<N, Output=N>> Sub<N> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the -
operator
fn sub(self, right: N) -> Vec4<N>
[−]
The method for the -
operator
impl<N: Copy + Mul<N, Output=N>> Mul<N> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the *
operator
fn mul(self, right: N) -> Vec4<N>
[−]
The method for the *
operator
impl<N: Copy + Div<N, Output=N>> Div<N> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the /
operator
fn div(self, right: N) -> Vec4<N>
[−]
The method for the /
operator
impl<N: Neg<Output=N> + Copy> Neg for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the -
operator
fn neg(self) -> Vec4<N>
[−]
The method for the unary -
operator
impl<N: BaseNum> Dot<N> for Vec4<N>
[src]
impl<N: Copy + Add<N, Output=N> + Neg<Output=N>> Translation<Vec4<N>> for Vec4<N>
[src]
fn translation(&self) -> Vec4<N>
[−]
Gets the translation associated with this object.
fn inv_translation(&self) -> Vec4<N>
[−]
Gets the inverse translation associated with this object.
fn append_translation_mut(&mut self, t: &Vec4<N>)
[−]
Appends a translation to this object.
fn append_translation(&self, t: &Vec4<N>) -> Vec4<N>
[−]
Appends the translation amount
to a copy of t
.
fn prepend_translation_mut(&mut self, t: &Vec4<N>)
[−]
Prepends a translation to this object.
fn prepend_translation(&self, t: &Vec4<N>) -> Vec4<N>
[−]
Prepends the translation amount
to a copy of t
.
fn set_translation(&mut self, t: Vec4<N>)
[−]
Sets the translation.
impl<N: BaseFloat> Norm<N> for Vec4<N>
[src]
fn sqnorm(&self) -> N
[−]
Computes the squared norm of self
. Read more
fn normalize(&self) -> Vec4<N>
[−]
Gets the normalized version of a copy of v
.
fn normalize_mut(&mut self) -> N
[−]
Normalizes self
.
fn norm(&self) -> N
[−]
Computes the norm of self
.
impl<N: ApproxEq<N>> ApproxEq<N> for Vec4<N>
[src]
fn approx_epsilon(_: Option<Vec4<N>>) -> N
[−]
Default epsilon for approximation.
fn approx_ulps(_: Option<Vec4<N>>) -> u32
[−]
Default ULPs for approximation.
fn approx_eq(&self, other: &Vec4<N>) -> bool
[−]
Tests approximate equality.
fn approx_eq_eps(&self, other: &Vec4<N>, eps: &N) -> bool
[−]
Tests approximate equality using a custom epsilon.
fn approx_eq_ulps(&self, other: &Vec4<N>, ulps: u32) -> bool
[−]
Tests approximate equality using units in the last place (ULPs)
impl<N> One for Vec4<N> where N: Copy + One + Sub<N, Output=N> + Add<N, Output=N>
[src]
impl<N: Zero> Zero for Vec4<N>
[src]
fn zero() -> Vec4<N>
[−]
Returns the additive identity element of Self
, 0
. Read more
fn is_zero(&self) -> bool
[−]
Returns true
if self
is equal to the additive identity.
impl<N> FromIterator<N> for Vec4<N>
[src]
fn from_iter<I: IntoIterator<Item=N>>(iterator: I) -> Vec4<N>
[−]
Creates a value from an iterator. Read more
impl<N: Bounded> Bounded for Vec4<N>
[src]
impl<N: Axpy<N>> Axpy<N> for Vec4<N>
[src]
impl<N> Iterable<N> for Vec4<N>
[src]
impl<N> IterableMut<N> for Vec4<N>
[src]
impl<N: Copy + One + Zero> ToHomogeneous<Vec5<N>> for Vec4<N>
[src]
fn to_homogeneous(&self) -> Vec5<N>
[−]
Gets the homogeneous coordinates form of this object.
impl<N: Copy + Div<N, Output=N> + One + Zero> FromHomogeneous<Vec5<N>> for Vec4<N>
[src]
impl<N: Copy + Add<N, Output=N> + Sub<N, Output=N>> Translate<Pnt4<N>> for Vec4<N>
[src]
fn translate(&self, other: &Pnt4<N>) -> Pnt4<N>
[−]
Apply a translation to an object.
fn inv_translate(&self, other: &Pnt4<N>) -> Pnt4<N>
[−]
Apply an inverse translation to an object.
impl<N, O: Copy> Rotate<O> for Vec4<N>
[src]
fn rotate(&self, other: &O) -> O
[−]
Applies a rotation to v
.
fn inv_rotate(&self, other: &O) -> O
[−]
Applies an inverse rotation to v
.
impl<N: Copy + Add<N, Output=N> + Sub<N, Output=N>> Transform<Pnt4<N>> for Vec4<N>
[src]
fn transform(&self, other: &Pnt4<N>) -> Pnt4<N>
[−]
Applies a transformation to v
.
fn inv_transform(&self, other: &Pnt4<N>) -> Pnt4<N>
[−]
Applies an inverse transformation to v
.
impl<N> NumVec<N> for Vec4<N> where N: BaseNum
[src]
impl<N> FloatVec<N> for Vec4<N> where N: BaseFloat + ApproxEq<N>
[src]
impl<N: Absolute<N>> Absolute<Vec4<N>> for Vec4<N>
[src]
fn abs(m: &Vec4<N>) -> Vec4<N>
[−]
Computes some absolute value of this object. Typically, this will make all component of a matrix or vector positive. Read more
impl<N: Rand> Rand for Vec4<N>
[src]
fn rand<R: Rng>(rng: &mut R) -> Vec4<N>
[−]
Generates a random instance of this type using the specified source of randomness. Read more
impl<N: Copy + BaseNum> Mul<Mat4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the *
operator
fn mul(self, right: Mat4<N>) -> Vec4<N>
[−]
The method for the *
operator
impl<N: Copy + Mul<N, Output=N> + Zero> Outer for Vec4<N>
[src]
type OuterProductType = Mat4<N>
Result type of the outer product.
fn outer(&self, other: &Vec4<N>) -> Mat4<N>
[−]
Computes the outer product: a * b
impl<N: BaseNum> Mul<Rot4<N>> for Vec4<N>
[src]
type Output = Vec4<N>
The resulting type after applying the *
operator
fn mul(self, right: Rot4<N>) -> Vec4<N>
[−]
The method for the *
operator