threecrate 0.7.1

A comprehensive 3D point cloud processing library for Rust - umbrella crate
Documentation

threecrate

A comprehensive 3D point cloud and mesh processing library for Rust.

Crates.io Documentation License

Overview

threecrate is a modular, high-performance library for 3D point cloud and mesh processing. This umbrella crate provides convenient access to all threecrate functionality in one place.

Features

  • Core: 3D data structures (Point, PointCloud, TriangleMesh, Transform)
  • Algorithms: Filtering, registration (ICP, NDT, global), segmentation, normal estimation, feature descriptors (FPFH, SHOT), mesh boolean operations, mesh smoothing, colorization, SIMD-accelerated distances, and streaming processing
  • GPU: GPU-accelerated filtering, normal estimation, ICP, nearest neighbor search, TSDF volume integration, and real-time rendering via wgpu
  • I/O: PLY, OBJ, PCD, LAS/LAZ, XYZ/CSV, E57 with streaming and memory-mapped I/O support
  • Reconstruction: Poisson, Ball Pivoting, Alpha Shapes, Delaunay, Marching Cubes, MLS, and automatic algorithm selection
  • Simplification: Quadric error metrics, edge collapse, clustering-based, and progressive mesh simplification
  • Visualization: Interactive 3D viewer with orbit, pan, and zoom controls

Quick Start

Add this to your Cargo.toml:

[dependencies]
threecrate = "0.6.0"

Basic usage:

use threecrate::prelude::*;

let cloud = read_point_cloud("scan.ply")?;
let cloud = voxel_grid_filter(&cloud, 0.05)?;
let normals_cloud = estimate_normals(&cloud, 10)?;
let mesh = auto_reconstruct(&normals_cloud)?;
write_mesh("output.obj", &mesh)?;

Installation Options

Option 1: Umbrella Crate (Recommended)

[dependencies]
threecrate = "0.6.0"

Option 2: Individual Crates (Minimal dependencies)

[dependencies]
threecrate-core = "0.6.0"
threecrate-algorithms = "0.6.0"
threecrate-gpu = "0.6.0"
threecrate-io = "0.6.0"
threecrate-simplification = "0.6.0"
threecrate-reconstruction = "0.6.0"
threecrate-visualization = "0.6.0"

Feature Flags

[dependencies]
threecrate = { version = "0.6.0", features = ["all"] }

Available features:

  • default: core, algorithms, io, simplification
  • core: Core data structures (always enabled)
  • algorithms: Point cloud processing algorithms
  • gpu: GPU-accelerated processing
  • io: File format support
  • simplification: Mesh simplification
  • reconstruction: Surface reconstruction
  • visualization: Interactive visualization
  • all: All features

License

Licensed under either of

at your option.

Contributing

Contributions are welcome. Please see CONTRIBUTING.md for guidelines.