31 lines
571 B
Rust
31 lines
571 B
Rust
use crate::{objects::traits::Hittable, vec3::Vec3};
|
|
|
|
#[derive(Debug)]
|
|
pub struct Cylinder {
|
|
radius: f32,
|
|
length: f32,
|
|
up: Vec3,
|
|
bottom_center: Vec3,
|
|
}
|
|
|
|
impl Cylinder {
|
|
pub fn new(radius: f32, length: f32, up: Vec3, bottom_center: Vec3) -> Self {
|
|
Self {
|
|
radius,
|
|
length,
|
|
up,
|
|
bottom_center,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Hittable for Cylinder {
|
|
fn hit(&self, r: &crate::ray::Ray) -> Option<super::hit::Hit> {
|
|
todo!()
|
|
}
|
|
|
|
fn to_uv(&self, point: &Vec3) -> Vec3 {
|
|
todo!()
|
|
}
|
|
}
|