HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 > Class Template Reference

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 NodeMaskforeach (const NodeMask &other, const WordOp &op)
 Apply a functor to the words of the this and the other mask. More...
 
template<typename WordOp >
const NodeMaskforeach (const NodeMask &other1, const NodeMask &other2, const WordOp &op)
 
template<typename WordOp >
const NodeMaskforeach (const NodeMask &other1, const NodeMask &other2, const NodeMask &other3, const WordOp &op)
 
const NodeMaskoperator&= (const NodeMask &other)
 Bitwise intersection. More...
 
const NodeMaskoperator|= (const NodeMask &other)
 Bitwise union. More...
 
const NodeMaskoperator-= (const NodeMask &other)
 Bitwise difference. More...
 
const NodeMaskoperator^= (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
 

Detailed Description

template<>
class openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >

Template specialization of NodeMask for Log2Dim=1, i.e. 2^3 nodes.

Definition at line 623 of file NodeMasks.h.

Member Typedef Documentation

Definition at line 631 of file NodeMasks.h.

Constructor & Destructor Documentation

Default constructor sets all bits off.

Definition at line 639 of file NodeMasks.h.

All bits are set to the specified state.

Definition at line 641 of file NodeMasks.h.

Copy constructor.

Definition at line 643 of file NodeMasks.h.

Destructor.

Definition at line 645 of file NodeMasks.h.

Member Function Documentation

Definition at line 657 of file NodeMasks.h.

Definition at line 655 of file NodeMasks.h.

Definition at line 653 of file NodeMasks.h.

Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::countOff ( ) const
inline

Return the total number of on bits.

Definition at line 726 of file NodeMasks.h.

Return the total number of on bits.

Definition at line 724 of file NodeMasks.h.

Definition at line 658 of file NodeMasks.h.

Definition at line 656 of file NodeMasks.h.

Definition at line 654 of file NodeMasks.h.

Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::findFirstOff ( ) const
inline

Definition at line 781 of file NodeMasks.h.

Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::findFirstOn ( ) const
inline

Definition at line 780 of file NodeMasks.h.

Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::findNextOff ( Index32  start) const
inline

Definition at line 833 of file NodeMasks.h.

Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::findNextOn ( Index32  start) const
inline

Definition at line 826 of file NodeMasks.h.

template<typename WordOp >
const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::foreach ( const NodeMask< 1 > &  other,
const WordOp &  op 
)
inline

Apply a functor to the words of the this and the other mask.

An example that implements the "operator&=" method:

struct Op { inline void operator()(Word &w1, const Word& w2) const { w1 &= w2; } };

Definition at line 675 of file NodeMasks.h.

template<typename WordOp >
const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::foreach ( const NodeMask< 1 > &  other1,
const NodeMask< 1 > &  other2,
const WordOp &  op 
)
inline

Definition at line 681 of file NodeMasks.h.

template<typename WordOp >
const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::foreach ( const NodeMask< 1 > &  other1,
const NodeMask< 1 > &  other2,
const NodeMask< 1 > &  other3,
const WordOp &  op 
)
inline

Definition at line 687 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::isConstant ( bool &  isOn) const
inline

Return true if bits are either all off OR all on.

Parameters
isOnTakes on the values of all bits if the method returns true - else it is undefined.

Definition at line 775 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::isOff ( Index32  n) const
inline

Return true if the nth bit is off.

Definition at line 767 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::isOff ( ) const
inline

Return true if all the bits are off.

Definition at line 771 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::isOn ( Index32  n) const
inline

Return true if the nth bit is on.

Definition at line 761 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::isOn ( ) const
inline

Return true if all the bits are on.

Definition at line 769 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::load ( std::istream &  is)
inline

Definition at line 807 of file NodeMasks.h.

static Index32 openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::memUsage ( )
inlinestatic

Return the byte size of this NodeMask.

Definition at line 722 of file NodeMasks.h.

NodeMask openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator! ( void  ) const
inline

Definition at line 717 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator!= ( const NodeMask< 1 > &  other) const
inline

Definition at line 662 of file NodeMasks.h.

NodeMask openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator& ( const NodeMask< 1 > &  other) const
inline

Definition at line 718 of file NodeMasks.h.

const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator&= ( const NodeMask< 1 > &  other)
inline

Bitwise intersection.

Definition at line 694 of file NodeMasks.h.

const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator-= ( const NodeMask< 1 > &  other)
inline

Bitwise difference.

Definition at line 706 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator= ( const NodeMask< 1 > &  other)
inline

Assignment operator.

Definition at line 647 of file NodeMasks.h.

bool openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator== ( const NodeMask< 1 > &  other) const
inline

Definition at line 660 of file NodeMasks.h.

NodeMask openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator^ ( const NodeMask< 1 > &  other) const
inline

Definition at line 720 of file NodeMasks.h.

const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator^= ( const NodeMask< 1 > &  other)
inline

Bitwise XOR.

Definition at line 712 of file NodeMasks.h.

NodeMask openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator| ( const NodeMask< 1 > &  other) const
inline

Definition at line 719 of file NodeMasks.h.

const NodeMask& openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::operator|= ( const NodeMask< 1 > &  other)
inline

Bitwise union.

Definition at line 700 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::printAll ( std::ostream &  os = std::cout) const
inline

Definition at line 820 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::printBits ( std::ostream &  os = std::cout) const
inline

Definition at line 814 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::printInfo ( std::ostream &  os = std::cout) const
inline

simple print method for debugging

Definition at line 810 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::save ( std::ostream &  os) const
inline

Definition at line 806 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::seek ( std::istream &  is) const
inline

Definition at line 808 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::set ( Index32  n,
bool  On 
)
inline

Set the nth bit to the specified state.

Definition at line 738 of file NodeMasks.h.

void openvdb::OPENVDB_VERSION_NAME::util::NodeMask< 1 >::set ( bool  on)
inline

Set all bits to the specified state.

Definition at line 740 of file NodeMasks.h.

Set the first bit off.

Definition at line 757 of file NodeMasks.h.

Set the first bit on.

Definition at line 753 of file NodeMasks.h.

Set the last bit off.

Definition at line 759 of file NodeMasks.h.

Set the last bit on.

Definition at line 755 of file NodeMasks.h.

Set the nth bit off.

Definition at line 733 of file NodeMasks.h.

Set all bits off.

Definition at line 744 of file NodeMasks.h.

Set the nth bit on.

Definition at line 728 of file NodeMasks.h.

Set all bits on.

Definition at line 742 of file NodeMasks.h.

Toggle the state of the nth bit.

Definition at line 746 of file NodeMasks.h.

Toggle the state of all bits in the mask.

Definition at line 751 of file NodeMasks.h.

Member Data Documentation

Definition at line 628 of file NodeMasks.h.

Definition at line 627 of file NodeMasks.h.

Definition at line 629 of file NodeMasks.h.

Definition at line 630 of file NodeMasks.h.


The documentation for this class was generated from the following file: