aboutsummaryrefslogtreecommitdiff
path: root/src/world/shapes/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/world/shapes/mod.rs')
-rw-r--r--src/world/shapes/mod.rs26
1 files changed, 2 insertions, 24 deletions
diff --git a/src/world/shapes/mod.rs b/src/world/shapes/mod.rs
index 6e4b2ce..d15840c 100644
--- a/src/world/shapes/mod.rs
+++ b/src/world/shapes/mod.rs
@@ -1,32 +1,10 @@
mod sphere;
mod rectangle;
+mod r#box;
pub use sphere::Sphere;
pub use rectangle::{Rect, Plane};
+pub use r#box::BoxShp;
use crate::world::{Hittable, Intersection};
use crate::core::{Bound3f, Ray};
-
-pub enum Shape {
- Sphere(Sphere),
-}
-
-impl Hittable for Shape {
- fn intersect(&self, ray: &Ray) -> Option<Intersection> {
- match self {
- Self::Sphere(sph) => sph.intersect(ray)
- }
- }
-
- fn bounding_box(&self) -> Bound3f {
- match self {
- Self::Sphere(sph) => sph.bounding_box()
- }
- }
-}
-
-impl From<Sphere> for Shape {
- fn from(s: Sphere) -> Self {
- Self::Sphere(s)
- }
-}