[−][src]Struct calcify::ThreeVec
Three Vector
Methods
impl ThreeVec
[src]
pub fn new(x0: f64, x1: f64, x2: f64) -> ThreeVec
[src]
Returns a new ThreeVec from three f64s
Arguments
x0
- f64x1
- f64x2
- f64
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(1.0,2.0,3.0);
pub fn random(max: f64) -> ThreeVec
[src]
Returns a new ThreeVec with three random f64 from rand::Uniform between -1 and 1
Arguments
max
- f64: The absolute maximum value of each individule componant of the constituent ThreeVec
Example
use calcify::ThreeVec; let vec3 = ThreeVec::random(10.0);
pub fn x0(&self) -> &f64
[src]
Returns a reference to the first element of the vector
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(1.0,2.0,3.0); let element_zero: f64 = *vec3.x0(); assert_eq!(element_zero,1.0);
pub fn x1(&self) -> &f64
[src]
Returns a reference to the second element of the vector
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(1.0,2.0,3.0); let element_one: f64 = *vec3.x1(); assert_eq!(element_one,2.0);
pub fn x2(&self) -> &f64
[src]
Returns a reference to the third element of the vector
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(1.0,2.0,3.0); let element_two: f64 = *vec3.x2(); assert_eq!(element_two,3.0);
pub fn r(&self) -> f64
[src]
Returns the length of the vector
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(1.0,0.0,0.0); assert_eq!(vec3.r(),1.0);
Trait Implementations
impl Serializable for ThreeVec
[src]
impl Clone for ThreeVec
[src]
fn clone(&self) -> ThreeVec
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Copy for ThreeVec
[src]
impl PartialEq<ThreeVec> for ThreeVec
[src]
impl Display for ThreeVec
[src]
impl Debug for ThreeVec
[src]
impl FromStr for ThreeVec
[src]
type Err = ParseFloatError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
impl Add<ThreeVec> for ThreeVec
[src]
type Output = ThreeVec
The resulting type after applying the +
operator.
fn add(self, other: ThreeVec) -> ThreeVec
[src]
impl Sub<ThreeVec> for ThreeVec
[src]
type Output = ThreeVec
The resulting type after applying the -
operator.
fn sub(self, other: ThreeVec) -> ThreeVec
[src]
impl Mul<f64> for ThreeVec
[src]
type Output = ThreeVec
The resulting type after applying the *
operator.
fn mul(self, coef: f64) -> ThreeVec
[src]
impl Mul<ThreeVec> for f64
[src]
type Output = ThreeVec
The resulting type after applying the *
operator.
fn mul(self, vec: ThreeVec) -> ThreeVec
[src]
impl Mul<ThreeVec> for ThreeVec
[src]
type Output = f64
The resulting type after applying the *
operator.
fn mul(self, other: ThreeVec) -> f64
[src]
Dot product
Example
use calcify::ThreeVec; let vec3 = ThreeVec::new(2.0,2.0,2.0); assert_eq!( vec3*vec3, 12.0 );
impl Mul<ThreeVec> for ThreeMat
[src]
type Output = ThreeVec
The resulting type after applying the *
operator.
fn mul(self, other: ThreeVec) -> ThreeVec
[src]
Matrix multiplication with vector
Note
Only works in one direction ThreeMat*ThreeVec, implying ThreeVec as a column vector.
Example
use calcify::ThreeMat; use calcify::ThreeVec; let mat3 = ThreeMat::new(ThreeVec::new(1.0,2.0,3.0), ThreeVec::new(1.0,2.0,3.0), ThreeVec::new(1.0,2.0,3.0)); assert_eq!( mat3*ThreeVec::new(2.0,2.0,2.0), ThreeVec::new(12.0,12.0,12.0) );
impl Neg for ThreeVec
[src]
type Output = ThreeVec
The resulting type after applying the -
operator.
fn neg(self) -> ThreeVec
[src]
impl AddAssign<ThreeVec> for ThreeVec
[src]
fn add_assign(&mut self, other: ThreeVec)
[src]
impl SubAssign<ThreeVec> for ThreeVec
[src]
fn sub_assign(&mut self, other: ThreeVec)
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,