forked from StudioInfinity/dyna3
AddRemove: switch between pre-made test assemblies
This commit is contained in:
parent
1c9fec36e5
commit
7977b11caf
2 changed files with 102 additions and 69 deletions
|
@ -10,7 +10,7 @@ use std::collections::BTreeSet;
|
|||
use sycamore::prelude::*;
|
||||
|
||||
use add_remove::AddRemove;
|
||||
use assembly::{Assembly, Constraint, Element};
|
||||
use assembly::Assembly;
|
||||
use display::Display;
|
||||
use outline::Outline;
|
||||
|
||||
|
@ -31,72 +31,7 @@ impl AppState {
|
|||
|
||||
fn main() {
|
||||
sycamore::render(|| {
|
||||
let state = AppState::new();
|
||||
let assemb = &state.assembly;
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("gemini_a"),
|
||||
label: String::from("Castor"),
|
||||
color: [1.00_f32, 0.25_f32, 0.00_f32],
|
||||
rep: engine::sphere(0.5, 0.5, 0.0, 1.0),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("gemini_b"),
|
||||
label: String::from("Pollux"),
|
||||
color: [0.00_f32, 0.25_f32, 1.00_f32],
|
||||
rep: engine::sphere(-0.5, -0.5, 0.0, 1.0),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("ursa_major"),
|
||||
label: String::from("Ursa major"),
|
||||
color: [0.25_f32, 0.00_f32, 1.00_f32],
|
||||
rep: engine::sphere(-0.5, 0.5, 0.0, 0.75),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("ursa_minor"),
|
||||
label: String::from("Ursa minor"),
|
||||
color: [0.25_f32, 1.00_f32, 0.00_f32],
|
||||
rep: engine::sphere(0.5, -0.5, 0.0, 0.5),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("moon_deimos"),
|
||||
label: String::from("Deimos"),
|
||||
color: [0.75_f32, 0.75_f32, 0.00_f32],
|
||||
rep: engine::sphere(0.0, 0.15, 1.0, 0.25),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
let _ = assemb.try_insert_element(
|
||||
Element {
|
||||
id: String::from("moon_phobos"),
|
||||
label: String::from("Phobos"),
|
||||
color: [0.00_f32, 0.75_f32, 0.50_f32],
|
||||
rep: engine::sphere(0.0, -0.15, -1.0, 0.25),
|
||||
constraints: BTreeSet::default()
|
||||
}
|
||||
);
|
||||
assemb.insert_constraint(
|
||||
Constraint {
|
||||
args: (
|
||||
assemb.elements_by_id.with(|elts_by_id| elts_by_id["gemini_a"]),
|
||||
assemb.elements_by_id.with(|elts_by_id| elts_by_id["gemini_b"])
|
||||
),
|
||||
rep: 0.5
|
||||
}
|
||||
);
|
||||
provide_context(state);
|
||||
provide_context(AppState::new());
|
||||
|
||||
view! {
|
||||
div(id="sidebar") {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue