Compare functor which sorts particles according to the hilbert space filling curve.
#include <HilbertCompareFunctor.h>
Public Member Functions | |
HilbertCompareFunctor (const math::AABB &domain, const uint_t cells) | |
Subdivides a domain into cells and arranges the cells according to the sfc. 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 uint_t | cells_ |
Vec3 | inverse_dx |
std::vector< uint_t > | hilbertLookup_ |
walberla::mesa_pd::sorting::HilbertCompareFunctor::HilbertCompareFunctor | ( | const math::AABB & | domain, |
const uint_t | cells | ||
) |
Subdivides a domain into cells and arranges the cells according to the sfc.
The position within the sfc 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::HilbertCompareFunctor::operator() | ( | const data::Particle | bd1, |
const data::Particle | bd2 | ||
) | const |
|
private |
|
private |
|
private |
|
private |