HDK
|
Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord. More...
#include <NanoVDB.h>
Public Types | |
using | ValueType = int32_t |
using | IndexType = uint32_t |
Public Member Functions | |
__hostdev__ | Coord () |
Initialize all coordinates to zero. More... | |
__hostdev__ | Coord (ValueType n) |
Initializes all coordinates to the given signed integer. More... | |
__hostdev__ | Coord (ValueType i, ValueType j, ValueType k) |
Initializes coordinate to the given signed integers. More... | |
__hostdev__ | Coord (ValueType *ptr) |
__hostdev__ int32_t | x () const |
__hostdev__ int32_t | y () const |
__hostdev__ int32_t | z () const |
__hostdev__ int32_t & | x () |
__hostdev__ int32_t & | y () |
__hostdev__ int32_t & | z () |
__hostdev__ const ValueType & | operator[] (IndexType i) const |
Return a const reference to the given Coord component. More... | |
__hostdev__ ValueType & | operator[] (IndexType i) |
Return a non-const reference to the given Coord component. More... | |
template<typename CoordT > | |
__hostdev__ Coord & | operator= (const CoordT &other) |
Assignment operator that works with openvdb::Coord. More... | |
__hostdev__ Coord | operator& (IndexType n) const |
Return a new instance with coordinates masked by the given unsigned integer. More... | |
__hostdev__ Coord | operator<< (IndexType n) const |
__hostdev__ Coord | operator>> (IndexType n) const |
__hostdev__ bool | operator< (const Coord &rhs) const |
Return true if this Coord is lexicographically less than the given Coord. More... | |
__hostdev__ bool | operator<= (const Coord &rhs) const |
Return true if this Coord is lexicographically less or equal to the given Coord. More... | |
__hostdev__ bool | operator== (const Coord &rhs) const |
__hostdev__ bool | operator!= (const Coord &rhs) const |
__hostdev__ Coord & | operator&= (int n) |
__hostdev__ Coord & | operator<<= (uint32_t n) |
__hostdev__ Coord & | operator>>= (uint32_t n) |
__hostdev__ Coord & | operator+= (int n) |
__hostdev__ Coord | operator+ (const Coord &rhs) const |
__hostdev__ Coord | operator- (const Coord &rhs) const |
__hostdev__ Coord | operator- () const |
__hostdev__ Coord & | operator+= (const Coord &rhs) |
__hostdev__ Coord & | operator-= (const Coord &rhs) |
__hostdev__ Coord & | minComponent (const Coord &other) |
Perform a component-wise minimum with the other Coord. More... | |
__hostdev__ Coord & | maxComponent (const Coord &other) |
Perform a component-wise maximum with the other Coord. More... | |
__hostdev__ Coord | offsetBy (ValueType dx, ValueType dy, ValueType dz) const |
__hostdev__ Coord | offsetBy (ValueType n) const |
template<int Log2N = 3 + 4 + 5> | |
__hostdev__ uint32_t | hash () const |
Return a hash key derived from the existing coordinates. More... | |
__hostdev__ uint8_t | octant () const |
Return the octant of this Coord. More... | |
__hostdev__ Vec3< float > | asVec3s () const |
Return a single precision floating-point vector of this coordinate. More... | |
__hostdev__ Vec3< double > | asVec3d () const |
Return a double precision floating-point vector of this coordinate. More... | |
__hostdev__ Coord | round () const |
Static Public Member Functions | |
static __hostdev__ Coord | max () |
static __hostdev__ Coord | min () |
static __hostdev__ size_t | memUsage () |
static __hostdev__ bool | lessThan (const Coord &a, const Coord &b) |
template<typename Vec3T > | |
static __hostdev__ Coord | Floor (const Vec3T &xyz) |
Return the largest integer coordinates that are not greater than xyz (node centered conversion). More... | |
Signed (i, j, k) 32-bit integer coordinate class, similar to openvdb::math::Coord.
using nanovdb::Coord::IndexType = uint32_t |
using nanovdb::Coord::ValueType = int32_t |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
Return a hash key derived from the existing coordinates.
The hash function is originally taken from the SIGGRAPH paper: "VDB: High-resolution sparse volumes with dynamic topology" and the prime numbers are modified based on the ACM Transactions on Graphics paper: "Real-time 3D reconstruction at scale using voxel hashing" (the second number had a typo!)
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |