Collision-Affording Point Trees: SIMD-Amenable Nearest Neighbors for Fast Collision Checking

For a full demonstration of CAPTs running in real-time, see this video.
This is a Rust implementation of the collision-affording point tree (CAPT), a data structure for SIMD-parallel collision-checking against point clouds. The CAPT supports extremely high-throughput collision checking, supporting online, real-time motion planning.
You may also want to look at the following other sources:
If you use this in an academic work, please cite it as follows:
Usage
The core data structure in this library is the Capt, which is a search tree used for collision checking.
use Capt;
// list of points in tree
let points = ;
// range of legal radii for collision-checking
let radius_range = ;
let captree = new;
// sphere centered at (1.5, 1.5) with radius 0.01 does not collide
assert!;
// sphere centered at (1.5, 1.5) with radius 1.0 does collide
assert!;
Installation
capt is available as a package on crates.io.
This means that adding capt to your Rust project is as simple as asking Cargo to add it as a dependency.
To use the SIMD-parallel features of CAPTs, make sure to include it as a feature.
License
This work is licensed to you under the Apache 2.0 license. For further details, refer to LICENSE.md.