pub type Real = f32;
pub struct Vector3 {
x: Real,
y: Real,
z: Real,
}
impl Copy for Vector3 {}
impl Clone for Vector3 {
fn clone(&self) -> Self {
*self
}
}
impl Vector3 {
pub fn new() -> Vector3 {
Vector3 {
x: 0.0,
y: 0.0,
z: 0.0,
}
}
pub fn scale(&mut self, scale: Real) {
self.x = self.x * scale;
self.y = self.y * scale;
self.z = self.z * scale;
}
pub fn get_scaled(&self, scale: Real) -> Vector3 {
Vector3 {
x: self.x * scale,
y: self.y * scale,
z: self.z * scale,
}
}
}