Field3D
|
This subclass of Field does not store any data. More...
#include <EmptyField.h>
Public Types | |
typedef EmptyField< Data_T > | class_type |
typedef boost::intrusive_ptr < EmptyField > | Ptr |
typedef std::vector< Ptr > | Vec |
Public Member Functions | |
virtual void | clear (const Data_T &value) |
Clears all the voxels in the storage. | |
const Data_T & | constantvalue () const |
Returns the constant value. | |
void | setConstantvalue (const Data_T &val) |
Sets the constant value. | |
Constructors & destructor | |
EmptyField () | |
Constructs an empty buffer. | |
From Field | |
virtual Data_T | value (int i, int j, int k) const |
virtual long long int | memSize () const |
From WritableField | |
virtual Data_T & | lvalue (int i, int j, int k) |
From FieldBase | |
virtual std::string | className () const |
virtual FieldBase::Ptr | clone () const |
Static Public Member Functions | |
static DEFINE_FIELD_RTTI_CONCRETE_CLASS const char * | classType () |
RTTI replacement. | |
Protected Attributes | |
Data_T | m_constantData |
Field constant value. | |
Data_T | m_default |
Field default value. | |
Data_T | m_ignoredData |
Dummy variable for assignment. | |
Private Types | |
typedef ResizableField< Data_T > | base |
This subclass of Field does not store any data.
Its primary purpose is to be used as a proxy field. It can carry the same resolution, metadata and mapping as a regular field.
Usage is similar to a DenseField, except that it does not contain any data. It stores a default value that may be set and queried, so it can be treated as a constant field.
typedef boost::intrusive_ptr<EmptyField> EmptyField::Ptr |
Reimplemented from ResizableField< Data_T >.
Definition at line 88 of file EmptyField.h.
typedef std::vector<Ptr> EmptyField::Vec |
Definition at line 89 of file EmptyField.h.
typedef EmptyField<Data_T> EmptyField::class_type |
Reimplemented from ResizableField< Data_T >.
Definition at line 121 of file EmptyField.h.
typedef ResizableField<Data_T> EmptyField::base [private] |
Reimplemented from ResizableField< Data_T >.
Definition at line 165 of file EmptyField.h.
EmptyField::EmptyField | ( | ) |
Constructs an empty buffer.
Definition at line 174 of file EmptyField.h.
Referenced by clone().
: base() { // Empty }
void EmptyField::clear | ( | const Data_T & | value | ) | [virtual] |
Clears all the voxels in the storage.
Definition at line 183 of file EmptyField.h.
{ m_constantData = m_default = value; }
const Data_T & EmptyField::constantvalue | ( | ) | const [inline] |
void EmptyField::setConstantvalue | ( | const Data_T & | val | ) | [inline] |
Data_T EmptyField::value | ( | int | i, |
int | j, | ||
int | k | ||
) | const [virtual] |
Definition at line 191 of file EmptyField.h.
References UNUSED.
{ assert (i >= base::m_dataWindow.min.x); assert (i <= base::m_dataWindow.max.x); assert (j >= base::m_dataWindow.min.y); assert (j <= base::m_dataWindow.max.y); assert (k >= base::m_dataWindow.min.z); assert (k <= base::m_dataWindow.max.z); UNUSED(i); UNUSED(j); UNUSED(k); // Access data return m_default; }
long long int EmptyField::memSize | ( | ) | const [virtual] |
Definition at line 211 of file EmptyField.h.
{ long long int superClassMemSize = base::memSize(); return sizeof(*this) + superClassMemSize; }
static DEFINE_FIELD_RTTI_CONCRETE_CLASS const char* EmptyField::classType | ( | ) | [inline, static] |
RTTI replacement.
Reimplemented from ResizableField< Data_T >.
Definition at line 125 of file EmptyField.h.
Referenced by className().
{ return "EmptyField"; }
Data_T & EmptyField::lvalue | ( | int | i, |
int | j, | ||
int | k | ||
) | [virtual] |
Definition at line 220 of file EmptyField.h.
References UNUSED.
{ assert (i >= base::m_dataWindow.min.x); assert (i <= base::m_dataWindow.max.x); assert (j >= base::m_dataWindow.min.y); assert (j <= base::m_dataWindow.max.y); assert (k >= base::m_dataWindow.min.z); assert (k <= base::m_dataWindow.max.z); UNUSED(i); UNUSED(j); UNUSED(k); // Access data return m_ignoredData; }
virtual std::string EmptyField::className | ( | ) | const [inline, virtual] |
Definition at line 142 of file EmptyField.h.
References classType().
{ return std::string(classType()); }
virtual FieldBase::Ptr EmptyField::clone | ( | ) | const [inline, virtual] |
Definition at line 145 of file EmptyField.h.
References EmptyField().
{ return Ptr(new EmptyField(*this)); }
Data_T EmptyField::m_default [protected] |
Field default value.
Definition at line 155 of file EmptyField.h.
Data_T EmptyField::m_ignoredData [protected] |
Dummy variable for assignment.
Definition at line 157 of file EmptyField.h.
Data_T EmptyField::m_constantData [protected] |
Field constant value.
Definition at line 159 of file EmptyField.h.