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