Field3D
|
#include <Field.h>
Classes | |
class | iterator |
Public Types | |
typedef WritableField< Data_T > | class_type |
typedef boost::intrusive_ptr < WritableField > | Ptr |
Public Member Functions | |
iterator | begin () |
Iterator to first element. | |
iterator | begin (const Box3i &subset) |
Iterator to first element of specific subset. | |
virtual void | clear (const Data_T &value) |
Clears all the voxels in the storage. Should be re-implemented by subclasses that can provide a more efficient version. | |
iterator | end (const Box3i &subset) |
Iterator pointing one element past the last valid one (for a subset) | |
iterator | end () |
Iterator pointing one element past the last valid one. | |
virtual Data_T & | lvalue (int i, int j, int k)=0 |
Write access to a voxel. The coordinates are global coordinates. | |
Static Public Member Functions | |
static const char * | classType () |
static const char * | staticClassName () |
Public Attributes | |
DEFINE_FIELD_RTTI_ABSTRACT_CLASS | |
Private Types | |
typedef Field< Data_T > | base |
Convenience typedef for referring to base class. | |
Static Private Attributes | |
static TemplatedFieldType < WritableField< Data_T > > | ms_classType |
This class brings together both read- and write-access to voxels. The buffer can not be resized. Resizing is added by ResizableField.
typedef boost::intrusive_ptr<WritableField> WritableField< Data_T >::Ptr |
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, EmptyField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
typedef WritableField<Data_T> WritableField< Data_T >::class_type |
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, EmptyField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
typedef Field<Data_T> WritableField< Data_T >::base [private] |
Convenience typedef for referring to base class.
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, EmptyField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
static const char* WritableField< Data_T >::staticClassName | ( | ) | [inline, static] |
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
Definition at line 610 of file Field.h.
{ return "WritableField"; }
static const char* WritableField< Data_T >::classType | ( | ) | [inline, static] |
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, EmptyField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
Definition at line 615 of file Field.h.
References FieldBase::name.
{ return WritableField<Data_T>::ms_classType.name(); }
WritableField< Data_T >::iterator WritableField< Data_T >::begin | ( | ) | [inline] |
Iterator to first element.
Reimplemented in DenseField< Data_T >, and SparseField< Data_T >.
Definition at line 675 of file Field.h.
References FieldRes::dataResolution().
Referenced by WritableField< Data_T >::clear().
{ if (FieldRes::dataResolution() == V3i(0)) return end(); return iterator(*this, Field<Data_T>::m_dataWindow, Field<Data_T>::m_dataWindow.min); }
WritableField< Data_T >::iterator WritableField< Data_T >::begin | ( | const Box3i & | subset | ) | [inline] |
Iterator to first element of specific subset.
Reimplemented in DenseField< Data_T >, and SparseField< Data_T >.
Definition at line 687 of file Field.h.
{ if (subset.isEmpty()) return end(subset); return iterator(*this, subset, subset.min); }
WritableField< Data_T >::iterator WritableField< Data_T >::end | ( | ) | [inline] |
Iterator pointing one element past the last valid one.
Reimplemented in DenseField< Data_T >, and SparseField< Data_T >.
Definition at line 698 of file Field.h.
Referenced by WritableField< Data_T >::clear().
{ return iterator(*this, Field<Data_T>::m_dataWindow, V3i(Field<Data_T>::m_dataWindow.min.x, Field<Data_T>::m_dataWindow.min.y, Field<Data_T>::m_dataWindow.max.z + 1)); }
WritableField< Data_T >::iterator WritableField< Data_T >::end | ( | const Box3i & | subset | ) | [inline] |
Iterator pointing one element past the last valid one (for a subset)
Reimplemented in DenseField< Data_T >, and SparseField< Data_T >.
Definition at line 709 of file Field.h.
{ return iterator(*this, subset, V3i(subset.min.x, subset.min.y, subset.max.z + 1)); }
virtual Data_T& WritableField< Data_T >::lvalue | ( | int | i, |
int | j, | ||
int | k | ||
) | [pure virtual] |
Write access to a voxel. The coordinates are global coordinates.
Implemented in DenseField< Data_T >, EmptyField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
virtual void WritableField< Data_T >::clear | ( | const Data_T & | value | ) | [inline, virtual] |
Clears all the voxels in the storage. Should be re-implemented by subclasses that can provide a more efficient version.
Reimplemented in DenseField< Data_T >, EmptyField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.
Definition at line 652 of file Field.h.
References WritableField< Data_T >::begin(), and WritableField< Data_T >::end().
WritableField< Data_T >::DEFINE_FIELD_RTTI_ABSTRACT_CLASS |
Reimplemented from Field< Data_T >.
Reimplemented in ResizableField< Data_T >.
TemplatedFieldType<WritableField<Data_T> > WritableField< Data_T >::ms_classType [static, private] |
Reimplemented from Field< Data_T >.
Reimplemented in DenseField< Data_T >, ResizableField< Data_T >, MACField< Data_T >, and SparseField< Data_T >.