use std::{cell::RefCell, collections::HashMap, rc::Rc}; use kiss3d::nalgebra::Point3; use crate::geometry::{ face::{Face, FaceId, FaceType}, polyhedra::cube::create_cube_atom, }; #[derive(Debug, Clone)] pub struct Polyhedron { pub vertices: Vec>, pub faces: Vec, } #[derive(Debug, Clone)] pub struct PrimitiveAtom { pub geometry: Polyhedron, pub faces: Vec, pub face_types: HashMap, } pub fn load_atoms() -> Vec { vec![create_cube_atom()] } pub type AtomRef = Rc>;