43 template <
typename POINT>
50 std::vector<MeshLib::Element const*> elements_vec;
53 for (std::size_t i(min_coords.second[0]); i<=max_coords.second[0]; i++) {
54 for (std::size_t j(min_coords.second[1]); j<=max_coords.second[1]; j++) {
55 for (std::size_t k(min_coords.second[2]); k<=max_coords.second[2]; k++) {
56 std::size_t idx(i+j*
_n_steps[0]+k*n_plane);
57 elements_vec.insert(end(elements_vec),
81 std::pair<bool, std::array<std::size_t,3>>
Definition of the AABB class.
Definition of the Point3d class.
Class AABB is an axis aligned bounding box around a given set of geometric points of (template) type ...
void sortElementsInGridCells(MeshLib::Mesh const &mesh)
std::vector< std::vector< MeshLib::Element const * > > _elements_in_grid_box
MeshElementGrid(MeshLib::Mesh const &mesh)
std::pair< bool, std::array< std::size_t, 3 > > getGridCellCoordinates(MathLib::Point3d const &p) const
bool sortElementInGridCells(MeshLib::Element const &element)
Eigen::Vector3d const & getMinPoint() const
std::vector< MeshLib::Element const * > getElementsInVolume(POINT const &min, POINT const &max) const
std::array< double, 3 > _inverse_step_sizes
std::array< std::size_t, 3 > _n_steps
std::array< double, 3 > _step_sizes
Eigen::Vector3d const & getMaxPoint() const