Add an element constructor

This commit is contained in:
Aaron Fenyes 2024-11-01 05:07:34 -07:00
parent bbeebe4464
commit e42b8da897
2 changed files with 109 additions and 121 deletions

View file

@ -19,6 +19,25 @@ pub struct Element {
pub index: usize
}
impl Element {
pub fn new(
id: String,
label: String,
color: [f32; 3],
rep: DVector<f64>
) -> Element {
Element {
id: id,
label: label,
color: color,
rep: rep,
constraints: create_signal(BTreeSet::default()),
index: 0
}
}
}
#[derive(Clone)]
pub struct Constraint {
pub args: (usize, usize),
@ -82,14 +101,12 @@ impl Assembly {
// create and insert a new element
self.insert_element_unchecked(
Element {
id: id,
label: format!("Sphere {}", id_num),
color: [0.75_f32, 0.75_f32, 0.75_f32],
rep: DVector::<f64>::from_column_slice(&[0.0, 0.0, 0.0, 0.5, -0.5]),
constraints: create_signal(BTreeSet::default()),
index: 0
}
Element::new(
id,
format!("Sphere {}", id_num),
[0.75_f32, 0.75_f32, 0.75_f32],
DVector::<f64>::from_column_slice(&[0.0, 0.0, 0.0, 0.5, -0.5])
)
);
}