Crate threecrate

Source
Expand description

§3DCrate

A comprehensive 3D point cloud processing library for Rust.

This is the umbrella crate that provides convenient access to all 3DCrate functionality. You can use this crate to get everything in one place, or use individual crates for more granular control over dependencies.

§Features

  • Core: Basic 3D data structures (Point, PointCloud, Mesh, etc.)
  • Algorithms: Point cloud processing algorithms (filtering, registration, etc.)
  • GPU: GPU-accelerated processing using wgpu
  • I/O: File format support (PLY, OBJ, LAS, etc.)
  • Simplification: Mesh and point cloud simplification algorithms
  • Reconstruction: Surface reconstruction from point clouds
  • Visualization: Interactive 3D visualization tools

§Quick Start

use threecrate::prelude::*;

// Create a point cloud
let points = vec![
    Point3D::new(0.0, 0.0, 0.0),
    Point3D::new(1.0, 0.0, 0.0),
    Point3D::new(0.0, 1.0, 0.0),
];
let cloud = PointCloud::from_points(points);

// Apply algorithms
let filtered = cloud.statistical_filter(50, 1.0);

§Feature Flags

  • default: Enables core, algorithms, io, and simplification
  • core: Core data structures (always enabled)
  • algorithms: Point cloud processing algorithms
  • gpu: GPU-accelerated processing
  • io: File format support
  • simplification: Mesh and point cloud simplification
  • reconstruction: Surface reconstruction from point clouds
  • visualization: Interactive 3D visualization tools
  • all: Enables all features

Re-exports§

pub use threecrate_algorithms as algorithms;
pub use threecrate_io as io;
pub use threecrate_simplification as simplification;

Modules§

error
Error types for 3DCrate
mesh
Mesh data structures and functionality
point
Point types and related functionality
point_cloud
Point cloud data structures and functionality
prelude
Convenient imports for common use cases
traits
Core traits for 3DCrate
transform
3D transformation utilities

Structs§

ColoredNormalPoint3f
A point with color and normal information
ColoredPoint3f
A point with color information
ColoredTriangleMesh
A mesh with colored vertices
NormalPoint3f
A point with normal vector
PointCloud
A generic point cloud container
Transform3D
A 3D transformation that can be applied to points and point clouds
TriangleMesh
A triangle mesh with vertices and faces

Enums§

Error
Main error type for 3DCrate operations

Traits§

Drawable
Trait for drawable/renderable objects
NearestNeighborSearch
Trait for nearest neighbor search functionality
Transformable
Trait for objects that can be transformed

Type Aliases§

ColoredNormalPointCloud3f
A point cloud with colors and normals
ColoredPointCloud3f
A point cloud with colored points
Isometry3
A 3-dimensional direct isometry using a unit quaternion for its rotational part.
Matrix3
A stack-allocated, column-major, 3x3 square matrix.
Matrix4
A stack-allocated, column-major, 4x4 square matrix.
Mesh
NormalPointCloud3f
A point cloud with normal vectors
Point
Point3
A statically sized 3-dimensional column point.
Point3d
A 3D point with double precision coordinates
Point3f
A 3D point with floating point coordinates
PointCloud3f
A point cloud with 3D points
Result
Common result type for 3DCrate operations
Transform3
A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.
Vector3
A stack-allocated, 3-dimensional column vector.
Vector3d
A 3D vector with double precision components
Vector3f
A 3D vector with floating point components