vtk-rs
Rust bindings for the Visualization Toolkit (VTK).
Testing
stable | beta | nightly | Build | |
---|---|---|---|---|
ubuntu-24.04 |
cargo build --features vtk9-1 |
|||
ubuntu-22.04 |
cargo build --features vtk9-1 |
|||
macos-13 |
cargo build --features vtk9-4 |
|||
macos-14 |
cargo build --features vtk9-4 |
Dependencies
This package relies on a system install of vtk
.
In some scenarios, it might be necessary to install additional dependencies.
Otherwise, compilation of the cmake
part might fail linker errors.
Distro | Packages |
---|---|
Archlinux | pacman -S clang cmake vtk openmpi fast_float nlohmann-json gl2ps utf8cpp |
Ubuntu 22 & 24 | sudo apt install libvtk9.1 libvtk9-dev |
Building
vtk-rs
will try to determine the path for vtk
automatically.
It is also possible to specify said path directly with the VTK_DIR
environment variable.
Internals
This crate builds on cmake
and cxx
in order to generate the necessary code and bindings.
The bindings for vtk
modules are written manually in C++
.
From there, we generate appropriate bindings with cxx::bridge
using the CLI tool
cxxbridge
.
However, we do not use cxx
to compile the code but rather let cmake
handle this task.
To implement the desired class methods, we use Rust
macros.
Roadmap
- Stabilize Build system
- Automate system library detection and generate linker flags
- Gradually implement functionality for examples. Start with 3D geometry.