Crates.io | colain |
lib.rs | colain |
version | 0.1.4 |
source | src |
created_at | 2021-03-25 04:49:53.145361 |
updated_at | 2022-01-29 08:44:20.311179 |
description | A parser for the Common Layer Interface format (.cli) |
homepage | https://github.com/sorenrade/colain |
repository | https://github.com/sorenrade/colain |
max_upload_size | |
id | 373228 |
size | 39,169 |
Parser for the Common Layer Interface (.cli) file format.
Note: This library does not yet parse ASCII files.
rustc
1.51.0+
use std::fs::File;
use std::io::prelude::*;
use colain::{
CLI,
clitype::{LongCLI, ShortCLI},
Point // import the Point trait to provide access via .x() and .y()
};
// Load the file
let mut buf: Vec<u8> = Vec::new();
File::open("example.cli").unwrap().read_to_end(&mut buf).unwrap();
// Parse the file
let model = CLI::<LongCLI>::new(&buf).unwrap();
// for each layer
for layer in model.iter() {
// for each loop in the layer
for a_loop in layer.iter_loops() {
// for each point in the loop
for point in a_loop.iter() {
let x = point.x();
let y = point.y();
}
}
}
Licensed under Apache 2.0
Please feel free to submit a PR.
Additionally, .cli files would be very useful for testing, please consider
submitting any files to the testfiles
directory as a PR.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.