Expand description
Import and export library for Visualization Toolkit (VTK) files.
Legacy .vtk
files as well as modern XML formats are supported.
Both “serial” and “parallel” XML files are supported with facilities for lazily loading.
The Vtk
struct exposes the primary IO API.
§Examples
Many sample files can be found in the assets
directory.
For the following example, we will load a VTK file named tet.vtk
, modify it and write it back
in Legacy ASCII format.
use vtkio::model::*; // import model definition of a VTK file
fn main() {
use std::path::PathBuf;
let file_path = PathBuf::from("../assets/tet.vtk");
let mut vtk_file = Vtk::import(&file_path)
.expect(&format!("Failed to load file: {:?}", file_path));
vtk_file.version = Version::new((4,2)); // arbitrary change
vtk_file.export_ascii(&file_path)
.expect(&format!("Failed to save file: {:?}", file_path));
}
Files are sometimes provided as strings or byte slices, so it is also useful to be able to parse VTK files and write them back to a string or byte slice.
use vtkio::model::*; // import model definition of a VTK file
fn main() {
let data: &[u8] = include_str!("../assets/tet.vtk").as_bytes(); // Or just include_bytes!
let mut vtk_file = Vtk::parse_legacy_be(data).expect(&format!("Failed to parse file"));
vtk_file.version = Version::new((4,2)); // arbitrary change
let mut output = String::new();
Vtk::write_legacy_ascii(vtk_file, &mut output).expect(&format!("Failed to write file"));
println!("{}", output);
}
Re-exports§
Modules§
Macros§
- match_
buf - Evaluate the expression
$e
given aVec
$v
.
Enums§
- Error
- Error type for Import/Export operations.