OpenVDB
12.0.0
|
Bit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression. More...
#include <nanovdb/NanoVDB.h>
Classes | |
class | DenseIterator |
class | Iterator |
Public Types | |
using | OnIterator = Iterator< true > |
using | OffIterator = Iterator< false > |
Public Member Functions | |
__hostdev__ uint32_t | countOn () const |
Return the total number of set bits in this Mask. More... | |
__hostdev__ uint32_t | countOn (uint32_t i) const |
Return the number of lower set bits in mask up to but excluding the i'th bit. More... | |
__hostdev__ OnIterator | beginOn () const |
__hostdev__ OffIterator | beginOff () const |
__hostdev__ DenseIterator | beginAll () const |
__hostdev__ | Mask () |
Initialize all bits to zero. More... | |
__hostdev__ | Mask (bool on) |
__hostdev__ | Mask (const Mask &other) |
Copy constructor. More... | |
__hostdev__ uint64_t * | words () |
Return a pointer to the list of words of the bit mask. More... | |
__hostdev__ const uint64_t * | words () const |
template<typename MaskT = Mask> | |
__hostdev__ util::enable_if<!util::is_same< MaskT, Mask >::value, Mask & >::type | operator= (const MaskT &other) |
Assignment operator that works with openvdb::util::NodeMask. More... | |
Mask & | operator= (const Mask &)=default |
__hostdev__ bool | operator== (const Mask &other) const |
__hostdev__ bool | operator!= (const Mask &other) const |
__hostdev__ bool | isOn (uint32_t n) const |
Return true if the given bit is set. More... | |
__hostdev__ bool | isOff (uint32_t n) const |
Return true if the given bit is NOT set. More... | |
__hostdev__ bool | isOn () const |
Return true if all the bits are set in this Mask. More... | |
__hostdev__ bool | isOff () const |
Return true if none of the bits are set in this Mask. More... | |
__hostdev__ void | setOn (uint32_t n) |
Set the specified bit on. More... | |
__hostdev__ void | setOff (uint32_t n) |
Set the specified bit off. More... | |
__hostdev__ void | set (uint32_t n, bool on) |
Set the specified bit on or off. More... | |
__hostdev__ void | setOn () |
Set all bits on. More... | |
__hostdev__ void | setOff () |
Set all bits off. More... | |
__hostdev__ void | set (bool on) |
Set all bits off. More... | |
__hostdev__ void | toggle () |
brief Toggle the state of all bits in the mask More... | |
__hostdev__ void | toggle (uint32_t n) |
__hostdev__ Mask & | operator&= (const Mask &other) |
Bitwise intersection. More... | |
__hostdev__ Mask & | operator|= (const Mask &other) |
Bitwise union. More... | |
__hostdev__ Mask & | operator-= (const Mask &other) |
Bitwise difference. More... | |
__hostdev__ Mask & | operator^= (const Mask &other) |
Bitwise XOR. More... | |
template<bool ON> | |
NANOVDB_HOSTDEV_DISABLE_WARNING __hostdev__ uint32_t | findFirst () const |
template<bool ON> | |
NANOVDB_HOSTDEV_DISABLE_WARNING __hostdev__ uint32_t | findNext (uint32_t start) const |
template<bool ON> | |
NANOVDB_HOSTDEV_DISABLE_WARNING __hostdev__ uint32_t | findPrev (uint32_t start) const |
Static Public Member Functions | |
static __hostdev__ size_t | memUsage () |
Return the memory footprint in bytes of this Mask. More... | |
static __hostdev__ uint32_t | bitCount () |
Return the number of bits available in this Mask. More... | |
static __hostdev__ uint32_t | wordCount () |
Return the number of machine words used by this Mask. More... | |
Static Public Attributes | |
static constexpr uint32_t | SIZE = 1U << (3 * LOG2DIM) |
static constexpr uint32_t | WORD_COUNT = SIZE >> 6 |
Bit-mask to encode active states and facilitate sequential iterators and a fast codec for I/O compression.
using OffIterator = Iterator<false> |
using OnIterator = Iterator<true> |
|
inline |
Initialize all bits to zero.
|
inline |
|
inline |
Copy constructor.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Return the number of bits available in this Mask.
|
inline |
Return the total number of set bits in this Mask.
|
inline |
Return the number of lower set bits in mask up to but excluding the i'th bit.
|
inline |
|
inline |
|
inline |
|
inline |
Return true if the given bit is NOT set.
|
inline |
Return true if none of the bits are set in this Mask.
|
inline |
Return true if the given bit is set.
|
inline |
Return true if all the bits are set in this Mask.
|
inlinestatic |
Return the memory footprint in bytes of this Mask.
|
inline |
|
inline |
Bitwise intersection.
|
inline |
Bitwise difference.
|
inline |
Assignment operator that works with openvdb::util::NodeMask.
|
inline |
|
inline |
Bitwise XOR.
|
inline |
Bitwise union.
|
inline |
Set the specified bit on or off.
|
inline |
Set all bits off.
|
inline |
Set the specified bit off.
|
inline |
Set all bits off.
|
inline |
Set the specified bit on.
|
inline |
Set all bits on.
|
inline |
brief Toggle the state of all bits in the mask
|
inline |
|
inlinestatic |
Return the number of machine words used by this Mask.
|
inline |
Return a pointer to the list of words of the bit mask.
|
inline |
|
static |
|
static |