prelude: create prelude and add some tuple helpers to it.
This commit is contained in:
parent
c500d56d4d
commit
4936839723
@ -37,3 +37,7 @@ pub mod float {
|
||||
}
|
||||
|
||||
pub use float::Float;
|
||||
|
||||
pub mod prelude {
|
||||
pub use crate::tuples::{point, vector, Color};
|
||||
}
|
||||
|
||||
@ -2,6 +2,32 @@ use std::ops::{Add, Div, Mul, Neg, Sub};
|
||||
|
||||
use crate::{Float, EPSILON};
|
||||
|
||||
/// Short hand for creating a Tuple that represents a point, w=1.
|
||||
///
|
||||
/// # Examples
|
||||
/// ```
|
||||
/// use rtchallenge::tuples::{point, Tuple};
|
||||
///
|
||||
/// assert_eq!(point(1., 2., 3.), Tuple::point(1., 2., 3.));
|
||||
/// assert_eq!(point(1., 2., 3.), Tuple::new(1., 2., 3., 1.));
|
||||
/// ```
|
||||
pub fn point(x: Float, y: Float, z: Float) -> Tuple {
|
||||
Tuple::point(x, y, z)
|
||||
}
|
||||
|
||||
/// Short hand for creating a Tuple that represents a vector, w=0.
|
||||
///
|
||||
/// # Examples
|
||||
/// ```
|
||||
/// use rtchallenge::tuples::{vector, Tuple};
|
||||
///
|
||||
/// assert_eq!(vector(1., 2., 3.), Tuple::vector(1., 2., 3.));
|
||||
/// assert_eq!(vector(1., 2., 3.), Tuple::new(1., 2., 3., 0.));
|
||||
/// ```
|
||||
pub fn vector(x: Float, y: Float, z: Float) -> Tuple {
|
||||
Tuple::vector(x, y, z)
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Copy, Clone)]
|
||||
pub struct Tuple {
|
||||
pub x: Float,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user