Crate libreda_oasis[−][src]
Library for reading and writing OASIS files.
OASIS is a binary format for storing two-dimensional geometrical data as it is commonly used for silicon chip layouts. Its purpose is very similar to the older GDS2 format.
Examples
Read a layout from OASIS
use std::fs::File; use libreda_oasis::OASISStreamReader; // Import the `LayoutStreamReader` trait. use libreda_db::prelude::{Layout, LayoutStreamReader}; let filename = "./tests/data/INVX1_no_compression.oas"; // Open the OASIS file for reading. let mut f = File::open(filename).unwrap(); // Create an empty layout that will be populated by the OASIS reader. let mut layout = Layout::new(); // Create a default OASIS reader and parse the data from the file. let result = OASISStreamReader::default() .read_layout(&mut f, &mut layout); // Assert that there was no error. assert!(result.is_ok());
Write a layout to OASIS
use std::fs::File; use libreda_oasis::OASISStreamWriter; // Import the `LayoutStreamReader` trait. use libreda_db::prelude::{Layout, LayoutStreamWriter}; // Create an empty layout. let layout = Layout::new(); let mut f = File::create("./tests/data/empty_layout_out.oas").unwrap(); let writer = OASISStreamWriter::default(); // Write the (empty) layout to the file. let write_result = writer.write_layout(&mut f, &layout); // Assert that there was no error. assert!(write_result.is_ok());
Re-exports
pub use libreda_db; |
Structs
OASISStreamReader | Reader for the OASIS file format. |
OASISStreamWriter | Writer for the OASIS file format. |
OASISWriterConfig | Configuration for the output stream format. |
Traits
LayoutStreamReader | Trait for reading a layout from a byte stream. |
LayoutStreamWriter | Trait for writing a layout to a byte stream. |