pub struct TVector4<T> {
pub x: T,
pub y: T,
pub z: T,
pub w: T,
}Fields§
§x: T§y: T§z: T§w: TImplementations§
Source§impl<T> TVector4<T>
impl<T> TVector4<T>
Sourcepub fn empty() -> Self
pub fn empty() -> Self
Creates TVector4<type> whose x, y, z and w equal to zero
use iomath::vectors::Vector4;
let vector = Vector4::empty();
assert_eq!(vector, Vector4 { x: 0.0, y: 0.0, z: 0.0, w: 0.0 });Sourcepub fn new(x: T, y: T, z: T, w: T) -> Self
pub fn new(x: T, y: T, z: T, w: T) -> Self
Creates TVector4<type> with x, y, z and w
use iomath::vectors::Vector4;
let vector = Vector4::new(3.7, -1.3, 0.5, 6.4);
assert_eq!(vector, Vector4 { x: 3.7, y: -1.3, z: 0.5, w: 6.4 });Sourcepub fn from_scalar(scalar: T) -> Self
pub fn from_scalar(scalar: T) -> Self
Creates TVector4<type> whose x, y, z, and w equal to scalar
use iomath::vectors::Vector4;
let vector = Vector4::from_scalar(9.0);
assert_eq!(vector, Vector4::new(9.0, 9.0, 9.0, 9.0));Sourcepub fn from_two_values_vector(
first_val: T,
second_val: T,
vector: TVector2<T>,
) -> Self
pub fn from_two_values_vector( first_val: T, second_val: T, vector: TVector2<T>, ) -> Self
Creates TVector4<type> whose x equals to first value, y to second value, z and w to TVector2<type>’s x and y
use iomath::vectors::{ Vector4, Vector2 };
let vector = Vector4::from_two_values_vector(4.0, 5.0, Vector2::new(6.0, 7.0));
assert_eq!(vector, Vector4::new(4.0, 5.0, 6.0, 7.0));Sourcepub fn from_value_vector_value(
first_val: T,
vector: TVector2<T>,
second_val: T,
) -> Self
pub fn from_value_vector_value( first_val: T, vector: TVector2<T>, second_val: T, ) -> Self
Creates TVector4<type> whose x equals to first value,y and z to TVector2<type>’s x and y, w to second value
use iomath::vectors::{ Vector4, Vector2 };
let vector = Vector4::from_value_vector_value(4.0, Vector2::new(6.0, 7.0), 5.0);
assert_eq!(vector, Vector4::new(4.0, 6.0, 7.0, 5.0));Sourcepub fn from_vector_two_values(
vector: TVector2<T>,
first_val: T,
second_val: T,
) -> Self
pub fn from_vector_two_values( vector: TVector2<T>, first_val: T, second_val: T, ) -> Self
Creates TVector4<type> whose x and y equal to TVector2<type>’s x and y, z to first value, w to second value
use iomath::vectors::{ Vector4, Vector2 };
let vector = Vector4::from_vector_two_values(Vector2::new(6.0, 7.0), 4.0, 5.0);
assert_eq!(vector, Vector4::new(6.0, 7.0, 4.0, 5.0));Sourcepub fn from_two_vectors(
first_vector: TVector2<T>,
second_vector: TVector2<T>,
) -> Self
pub fn from_two_vectors( first_vector: TVector2<T>, second_vector: TVector2<T>, ) -> Self
Creates TVector4<type> whose x and y equal to first TVector2<type>’s x and y, z and w to second TVector2<type>’s x and y
use iomath::vectors::{ Vector4, Vector2 };
let vector = Vector4::from_two_vectors(Vector2::new(4.0, 7.0), Vector2::new(5.0, 6.0));
assert_eq!(vector, Vector4::new(4.0, 7.0, 5.0, 6.0));Sourcepub fn from_value_vector(value: T, vector: TVector3<T>) -> Self
pub fn from_value_vector(value: T, vector: TVector3<T>) -> Self
Creates TVector4<type> whose x equals to value, y, z and w equal to TVector3<type>’s x, y and z
use iomath::vectors::{ Vector4, Vector3 };
let vector = Vector4::from_value_vector(1.7, Vector3::new(1.4, 5.5, 2.3));
assert_eq!(vector, Vector4::new(1.7, 1.4, 5.5, 2.3));Sourcepub fn from_vector_value(vector: TVector3<T>, value: T) -> Self
pub fn from_vector_value(vector: TVector3<T>, value: T) -> Self
Creates TVector4<type> whose x, y and z equal to TVector3<type>’s x, y and z, w equals to value
use iomath::vectors::{ Vector4, Vector3 };
let vector = Vector4::from_vector_value(Vector3::new(1.4, 5.5, 2.3), 1.7);
assert_eq!(vector, Vector4::new(1.4, 5.5, 2.3, 1.7));Trait Implementations§
Source§impl<T> AddAssign<T> for TVector4<T>
impl<T> AddAssign<T> for TVector4<T>
Source§fn add_assign(&mut self, scalar: T)
fn add_assign(&mut self, scalar: T)
+= operation. Read moreSource§impl<T> AddAssign for TVector4<T>where
T: AddAssign,
impl<T> AddAssign for TVector4<T>where
T: AddAssign,
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+= operation. Read moreSource§impl<T> BitAndAssign<T> for TVector4<T>where
T: BitAndAssign + Copy,
impl<T> BitAndAssign<T> for TVector4<T>where
T: BitAndAssign + Copy,
Source§fn bitand_assign(&mut self, scalar: T)
fn bitand_assign(&mut self, scalar: T)
&= operation. Read moreSource§impl<T> BitAndAssign for TVector4<T>where
T: BitAndAssign,
impl<T> BitAndAssign for TVector4<T>where
T: BitAndAssign,
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&= operation. Read moreSource§impl<T> BitOrAssign<T> for TVector4<T>where
T: BitOrAssign + Copy,
impl<T> BitOrAssign<T> for TVector4<T>where
T: BitOrAssign + Copy,
Source§fn bitor_assign(&mut self, scalar: T)
fn bitor_assign(&mut self, scalar: T)
|= operation. Read moreSource§impl<T> BitOrAssign for TVector4<T>where
T: BitOrAssign,
impl<T> BitOrAssign for TVector4<T>where
T: BitOrAssign,
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|= operation. Read moreSource§impl<T> BitXorAssign<T> for TVector4<T>where
T: BitXorAssign + Copy,
impl<T> BitXorAssign<T> for TVector4<T>where
T: BitXorAssign + Copy,
Source§fn bitxor_assign(&mut self, scalar: T)
fn bitxor_assign(&mut self, scalar: T)
^= operation. Read moreSource§impl<T> BitXorAssign for TVector4<T>where
T: BitXorAssign,
impl<T> BitXorAssign for TVector4<T>where
T: BitXorAssign,
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^= operation. Read moreSource§impl<T> DivAssign<T> for TVector4<T>
impl<T> DivAssign<T> for TVector4<T>
Source§fn div_assign(&mut self, scalar: T)
fn div_assign(&mut self, scalar: T)
/= operation. Read moreSource§impl<T> DivAssign for TVector4<T>where
T: DivAssign,
impl<T> DivAssign for TVector4<T>where
T: DivAssign,
Source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/= operation. Read moreSource§impl<T> From<TQuaternion<T>> for TVector4<T>
impl<T> From<TQuaternion<T>> for TVector4<T>
Source§fn from(quat: TQuaternion<T>) -> Self
fn from(quat: TQuaternion<T>) -> Self
Source§impl<T> MulAssign<T> for TVector4<T>
impl<T> MulAssign<T> for TVector4<T>
Source§fn mul_assign(&mut self, scalar: T)
fn mul_assign(&mut self, scalar: T)
*= operation. Read moreSource§impl<T> MulAssign for TVector4<T>where
T: MulAssign,
impl<T> MulAssign for TVector4<T>where
T: MulAssign,
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
*= operation. Read moreSource§impl<T> RemAssign<T> for TVector4<T>
impl<T> RemAssign<T> for TVector4<T>
Source§fn rem_assign(&mut self, scalar: T)
fn rem_assign(&mut self, scalar: T)
%= operation. Read moreSource§impl<T> RemAssign for TVector4<T>where
T: RemAssign,
impl<T> RemAssign for TVector4<T>where
T: RemAssign,
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
%= operation. Read moreSource§impl<T> ShlAssign<T> for TVector4<T>
impl<T> ShlAssign<T> for TVector4<T>
Source§fn shl_assign(&mut self, scalar: T)
fn shl_assign(&mut self, scalar: T)
<<= operation. Read moreSource§impl<T> ShlAssign for TVector4<T>where
T: ShlAssign,
impl<T> ShlAssign for TVector4<T>where
T: ShlAssign,
Source§fn shl_assign(&mut self, rhs: Self)
fn shl_assign(&mut self, rhs: Self)
<<= operation. Read moreSource§impl<T> ShrAssign<T> for TVector4<T>
impl<T> ShrAssign<T> for TVector4<T>
Source§fn shr_assign(&mut self, scalar: T)
fn shr_assign(&mut self, scalar: T)
>>= operation. Read moreSource§impl<T> ShrAssign for TVector4<T>where
T: ShrAssign,
impl<T> ShrAssign for TVector4<T>where
T: ShrAssign,
Source§fn shr_assign(&mut self, rhs: Self)
fn shr_assign(&mut self, rhs: Self)
>>= operation. Read moreSource§impl<T> SubAssign<T> for TVector4<T>
impl<T> SubAssign<T> for TVector4<T>
Source§fn sub_assign(&mut self, scalar: T)
fn sub_assign(&mut self, scalar: T)
-= operation. Read moreSource§impl<T> SubAssign for TVector4<T>where
T: SubAssign,
impl<T> SubAssign for TVector4<T>where
T: SubAssign,
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-= operation. Read more