OpenVDB: LeafBuffer< T, Log2Dim > Class Template Reference

OpenVDB 9.0.0

Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
LeafBuffer< T, Log2Dim > Class Template Reference

Array of fixed size 23Log2Dim that stores the voxel values of a LeafNode. More...

`#include <openvdb/tree/LeafBuffer.h>`

## Classes
struct | FileInfo

## Public Types
using | ValueType = T
using | StorageType = ValueType
using | NodeMaskType = util::NodeMask< Log2Dim >

## Public Member Functions
| LeafBuffer ()
| Default constructor. More...
| LeafBuffer (const ValueType &)
| Construct a buffer populated with the specified value. More...
| LeafBuffer (const LeafBuffer &)
| Copy constructor. More...
| LeafBuffer (PartialCreate, const ValueType &)
| Construct a buffer but don't allocate memory for the full array of values. More...
| ~LeafBuffer ()
| Destructor. More...
bool | isOutOfCore () const
| Return `true` if this buffer's values have not yet been read from disk. More...
bool | empty () const
| Return `true` if memory for this buffer has not yet been allocated. More...
bool | allocate ()
| Allocate memory for this buffer if it has not already been allocated. More...
void | fill (const ValueType &)
| Populate this buffer with a constant value. More...
const ValueType & | getValue (Index i) const
| Return a const reference to the i'th element of this buffer. More...
const ValueType & | operator[] (Index i) const
| Return a const reference to the i'th element of this buffer. More...
void | setValue (Index i, const ValueType &)
| Set the i'th value of this buffer to the specified value. More...
LeafBuffer & | operator= (const LeafBuffer &)
| Copy the other buffer's values into this buffer. More...
bool | operator== (const LeafBuffer &) const
| Return `true` if the contents of the other buffer exactly equal the contents of this buffer. More...
bool | operator!= (const LeafBuffer &other) const
| Return `true` if the contents of the other buffer are not exactly equal to the contents of this buffer. More...
void | swap (LeafBuffer &)
| Exchange this buffer's values with the other buffer's values. More...
Index | memUsage () const
| Return the memory footprint of this buffer in bytes. More...
const ValueType * | data () const
| Return a const pointer to the array of voxel values. More...
ValueType * | data ()
| Return a pointer to the array of voxel values. More...

## Static Public Member Functions
static Index | size ()
| Return the number of values contained in this buffer. More...

## Static Public Attributes
static const Index | SIZE = 1 << 3 * Log2Dim

## Friends
class | ::TestLeaf
template<typename , Index >
class | LeafNode

## Detailed Description

template<typename T, Index Log2Dim>
class openvdb::v9_0::tree::LeafBuffer< T, Log2Dim >

Array of fixed size 23Log2Dim that stores the voxel values of a LeafNode.

## Member Typedef Documentation

## ◆ NodeMaskType

using NodeMaskType = util::NodeMask<Log2Dim>

## ◆ StorageType

using StorageType = ValueType

## ◆ ValueType

using ValueType = T

## Constructor & Destructor Documentation

## ◆ LeafBuffer() [1/4]

LeafBuffer | ( |  | ) |
| inline

Default constructor.

## ◆ LeafBuffer() [2/4]

LeafBuffer | ( | const ValueType & | val | ) |
| inlineexplicit

Construct a buffer populated with the specified value.

## ◆ LeafBuffer() [3/4]

LeafBuffer | ( | const LeafBuffer< T, Log2Dim > & | other | ) |
| inline

Copy constructor.

## ◆ LeafBuffer() [4/4]

LeafBuffer | ( | PartialCreate | ,
|  | const ValueType & |
| ) |  |
| inline

Construct a buffer but don't allocate memory for the full array of values.

## ◆ ~LeafBuffer()

~LeafBuffer
| inline

Destructor.

## Member Function Documentation

## ◆ allocate()

bool allocate | ( |  | ) |
| inline

Allocate memory for this buffer if it has not already been allocated.

## ◆ data() [1/2]

LeafBuffer< T, Log2Dim >::ValueType * data
| inline

Return a pointer to the array of voxel values.

This method guarantees that the buffer is allocated and loaded.

Warning
  This method should only be used by experts seeking low-level optimizations.

## ◆ data() [2/2]

const LeafBuffer< T, Log2Dim >::ValueType * data
| inline

Return a const pointer to the array of voxel values.

This method guarantees that the buffer is allocated and loaded.

Warning
  This method should only be used by experts seeking low-level optimizations.

## ◆ empty()

bool empty | ( |  | ) | const
| inline

Return `true` if memory for this buffer has not yet been allocated.

## ◆ fill()

void fill | ( | const ValueType & | val | ) |
| inline

Populate this buffer with a constant value.

## ◆ getValue()

const ValueType & getValue | ( | Index | i | ) | const
| inline

Return a const reference to the i'th element of this buffer.

## ◆ isOutOfCore()

bool isOutOfCore | ( |  | ) | const
| inline

Return `true` if this buffer's values have not yet been read from disk.

## ◆ memUsage()

Index memUsage
| inline

Return the memory footprint of this buffer in bytes.

## ◆ operator!=()

bool operator!= | ( | const LeafBuffer< T, Log2Dim > & | other | ) | const
| inline

Return `true` if the contents of the other buffer are not exactly equal to the contents of this buffer.

## ◆ operator=()

LeafBuffer< T, Log2Dim > & operator= | ( | const LeafBuffer< T, Log2Dim > & | other | ) |
| inline

Copy the other buffer's values into this buffer.

## ◆ operator==()

bool operator== | ( | const LeafBuffer< T, Log2Dim > & | other | ) | const
| inline

Return `true` if the contents of the other buffer exactly equal the contents of this buffer.

## ◆ operator[]()

const ValueType & operator[] | ( | Index | i | ) | const
| inline

Return a const reference to the i'th element of this buffer.

## ◆ setValue()

void setValue | ( | Index | i,
|  | const ValueType & | val
| ) |  |
| inline

Set the i'th value of this buffer to the specified value.

## ◆ size()

static Index size | ( |  | ) |
| inlinestatic

Return the number of values contained in this buffer.

## ◆ swap()

void swap | ( | LeafBuffer< T, Log2Dim > & | other | ) |
| inline

Exchange this buffer's values with the other buffer's values.

## Friends And Related Function Documentation

## ◆ ::TestLeaf

friend class ::TestLeaf
| friend

## ◆ LeafNode

friend class LeafNode
| friend

## Member Data Documentation

## ◆ mData

ValueType* mData

## ◆ mFileInfo

FileInfo* mFileInfo

## ◆ SIZE

const Index SIZE = 1 << 3 * Log2Dim
| static