Compare functor which sorts particles along the x, y and z axes.
#include <LinearizedCompareFunctor.h>
Public Member Functions | |
LinearizedCompareFunctor (const math::AABB &domain, const Vector3< uint_t > cells) | |
Subdivides a domain into cells and arranges the cells in a linearized fashion. More... | |
bool | operator() (const data::Particle bd1, const data::Particle bd2) const |
double | getWeight (const data::Particle p1) const |
Private Member Functions | |
uint_t | discretize (const Vec3 &pos) const |
void | initializeLookup () |
Private Attributes | |
math::AABB | domain_ |
const Vector3< uint_t > | cells_ |
Vec3 | inverse_dx |
std::vector< uint_t > | hilbertLookup_ |
walberla::mesa_pd::sorting::LinearizedCompareFunctor::LinearizedCompareFunctor | ( | const math::AABB & | domain, |
const Vector3< uint_t > | cells | ||
) |
Subdivides a domain into cells and arranges the cells in a linearized fashion.
The position within the linearization gives the particles their weight.
domain | domain which should be partitioned into cells |
cells | number of cells in every direction. |
|
private |
|
inline |
|
private |
bool walberla::mesa_pd::sorting::LinearizedCompareFunctor::operator() | ( | const data::Particle | bd1, |
const data::Particle | bd2 | ||
) | const |
|
private |
|
private |
|
private |