threecrate-core

Crates.iothreecrate-core
lib.rsthreecrate-core
version0.5.0
created_at2025-07-09 10:50:38.287232+00
updated_at2025-09-27 10:21:43.827985+00
descriptionCore data structures and traits for threecrate
homepagehttps://github.com/rajgandhi1/threecrate.git
repositoryhttps://github.com/rajgandhi1/threecrate.git
max_upload_size
id1744741
size56,756
Raj Gandhi (rajgandhi1)

documentation

https://docs.rs/threecrate-core

README

ThreeCrate Core

Crates.io Documentation License

Core data structures and traits for the threecrate library ecosystem.

Features

  • Point Cloud Support: Generic point cloud data structures with support for colored points
  • Mesh Representation: Triangle mesh data structures with normals and texture coordinates
  • Spatial Transformations: Comprehensive 3D transformation utilities
  • Error Handling: Robust error types for 3D processing operations
  • GPU Integration: Optional GPU support via the gpu feature flag

Usage

Add this to your Cargo.toml:

[dependencies]
threecrate-core = "0.1.0"

For GPU support:

[dependencies]
threecrate-core = { version = "0.1.0", features = ["gpu"] }

Example

use threecrate_core::{PointCloud, Point3f, TriangleMesh};

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

// Create a triangle mesh
let vertices = vec![
    Point3f::new(0.0, 0.0, 0.0),
    Point3f::new(1.0, 0.0, 0.0),
    Point3f::new(0.0, 1.0, 0.0),
];
let faces = vec![[0, 1, 2]];
let mesh = TriangleMesh::from_vertices_and_faces(vertices, faces);

License

This project is licensed under either of

at your option.

Commit count: 0

cargo fmt