1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
extern crate cgmath;
type Float3 = cgmath::Vector3<f64>;

#[derive(Copy, Clone)]
pub struct Ray {
    pub origin: Float3,
    pub direction: Float3,
}

impl Ray {
    pub fn new(origin: Float3, direction: Float3) -> Ray {
        Ray {
            origin: origin,
            direction: direction,
        }
    }
}