Skip to main content

Crate rigidity_core

Crate rigidity_core 

Source
Expand description

The rigidity core.

Dependencies are limited to nalgebra, rayon and thiserror: no file I/O, no GPU, no UI. This crate must build and pass its tests on Linux, Windows and macOS without a single system library.

Three invariants hold throughout:

  • points are stored as f32 offsets from an f64 origin, while all arithmetic is done in f64;
  • H = JᵀWJ is never formed explicitly — the work goes through a tall-skinny QR of the weighted Jacobian;
  • results are bit-for-bit reproducible at any thread count.

Re-exports§

pub use cloud::Attribute;
pub use cloud::AttributeData;
pub use cloud::CloudError;
pub use cloud::PointCloud;
pub use neighbors::BruteForce;
pub use neighbors::Neighbor;
pub use neighbors::NeighborSearch;
pub use nalgebra;

Modules§

cloud
Structure-of-arrays storage for point clouds.
icp
Iterative closest point with a point-to-plane residual.
lie
The Lie groups SO(3) and SE(3).
linalg
Numerical linear algebra.
neighbors
Neighbour search: the contract, and a brute-force reference implementation.
normals
Normal estimation by principal component analysis.
observability
Conditioning of the registration problem and observability of the six degrees of freedom.
voxel
Voxel downsampling with a bit-for-bit reproducible result.