Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

jiaqiwang969/picogk-rust

Repository files navigation

PicoGK Rust

Rust implementation of PicoGK - A compact geometry kernel for Computational Engineering by LEAP 71.

Overview

This monorepo contains the complete Rust port of the PicoGK ecosystem:

picogk-rust/
├── crates/
│   ├── PicoGKRuntime/     # C++ runtime (OpenVDB + Viewer); build output in `Dist/`
│   ├── picogk/           # Core geometry kernel
│   ├── shapekernel/      # Parametric shape modeling
│   ├── lattice-library/  # Lattice structure generation
│   ├── quasi-crystals/   # Aperiodic tilings + quasi-crystals
│   ├── helix-heatx/      # Rust port of LEAP71_HelixHeatX (app)
│   ├── rover-wheel/      # Rust port of LEAP71_RoverWheel (app)
│   └── demo/             # Demo runner
├── ViewerEnvironment/    # Default Viewer environment (lights, etc.)
└── doc/                  # Documentation

Crates

Crate Description
picogk Core geometry kernel - voxels, meshes, implicit surfaces, lattices
shapekernel Parametric shapes - cylinders, pipes, splines, frames
lattice-library Lattice structures - TPMS, cell arrays, beam networks
quasi-crystals Aperiodic tilings (Penrose) + quasi-crystals (viewer demos + library)
helix-heatx Rust port of LEAP71 HelixHeatX (STL export + optional Viewer preview)
rover-wheel Rust port of LEAP71 RoverWheel (STL export + optional Viewer preview)
picogk-demo Demo runner for ShapeKernel / LatticeLibrary / QuasiCrystals tasks

Dependencies

helix-heatx, rover-wheel, quasi-crystals, lattice-library
    └── shapekernel
            └── picogk (Rust bindings)
                    └── PicoGKRuntime (C++ / OpenVDB / Viewer)

Quick Start

# Build native runtime (macOS/Windows)
cmake -S crates/PicoGKRuntime -B crates/PicoGKRuntime/build -DCMAKE_BUILD_TYPE=Release
cmake --build crates/PicoGKRuntime/build -j

# Build all crates
cargo build --workspace

# Run tests
cargo test --workspace

# Run demo
cargo run -p picogk-demo -- list
cargo run -p picogk-demo -- base_cylinder_showcase

Examples

Each crate has its own examples:

# PicoGK examples
cargo run -p picogk --example basic
cargo run -p picogk --example gyroid

# ShapeKernel examples
cargo run -p shapekernel --example base_pipe_showcase
cargo run -p shapekernel --example lattice_pipe_showcase

# LatticeLibrary examples
cargo run -p lattice-library --example regular_task
cargo run -p lattice-library --example conformal_task

Platform Support

Platform Architecture Status
macOS ARM64 (Apple Silicon) ✅ Supported
Windows x64 ✅ Supported
Linux x64 / ARM64 ⚠️ Requires user-provided .so

Linux Setup

Build PicoGKRuntime on Linux and set PICOGK_LIB_DIR=crates/PicoGKRuntime/Dist, or place your libpicogk*.so in crates/picogk/native/linux-x64/ (or linux-arm64/).

Documentation

Document Description
RUST_API_DESIGN.md API design principles
MIGRATION_GUIDE.md C# to Rust migration
BUILD_FROM_SOURCE.md Building native libs

License

Apache-2.0

Credits

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6