Field3D
|
#include <SparseField.h>
Public Types | |
typedef SparseField< Data_T > | class_type |
Convenience typedef. | |
Public Member Functions | |
block_iterator (const class_type &field, const Box3i &window, const V3i ¤tPos) | |
Constructor. | |
const Box3i & | blockBoundingBox () |
Returns a reference to the bounding box representing the current block. | |
bool | operator!= (const block_iterator &rhs) const |
Inequality check. | |
const block_iterator & | operator++ () |
Increment iterator. | |
bool | operator== (const block_iterator &rhs) const |
Equality check. | |
Public Attributes | |
int | x |
Current block index. | |
int | y |
int | z |
Private Member Functions | |
void | recomputeBlockBoundingBox () |
Private Attributes | |
Box3i | m_currentBlockWindow |
Bounding box in voxel coordinates for the current block. | |
const class_type & | m_field |
Pointer to field we're traversing. | |
Box3i | m_window |
Bounding box for block indices. |
Definition at line 940 of file SparseField.h.
typedef SparseField<Data_T> SparseField< Data_T >::block_iterator::class_type |
Convenience typedef.
Definition at line 944 of file SparseField.h.
SparseField< Data_T >::block_iterator::block_iterator | ( | const class_type & | field, |
const Box3i & | window, | ||
const V3i & | currentPos | ||
) | [inline] |
Constructor.
Definition at line 946 of file SparseField.h.
const block_iterator& SparseField< Data_T >::block_iterator::operator++ | ( | ) | [inline] |
Increment iterator.
Definition at line 954 of file SparseField.h.
References SparseField< Data_T >::block_iterator::x.
bool SparseField< Data_T >::block_iterator::operator== | ( | const block_iterator & | rhs | ) | const [inline] |
Equality check.
Definition at line 972 of file SparseField.h.
References SparseField< Data_T >::block_iterator::x, SparseField< Data_T >::block_iterator::y, and SparseField< Data_T >::block_iterator::z.
bool SparseField< Data_T >::block_iterator::operator!= | ( | const block_iterator & | rhs | ) | const [inline] |
Inequality check.
Definition at line 977 of file SparseField.h.
References SparseField< Data_T >::block_iterator::x, SparseField< Data_T >::block_iterator::y, and SparseField< Data_T >::block_iterator::z.
const Box3i& SparseField< Data_T >::block_iterator::blockBoundingBox | ( | ) | [inline] |
Returns a reference to the bounding box representing the current block.
Definition at line 982 of file SparseField.h.
{ return m_currentBlockWindow; }
void SparseField< Data_T >::block_iterator::recomputeBlockBoundingBox | ( | ) | [inline, private] |
Definition at line 989 of file SparseField.h.
References SparseField< Data_T >::blockSize(), and FIELD3D_CLIP.
{ Box3i box; int blockSize = m_field.blockSize(); box.min = V3i(x * blockSize, y * blockSize, z * blockSize); box.max = box.min + V3i(blockSize - 1, blockSize - 1, blockSize - 1); // Clamp the box box.min = FIELD3D_CLIP(box.min, m_field.dataWindow()); box.max = FIELD3D_CLIP(box.max, m_field.dataWindow()); // Set the member variable m_currentBlockWindow = box; }
int SparseField< Data_T >::block_iterator::x |
Current block index.
Definition at line 987 of file SparseField.h.
Referenced by SparseField< Data_T >::block_iterator::operator!=(), SparseField< Data_T >::block_iterator::operator++(), and SparseField< Data_T >::block_iterator::operator==().
int SparseField< Data_T >::block_iterator::y |
Definition at line 987 of file SparseField.h.
Referenced by SparseField< Data_T >::block_iterator::operator!=(), and SparseField< Data_T >::block_iterator::operator==().
int SparseField< Data_T >::block_iterator::z |
Definition at line 987 of file SparseField.h.
Referenced by SparseField< Data_T >::block_iterator::operator!=(), and SparseField< Data_T >::block_iterator::operator==().
Box3i SparseField< Data_T >::block_iterator::m_window [private] |
Bounding box for block indices.
Definition at line 1002 of file SparseField.h.
const class_type& SparseField< Data_T >::block_iterator::m_field [private] |
Pointer to field we're traversing.
Definition at line 1004 of file SparseField.h.
Box3i SparseField< Data_T >::block_iterator::m_currentBlockWindow [private] |
Bounding box in voxel coordinates for the current block.
Definition at line 1006 of file SparseField.h.