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 simplificationcore
: Core data structures (always enabled)algorithms
: Point cloud processing algorithmsgpu
: GPU-accelerated processingio
: File format supportsimplification
: Mesh and point cloud simplificationreconstruction
: Surface reconstruction from point cloudsvisualization
: Interactive 3D visualization toolsall
: 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§
- Colored
Normal Point3f - A point with color and normal information
- Colored
Point3f - A point with color information
- Colored
Triangle Mesh - A mesh with colored vertices
- Normal
Point3f - A point with normal vector
- Point
Cloud - A generic point cloud container
- Transform3D
- A 3D transformation that can be applied to points and point clouds
- Triangle
Mesh - A triangle mesh with vertices and faces
Enums§
- Error
- Main error type for 3DCrate operations
Traits§
- Drawable
- Trait for drawable/renderable objects
- Nearest
Neighbor Search - Trait for nearest neighbor search functionality
- Transformable
- Trait for objects that can be transformed
Type Aliases§
- Colored
Normal Point Cloud3f - A point cloud with colors and normals
- Colored
Point Cloud3f - 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
- Normal
Point Cloud3f - 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
- Point
Cloud3f - 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