ThreeCrate Core
Core data structures and traits for the threecrate library ecosystem.
Features
- Point Types:
Point3f,ColoredPoint3f,NormalPoint3f,ColoredNormalPoint3f - Point Cloud: Generic
PointCloud<T>with spatial operations - Mesh:
TriangleMeshwith vertices, faces, normals, and optional UV coordinates - Transformations:
Transform3Dfor rotation, translation, and scaling - Traits:
Drawable,Transformable,NearestNeighborSearch - Error Handling: Comprehensive error types for 3D processing operations
- Bevy Integration: Optional Bevy game engine interop via the
bevyfeature flag
Usage
Add this to your Cargo.toml:
[]
= "0.6.0"
For Bevy integration:
[]
= { = "0.6.0", = ["bevy"] }
Example
use ;
// Create a point cloud
let points = vec!;
let cloud = from_points;
// Create a triangle mesh
let vertices = vec!;
let faces = vec!;
let mesh = from_vertices_and_faces;
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.