Public Member Functions | |
hilbert_curve (const int_t &id) | |
hilbert_curve (const hilbert_curve &bid) | |
hilbert_curve (const point_t &p) | |
hilbert_curve (const point_t &p, const size_t depth) | |
void | coordinates (point_t &p) |
hilbert_curve & | operator= (const hilbert_curve &bid) |
Public Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > > | |
constexpr bool | is_null () const |
size_t | depth () const |
void | push (int_t bits) |
void | pop () |
void | pop (size_t d) |
Pop the depth d bits from the end of this key. | |
int | conflict_depth (filling_curve key_a, filling_curve key_b) |
Search for the depth were two keys are in conflict. | |
int | pop_value () |
Pop and return the digit popped. | |
int | last_value () |
Return the last digit of the key. | |
constexpr filling_curve | parent () const |
Return the parent of this key (depth - 1) | |
void | truncate (size_t to_depth) |
Truncate this key until it is of depth to_depth. | |
void | output_ (std::ostream &ostr) const |
Output a key using oct in 3d and poping values for 2 and 1D. | |
int_t | value () const |
Get the value associated to this key. | |
constexpr bool | operator== (const filling_curve &bid) const |
constexpr bool | operator<= (const filling_curve &bid) const |
constexpr bool | operator>= (const filling_curve &bid) const |
constexpr bool | operator> (const filling_curve &bid) const |
constexpr bool | operator< (const filling_curve &bid) const |
constexpr bool | operator!= (const filling_curve &bid) const |
operator int_t () const | |
Static Public Member Functions | |
static void | set_range (const range_t &range) |
Static Public Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > > | |
static size_t | max_depth () |
static constexpr hilbert_curve< DIM, T > | min () |
Smallest value possible at max_depth considering the root. | |
static constexpr hilbert_curve< DIM, T > | max () |
Biggest value possible at max_depth considering the root. | |
static constexpr hilbert_curve< DIM, T > | root () |
static constexpr hilbert_curve< DIM, T > | null () |
Additional Inherited Members | |
Protected Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > > | |
filling_curve (int_t value) | |
Protected Attributes inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > > | |
int_t | value_ |
Static Protected Attributes inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > > | |
static constexpr size_t | bits_ |
static constexpr size_t | max_depth_ |
Maximum number of bits. | |
static constexpr size_t | max_value_ |
static double | min_ |
static double | scale_ |
static range_t | range_ |
|
inline |
Hilbert key is always generated to the max_depth_ and then truncated otherwise the keys will not be the same
|
inlinevirtual |
Convert this id to coordinates in range.
Reimplemented from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >.