1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use std::sync::Arc;
use crate::core::object::*;
use crate::core::material::*;
use crate::core::geometry::*;
pub trait Shape:
Object
{
fn geometry(&self) -> Arc<Geometry + 'static>;
fn material(&self) -> Arc<Material + 'static>;
fn set_geometry(&mut self, geometry: Arc<Geometry + 'static>);
fn set_material(&mut self, material: Arc<Material + 'static>);
}