Rust bindings for the Visualization Toolkit (VTK).
stable | beta | nightly | Build | |
---|---|---|---|---|
ubuntu-24.04 |
cargo build |
|||
ubuntu-22.04 |
cargo build |
|||
macos-13 |
cargo build |
|||
macos-14 |
cargo build |
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 | apt install libvtk9.1 libvtk9-dev |
Macos 13 & 14 | brew install vtk |
vtk-rs
will try to determine the path for vtk
automatically.
It is possible to control the compilation process via environment flags.
Flag | Effect |
---|---|
VTK_DIR |
cargo:rustc-link-search=$VTK_DIR |
VTK_VERSION |
Add suffix to vtk libraries (i.e. libvtkCommonCore-9.4 ). |
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.
- Stabilize Build system
- Automate system library detection and generate linker flags
- Gradually implement functionality for examples. Start with 3D geometry.