use togo::prelude::*;
use offroad::{offset::offset_arcline_to_arcline, prelude::OffsetCfg};
fn main() {
let mut cfg = OffsetCfg::default();
let mut svg = SVG::new(300.0, 300.0, Some("/tmp/arcline.svg"));
cfg.svg = Some(&mut svg);
cfg.svg_orig = true;
cfg.svg_final = true;
let arc0 = arc_from_bulge(point(40.0, 100.0), point(140.0, 200.0), 0.0);
let arc1 = arc_from_bulge(point(140.0, 200.0), point(240.0, 100.0), 0.5);
let arc2 = arc_from_bulge(point(240.0, 100.0), point(40.0, 100.0), 1.3);
let arcs_orig = vec![arc0, arc1, arc2];
let offset_arclines = offset_arcline_to_arcline(&arcs_orig, 15.0, &mut cfg);
println!("Input arcline has {} vertices", arcs_orig.len());
println!("Output has {} arclines", offset_arclines.len());
for (i, arcline) in offset_arclines.iter().enumerate() {
println!("Arcline {}: {} vertices", i, arcline.len());
}
if let Some(svg) = cfg.svg.as_mut() {
svg.write_stroke_width(0.1);
}
assert!(
offset_arclines.len() == 1,
"Wrong number of offset arclines generated"
);
}