clay_core/object/object.rs
1use crate::{
2 prelude::*,
3 shape::*,
4 material::*,
5};
6
7
8/// An abstract object that could be drawn completely.
9pub trait Object: Pack + Instance<ObjectClass> {}
10
11/// Device interface for object.
12pub enum ObjectClass {}
13impl Class for ObjectClass {
14 fn name() -> String {
15 "object".to_string()
16 }
17 fn methods() -> Vec<String> {
18 let mut methods = ShapeClass::methods();
19 methods.append(&mut MaterialClass::methods());
20 methods
21 }
22}