HDK
|
Template specialization of NodeMask for Log2Dim=1, i.e. 2^3 nodes. More...
#include <NodeMasks.h>
Public Types | |
using | Word = Byte |
using | OnIterator = OnMaskIterator< NodeMask > |
using | OffIterator = OffMaskIterator< NodeMask > |
using | DenseIterator = DenseMaskIterator< NodeMask > |
Public Member Functions | |
NodeMask () | |
Default constructor sets all bits off. More... | |
NodeMask (bool on) | |
All bits are set to the specified state. More... | |
NodeMask (const NodeMask &other) | |
Copy constructor. More... | |
~NodeMask () | |
Destructor. More... | |
void | operator= (const NodeMask &other) |
Assignment operator. More... | |
OnIterator | beginOn () const |
OnIterator | endOn () const |
OffIterator | beginOff () const |
OffIterator | endOff () const |
DenseIterator | beginDense () const |
DenseIterator | endDense () const |
bool | operator== (const NodeMask &other) const |
bool | operator!= (const NodeMask &other) const |
template<typename WordOp > | |
const NodeMask & | foreach (const NodeMask &other, const WordOp &op) |
Apply a functor to the words of the this and the other mask. More... | |
template<typename WordOp > | |
const NodeMask & | foreach (const NodeMask &other1, const NodeMask &other2, const WordOp &op) |
template<typename WordOp > | |
const NodeMask & | foreach (const NodeMask &other1, const NodeMask &other2, const NodeMask &other3, const WordOp &op) |
const NodeMask & | operator&= (const NodeMask &other) |
Bitwise intersection. More... | |
const NodeMask & | operator|= (const NodeMask &other) |
Bitwise union. More... | |
const NodeMask & | operator-= (const NodeMask &other) |
Bitwise difference. More... | |
const NodeMask & | operator^= (const NodeMask &other) |
Bitwise XOR. More... | |
NodeMask | operator! () const |
NodeMask | operator& (const NodeMask &other) const |
NodeMask | operator| (const NodeMask &other) const |
NodeMask | operator^ (const NodeMask &other) const |
Index32 | countOn () const |
Return the total number of on bits. More... | |
Index32 | countOff () const |
Return the total number of on bits. More... | |
void | setOn (Index32 n) |
Set the nth bit on. More... | |
void | setOff (Index32 n) |
Set the nth bit off. More... | |
void | set (Index32 n, bool On) |
Set the nth bit to the specified state. More... | |
void | set (bool on) |
Set all bits to the specified state. More... | |
void | setOn () |
Set all bits on. More... | |
void | setOff () |
Set all bits off. More... | |
void | toggle (Index32 n) |
Toggle the state of the nth bit. More... | |
void | toggle () |
Toggle the state of all bits in the mask. More... | |
void | setFirstOn () |
Set the first bit on. More... | |
void | setLastOn () |
Set the last bit on. More... | |
void | setFirstOff () |
Set the first bit off. More... | |
void | setLastOff () |
Set the last bit off. More... | |
bool | isOn (Index32 n) const |
Return true if the nth bit is on. More... | |
bool | isOff (Index32 n) const |
Return true if the nth bit is off. More... | |
bool | isOn () const |
Return true if all the bits are on. More... | |
bool | isOff () const |
Return true if all the bits are off. More... | |
bool | isConstant (bool &isOn) const |
Index32 | findFirstOn () const |
Index32 | findFirstOff () const |
void | save (std::ostream &os) const |
void | load (std::istream &is) |
void | seek (std::istream &is) const |
void | printInfo (std::ostream &os=std::cout) const |
simple print method for debugging More... | |
void | printBits (std::ostream &os=std::cout) const |
void | printAll (std::ostream &os=std::cout) const |
Index32 | findNextOn (Index32 start) const |
Index32 | findNextOff (Index32 start) const |
Static Public Member Functions | |
static Index32 | memUsage () |
Return the byte size of this NodeMask. More... | |
Static Public Attributes | |
static const Index32 | LOG2DIM = 1 |
static const Index32 | DIM = 2 |
static const Index32 | SIZE = 8 |
static const Index32 | WORD_COUNT = 1 |
Template specialization of NodeMask for Log2Dim=1, i.e. 2^3 nodes.
Definition at line 623 of file NodeMasks.h.
using openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::DenseIterator = DenseMaskIterator<NodeMask> |
Definition at line 651 of file NodeMasks.h.
Definition at line 650 of file NodeMasks.h.
Definition at line 649 of file NodeMasks.h.
using openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::Word = Byte |
Definition at line 631 of file NodeMasks.h.
|
inline |
Default constructor sets all bits off.
Definition at line 639 of file NodeMasks.h.
|
inline |
All bits are set to the specified state.
Definition at line 641 of file NodeMasks.h.
|
inline |
Copy constructor.
Definition at line 643 of file NodeMasks.h.
|
inline |
Destructor.
Definition at line 645 of file NodeMasks.h.
|
inline |
Definition at line 657 of file NodeMasks.h.
|
inline |
Definition at line 655 of file NodeMasks.h.
|
inline |
Definition at line 653 of file NodeMasks.h.
|
inline |
Return the total number of on bits.
Definition at line 726 of file NodeMasks.h.
|
inline |
Return the total number of on bits.
Definition at line 724 of file NodeMasks.h.
|
inline |
Definition at line 658 of file NodeMasks.h.
|
inline |
Definition at line 656 of file NodeMasks.h.
|
inline |
Definition at line 654 of file NodeMasks.h.
|
inline |
Definition at line 781 of file NodeMasks.h.
|
inline |
Definition at line 780 of file NodeMasks.h.
|
inline |
Definition at line 833 of file NodeMasks.h.
|
inline |
Definition at line 826 of file NodeMasks.h.
|
inline |
Apply a functor to the words of the this and the other mask.
An example that implements the "operator&=" method:
Definition at line 675 of file NodeMasks.h.
|
inline |
Definition at line 681 of file NodeMasks.h.
|
inline |
Definition at line 687 of file NodeMasks.h.
|
inline |
Return true
if bits are either all off OR all on.
isOn | Takes on the values of all bits if the method returns true - else it is undefined. |
Definition at line 775 of file NodeMasks.h.
|
inline |
Return true if the nth bit is off.
Definition at line 767 of file NodeMasks.h.
|
inline |
Return true if all the bits are off.
Definition at line 771 of file NodeMasks.h.
|
inline |
Return true if the nth bit is on.
Definition at line 761 of file NodeMasks.h.
|
inline |
Return true if all the bits are on.
Definition at line 769 of file NodeMasks.h.
|
inline |
Definition at line 807 of file NodeMasks.h.
|
inlinestatic |
Return the byte size of this NodeMask.
Definition at line 722 of file NodeMasks.h.
|
inline |
Definition at line 717 of file NodeMasks.h.
|
inline |
Definition at line 662 of file NodeMasks.h.
|
inline |
Definition at line 718 of file NodeMasks.h.
|
inline |
Bitwise intersection.
Definition at line 694 of file NodeMasks.h.
|
inline |
Bitwise difference.
Definition at line 706 of file NodeMasks.h.
|
inline |
Assignment operator.
Definition at line 647 of file NodeMasks.h.
|
inline |
Definition at line 660 of file NodeMasks.h.
|
inline |
Definition at line 720 of file NodeMasks.h.
|
inline |
Bitwise XOR.
Definition at line 712 of file NodeMasks.h.
|
inline |
Definition at line 719 of file NodeMasks.h.
|
inline |
Bitwise union.
Definition at line 700 of file NodeMasks.h.
|
inline |
Definition at line 820 of file NodeMasks.h.
|
inline |
Definition at line 814 of file NodeMasks.h.
|
inline |
simple print method for debugging
Definition at line 810 of file NodeMasks.h.
|
inline |
Definition at line 806 of file NodeMasks.h.
|
inline |
Definition at line 808 of file NodeMasks.h.
|
inline |
Set the nth bit to the specified state.
Definition at line 738 of file NodeMasks.h.
|
inline |
Set all bits to the specified state.
Definition at line 740 of file NodeMasks.h.
|
inline |
Set the first bit off.
Definition at line 757 of file NodeMasks.h.
|
inline |
Set the first bit on.
Definition at line 753 of file NodeMasks.h.
|
inline |
Set the last bit off.
Definition at line 759 of file NodeMasks.h.
|
inline |
Set the last bit on.
Definition at line 755 of file NodeMasks.h.
|
inline |
Set the nth bit off.
Definition at line 733 of file NodeMasks.h.
|
inline |
Set all bits off.
Definition at line 744 of file NodeMasks.h.
|
inline |
Set the nth bit on.
Definition at line 728 of file NodeMasks.h.
|
inline |
Set all bits on.
Definition at line 742 of file NodeMasks.h.
|
inline |
Toggle the state of the nth bit.
Definition at line 746 of file NodeMasks.h.
|
inline |
Toggle the state of all bits in the mask.
Definition at line 751 of file NodeMasks.h.
|
static |
Definition at line 628 of file NodeMasks.h.
|
static |
Definition at line 627 of file NodeMasks.h.
|
static |
Definition at line 629 of file NodeMasks.h.
|
static |
Definition at line 630 of file NodeMasks.h.