8 releases

✓ Uses Rust 2018 edition

new 0.3.2 Sep 11, 2019
0.3.1 Sep 3, 2019
0.2.2 Jan 6, 2019
0.1.1 Nov 5, 2018

#231 in Data structures

Download history 6/week @ 2019-05-29 5/week @ 2019-06-05 19/week @ 2019-06-12 20/week @ 2019-06-19 30/week @ 2019-06-26 37/week @ 2019-07-03 20/week @ 2019-07-10 5/week @ 2019-07-17 8/week @ 2019-07-31 15/week @ 2019-08-07 25/week @ 2019-08-21 36/week @ 2019-08-28 33/week @ 2019-09-04

77 downloads per month

MIT/Apache

89KB
2K SLoC

License

Provides various query aabb broad phase algorithms such as collision pair finding, raycast, or k_nearest, on the dinotree data structure.

Inner projects

The dinotree_alg_demo inner project is meant to show case the use of these algorithms. It depends on the piston 2d engine to draw to the screen.

The dinotree_alg_data project generates some graphs using RustGnuPlot. These graphs are used to create the reports in the dinotree_report project that is a seperate dinotree project.

Analysis

Please see the dinotree_report github project for a writeup of the design and analysis of the algorithms in this project.

License

Licensed under the terms of MIT license and the Apache License (Version 2.0).

See LICENSE-MIT and LICENSE-APACHE for details.


lib.rs:

Overview

This crate provides some useful 2D space querying algorithms that you can perform on a dinotree. Checkout the inner demo and data projects to see how all these algorithms can be used.

Unsafety

MultiRectMut uses unsafety to allow the user to have mutable references to elements that belong to rectangle regions that don't intersect at the same time.

Dependencies

~2MB
~35K SLoC