plate-tool/src/lib.rs

42 lines
1.1 KiB
Rust
Raw Normal View History

2023-05-11 21:49:03 +00:00
#![allow(non_snake_case)]
mod components;
2023-05-12 00:47:31 +00:00
mod data;
2023-05-11 21:49:03 +00:00
use components::source_plate::SourcePlate;
2023-05-11 21:51:09 +00:00
use dioxus::prelude::*;
2023-05-11 21:49:03 +00:00
2023-05-12 20:38:14 +00:00
#[cfg(debug_assertions)]
use data::*;
2023-05-11 21:49:03 +00:00
pub fn App(cx: Scope) -> Element {
cx.render(rsx! {
div {
"Shrimp"
SourcePlate {
width: 24,
height: 18,
}
}
})
}
2023-05-12 20:38:14 +00:00
pub fn plate_test() {
let source = plate::Plate::new(plate::PlateType::Source, plate::PlateFormat::W96);
2023-05-13 23:13:03 +00:00
let destination = plate::Plate::new(plate::PlateType::Destination, plate::PlateFormat::W384);
2023-05-12 20:38:14 +00:00
let transfer = transfer_region::TransferRegion {
source_plate: &source,
2023-05-21 01:29:21 +00:00
source_region: transfer_region::Region::Rect((1, 1), (2, 2)),
2023-05-12 20:38:14 +00:00
dest_plate: &destination,
2023-05-21 01:29:21 +00:00
dest_region: transfer_region::Region::Rect((2,2),(11,11)),
2023-05-13 15:40:39 +00:00
interleave_source: None,
2023-05-21 01:29:21 +00:00
interleave_dest: Some((3,3)),
2023-05-12 20:38:14 +00:00
};
2023-05-13 00:25:21 +00:00
println!("{}", transfer);
2023-05-21 01:29:21 +00:00
let sws = transfer.get_source_wells();
let m = transfer.calculate_map();
for w in sws {
println!("{:?} -> {:?}", w,m(w));
}
2023-05-12 20:38:14 +00:00
}