15 #ifndef BELUGA_RANDOM_MULTIVARIATE_UNIFORM_DISTRIBUTION_HPP
16 #define BELUGA_RANDOM_MULTIVARIATE_UNIFORM_DISTRIBUTION_HPP
23 #include <Eigen/Geometry>
39 template <
class T,
class Constra
int>
51 : x_distribution_{box.min().x(), box.max().x()}, y_distribution_{box.min().y(), box.max().y()} {}
64 x_distribution_(engine),
65 y_distribution_(engine),
88 : x_distribution_{box.min().x(), box.max().x()},
89 y_distribution_{box.min().y(), box.max().y()},
90 z_distribution_{box.min().z(), box.max().z()} {}
103 x_distribution_(engine),
104 y_distribution_(engine),
105 z_distribution_(engine),
126 template <
class OccupancyGr
id>
135 : free_states_{compute_free_states(grid)}, distribution_{0, free_states_.size() - 1} {
136 assert(!free_states_.empty());
149 template <
class URNG>
159 return grid.coordinates_for(grid.free_cells(), OccupancyGrid::Frame::kGlobal) | ranges::to<std::vector>;
164 template <
class Derived>
166 -> MultivariateUniformDistribution<Sophus::SE2d, Derived>;