|
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.