OpenVDB 10.0.1
|
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 | Iterator |
Public Types | |
using | OnIterator = Iterator< true > |
using | OffIterator = Iterator< false > |
Public Member Functions | |
uint32_t | countOn () const |
Return the total number of set bits in this Mask. | |
uint32_t | countOn (uint32_t i) const |
Return the number of lower set bits in mask up to but excluding the i'th bit. | |
OnIterator | beginOn () const |
OffIterator | beginOff () const |
Mask () | |
Initialize all bits to zero. | |
Mask (bool on) | |
Mask (const Mask &other) | |
Copy constructor. | |
template<typename WordT > | |
const WordT & | getWord (int n) const |
Return a const reference to the nth word of the bit mask, for a word of arbitrary size. | |
template<typename WordT > | |
WordT & | getWord (int n) |
Return a reference to the nth word of the bit mask, for a word of arbitrary size. | |
template<typename MaskT > | |
Mask & | operator= (const MaskT &other) |
Assignment operator that works with openvdb::util::NodeMask. | |
bool | operator== (const Mask &other) const |
bool | operator!= (const Mask &other) const |
bool | isOn (uint32_t n) const |
Return true if the given bit is set. | |
bool | isOff (uint32_t n) const |
Return true if the given bit is NOT set. | |
bool | isOn () const |
Return true if all the bits are set in this Mask. | |
bool | isOff () const |
Return true if none of the bits are set in this Mask. | |
void | setOn (uint32_t n) |
Set the specified bit on. | |
void | setOff (uint32_t n) |
Set the specified bit off. | |
void | set (uint32_t n, bool On) |
Set the specified bit on or off. | |
void | setOn () |
Set all bits on. | |
void | setOff () |
Set all bits off. | |
void | set (bool on) |
Set all bits off. | |
void | toggle () |
brief Toggle the state of all bits in the mask | |
void | toggle (uint32_t n) |
Mask & | operator&= (const Mask &other) |
Bitwise intersection. | |
Mask & | operator|= (const Mask &other) |
Bitwise union. | |
Mask & | operator-= (const Mask &other) |
Bitwise difference. | |
Mask & | operator^= (const Mask &other) |
Bitwise XOR. | |
Static Public Member Functions | |
static size_t | memUsage () |
Return the memory footprint in bytes of this Mask. | |
static uint32_t | bitCount () |
Return the number of bits available in this Mask. | |
static uint32_t | wordCount () |
Return the number of machine words used by this Mask. | |
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 |
|
inline |
Return the number of bits available in this Mask.
Return the total number of set bits in this Mask.
Return the number of lower set bits in mask up to but excluding the i'th bit.
Return a reference to the nth word of the bit mask, for a word of arbitrary size.
Return a const reference to the nth word of the bit mask, for a word of arbitrary size.
Return true if none of the bits are set in this Mask.
Return true if the given bit is NOT set.
Return true if all the bits are set in this Mask.
Return true if the given bit is set.
Return the memory footprint in bytes of this Mask.
Bitwise intersection.
Bitwise difference.
Assignment operator that works with openvdb::util::NodeMask.