mni2mz3/
lib.rs

1use std::path::{Path, PathBuf};
2use crate::mz3::Mz3;
3use flate2::{write::GzEncoder, Compression};
4use fs_err::File;
5use std::io::BufWriter;
6
7mod io;
8mod mz3;
9mod obj;
10mod scalar;
11
12/// Convert MNI `.obj` or `.txt` file to Surf-Ice `.mz3` file.
13pub fn mni2mz3<P: AsRef<Path>, B: Into<PathBuf>>(input: P, output: B) -> main_error::MainResult {
14    let data = Mz3::read_mni_file(input)?;
15    let output_file = File::create(output)?;
16    let writer = BufWriter::new(output_file);
17    let mut gz = GzEncoder::new(writer, Compression::default());
18    data.write_to(&mut gz)?;
19    gz.finish()?;
20    Ok(())
21}