KD impl 1

This commit is contained in:
2023-03-09 08:13:38 +00:00
parent cef9024bc5
commit 9f74ec2ef0
5 changed files with 91 additions and 1 deletions
+15
View File
@@ -12,6 +12,7 @@ use crate::surface_probability_measure::{LoggerSticker, ReadOnlyVectorStorage};
use crate::system::model::DLASystem;
use crate::system::spaces::continuous::{ContinuousSticker, ContinuousStorage, ContinuousWalker};
use crate::system::spaces::hexagonal::HexPosition;
use crate::system::spaces::kd_grid::{KDGrid, KDGrid2Sticker};
use crate::system::spaces::square_grid::{Grid2D, Grid3D};
use crate::system::spaces::VectorStorage;
use crate::system::spawner::UniformSpawner;
@@ -56,6 +57,20 @@ fn main() {
write(&sys, cli.format, &cli.output);
}
PCM::Grid3KD(StickProbabilityCli { grid_size, stick_probability }) => {
let mut sys = DLASystem::<_, Grid2D, _, _, _, _>::new(
SmallRng::seed_from_u64(cli.seed),
KDGrid { inner: kiddo::KdTree::new() },
LocalRandomWalker,
UniformSpawner,
KDGrid2Sticker { stick_probability },
cli.max_particles,
);
drive_system(&mut sys, cli.max_frames, cli.notify_every);
write(&sys, cli.format, &cli.output);
}
PCM::Grid3(StickProbabilityCli { grid_size, stick_probability }) => {
let mut sys = DLASystem::<_, Grid3D, _, _, _, _>::new(
SmallRng::seed_from_u64(cli.seed),