|
| template<typename T , size_t N, typename ScaleFn > |
| bool | ps::in_neighborhood (const GridND< T, N > &grid, const Point< T, N > &p, T base_min_dist, const std::array< std::pair< T, T >, N > &ranges, ScaleFn scale_fn) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::generate_random_point_around (const Point< T, N > ¢er, T base_min_dist, std::mt19937 &gen, std::function< T(const Point< T, N > &)> scale_fn) |
| |
| template<typename T , size_t N, typename ScaleFn > |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling (size_t count, const std::array< std::pair< T, T >, N > &ranges, T base_min_dist, ScaleFn scale_fn, std::optional< unsigned int > seed=std::nullopt, size_t new_points_attempts=30) |
| | Generate a set of Poisson disk samples in N-dimensional space, possibly with a warped metric.
|
| |
| template<typename T , size_t N> |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling_uniform (size_t count, const std::array< std::pair< T, T >, N > &ranges, T base_min_dist, std::optional< unsigned int > seed=std::nullopt, size_t new_points_attempts=30) |
| | Generate uniformly distributed Poisson disk samples in N-dimensional space.
|
| |
| template<typename T , size_t N, typename RadiusGen > |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling_distance_distribution (size_t n_points, const std::array< std::pair< T, T >, N > &axis_ranges, RadiusGen &&radius_gen, std::optional< unsigned int > seed=std::nullopt, size_t max_attempts=30) |
| | Generate random points with a variable-radius Poisson disk sampling.
|
| |
| template<typename T , size_t N> |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling_power_law (size_t n_points, T dist_min, T dist_max, T alpha, const std::array< std::pair< T, T >, N > &axis_ranges, std::optional< unsigned int > seed=std::nullopt, size_t max_attempts=30) |
| | Generate N-dimensional points using Poisson disk sampling with a power-law radius distribution.
|
| |
| template<typename T , size_t N> |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling_weibull (size_t n_points, T lambda, T k, const std::array< std::pair< T, T >, N > &axis_ranges, std::optional< unsigned int > seed=std::nullopt, size_t max_attempts=30) |
| | Generate N-dimensional points using Poisson disk sampling with a Weibull-distributed radius.
|
| |
| template<typename T , size_t N> |
| std::vector< Point< T, N > > | ps::poisson_disk_sampling_weibull (size_t n_points, T lambda, T k, T dist_min, const std::array< std::pair< T, T >, N > &axis_ranges, std::optional< unsigned int > seed=std::nullopt, size_t max_attempts=30) |
| | Poisson disk sampling in N dimensions with radii drawn from a Weibull distribution, enforcing a minimum exclusion distance.
|
| |