Field3D
|
#include <SparseField.h>
Public Types | |
typedef SparseField< Data_T > | class_type |
Public Member Functions | |
const_iterator (const class_type &field, const Box3i &window, const V3i ¤tPos, int blockOrder) | |
template<class Iter_T > | |
bool | operator!= (const Iter_T &rhs) const |
const Data_T & | operator* () const |
const const_iterator & | operator++ () |
const Data_T * | operator-> () const |
template<class Iter_T > | |
bool | operator== (const Iter_T &rhs) const |
~const_iterator () | |
Public Attributes | |
int | x |
Current x/y/z coord. | |
int | y |
int | z |
Private Types | |
typedef Sparse::SparseBlock< Data_T > | Block |
Private Member Functions | |
void | setupNextBlock (int i, int j, int k) |
Private Attributes | |
int | m_blockI |
Current block index. | |
int | m_blockId |
bool | m_blockIsActivated |
Used with delayed-load fields. Check if we've already activated the current blocks. | |
int | m_blockJ |
int | m_blockK |
int | m_blockOrder |
Block size. | |
int | m_blockStepsTicker |
Ticker for how many more steps to take before resetting the pointer. | |
const class_type * | m_field |
Reference to field we're traversing. | |
bool | m_isEmptyBlock |
Whether we're at an empty block and we don't increment m_p. | |
SparseFileManager * | m_manager |
Pointer to the singleton file manager. | |
const Data_T * | m_p |
Current pointed-to element. | |
Box3i | m_window |
Window to traverse. | |
Definition at line 885 of file SparseField.h.
typedef SparseField<Data_T> SparseField< Data_T >::const_iterator::class_type |
Definition at line 897 of file SparseField.h.
|
private |
Definition at line 994 of file SparseField.h.
|
inline |
Definition at line 898 of file SparseField.h.
|
inline |
Definition at line 909 of file SparseField.h.
|
inline |
Definition at line 916 of file SparseField.h.
References SparseField< Data_T >::m_blockOrder.
|
inline |
Definition at line 950 of file SparseField.h.
References SparseField< Data_T >::const_iterator::x.
|
inline |
Definition at line 955 of file SparseField.h.
|
inline |
Definition at line 959 of file SparseField.h.
References SparseField< Data_T >::m_blockOrder, and Sparse::SparseBlock< Data_T >::value().
|
inline |
Definition at line 971 of file SparseField.h.
References SparseFileManager::activateBlock(), SparseField< Data_T >::m_blockOrder, and Sparse::SparseBlock< Data_T >::value().
|
inlineprivate |
Definition at line 998 of file SparseField.h.
References Sparse::SparseBlock< Data_T >::emptyValue, Sparse::SparseBlock< Data_T >::isAllocated, SparseField< Data_T >::m_blockOrder, and Sparse::SparseBlock< Data_T >::value().
int SparseField< Data_T >::const_iterator::x |
Current x/y/z coord.
Definition at line 988 of file SparseField.h.
Referenced by SparseField< Data_T >::const_iterator::operator==().
int SparseField< Data_T >::const_iterator::y |
Definition at line 988 of file SparseField.h.
int SparseField< Data_T >::const_iterator::z |
Definition at line 988 of file SparseField.h.
|
mutableprivate |
Current pointed-to element.
Definition at line 1041 of file SparseField.h.
|
private |
Whether we're at an empty block and we don't increment m_p.
Definition at line 1043 of file SparseField.h.
|
mutableprivate |
Used with delayed-load fields. Check if we've already activated the current blocks.
Definition at line 1046 of file SparseField.h.
|
private |
Ticker for how many more steps to take before resetting the pointer.
Definition at line 1048 of file SparseField.h.
|
private |
Block size.
Definition at line 1050 of file SparseField.h.
|
private |
Current block index.
Definition at line 1052 of file SparseField.h.
|
private |
Definition at line 1052 of file SparseField.h.
|
private |
Definition at line 1052 of file SparseField.h.
|
private |
Definition at line 1052 of file SparseField.h.
|
private |
Window to traverse.
Definition at line 1054 of file SparseField.h.
|
private |
Reference to field we're traversing.
Definition at line 1056 of file SparseField.h.
|
private |
Pointer to the singleton file manager.
Definition at line 1058 of file SparseField.h.