2024-09-13 00:40:34 -07:00
|
|
|
use nalgebra::DVector;
|
2024-09-22 02:21:45 -07:00
|
|
|
use slab::Slab;
|
2024-09-13 00:40:34 -07:00
|
|
|
use sycamore::reactive::Signal;
|
|
|
|
|
|
|
|
#[derive(Clone, PartialEq)]
|
|
|
|
pub struct Element {
|
|
|
|
pub id: String,
|
|
|
|
pub label: String,
|
|
|
|
pub color: [f32; 3],
|
2024-09-22 02:38:17 -07:00
|
|
|
pub rep: DVector<f64>
|
2024-09-13 00:40:34 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// a complete, view-independent description of an assembly
|
2024-09-13 15:15:55 -07:00
|
|
|
#[derive(Clone)]
|
2024-09-13 00:40:34 -07:00
|
|
|
pub struct Assembly {
|
2024-09-22 02:21:45 -07:00
|
|
|
pub elements: Signal<Slab<Element>>
|
2024-09-13 00:40:34 -07:00
|
|
|
}
|