Can create ray
This commit is contained in:
@@ -1,11 +1,31 @@
|
|||||||
use crate::structs::Tuple;
|
use crate::structs::Tuple;
|
||||||
|
|
||||||
|
struct Ray {
|
||||||
|
origin: Tuple,
|
||||||
|
direction: Tuple,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Ray {
|
||||||
|
fn new(origin: Tuple, direction: Tuple) -> Ray {
|
||||||
|
Ray {
|
||||||
|
origin,
|
||||||
|
direction,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
pub fn time_to_work() {
|
pub fn create_a_ray() {
|
||||||
assert_eq!(true, true);
|
let origin = Tuple::point(1, 2, 3);
|
||||||
|
let direction = Tuple::vector(4, 5, 6);
|
||||||
|
|
||||||
|
let ray = Ray::new(origin, direction);
|
||||||
|
assert_eq!(ray.origin, origin);
|
||||||
|
assert_eq!(ray.direction, direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user