From 58a9c36d0d5a8d0597dde8b7b557fdb65a73dae6 Mon Sep 17 00:00:00 2001 From: Stephan Rehfeld Date: Wed, 27 May 2026 17:50:24 +0200 Subject: [PATCH] We cant build recursive enum type, as the size of that time would be infitite --- src/lib.rs | 2 +- src/main.rs | 8 +++++++- src/math.rs | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2c80124..337a5cb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,2 @@ -mod geometry; +pub mod geometry; pub mod math; diff --git a/src/main.rs b/src/main.rs index 5efb93d..d6cc5f6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,10 @@ -use hello::math::Point3; +use hello::geometry::Geometry; +use hello::math::{Mat4x4, Point3}; + +enum SceneGraphNode { + Geometry(Mat4x4, Geometry), + SubNode(Mat4x4, SceneGraphNode), +} fn main() { let p1 = Point3::new(0.0, 0.0, 0.0); diff --git a/src/math.rs b/src/math.rs index dd493d5..5e64b9e 100644 --- a/src/math.rs +++ b/src/math.rs @@ -90,6 +90,10 @@ impl Sub for Point3 { } } +pub struct Mat4x4 { + v: f64, +} + #[cfg(test)] mod tests { use super::*;