Field3D
Field Class Reference

#include <Field.h>

Inheritance diagram for Field:
FieldRes FieldBase RefBase

List of all members.

Classes

class  const_iterator

Public Types

typedef Field< Data_T > class_type
typedef boost::intrusive_ptr
< Field
Ptr
typedef Data_T value_type
 Allows us to reference the template class.
typedef std::vector< PtrVec
 This is a convenience typedef for the list that Field3DInputFile::readScalarLayers() and Field3DInputFile::readVectorLayers() will return its data in.

Public Member Functions

const_iterator cbegin () const
 Const iterator to first element. "cbegin" matches the tr1 c++ standard.
const_iterator cbegin (const Box3i &subset) const
 Const iterator to first element of specific subset.
const_iterator cend () const
 Const iterator pointing one element past the last valid one.
const_iterator cend (const Box3i &subset) const
 Const iterator pointing one element past the last valid one (for a subset)
virtual std::string dataTypeString () const
virtual Data_T value (int i, int j, int k) const =0
 Read access to a voxel. The coordinates are in integer voxel space .
virtual ~Field ()
 Dtor.

Static Public Member Functions

static const char * classType ()
static const char * staticClassName ()

Public Attributes

 DEFINE_FIELD_RTTI_ABSTRACT_CLASS

Private Types

typedef FieldRes base
 Convenience typedef for referring to base class.

Static Private Attributes

static TemplatedFieldType
< Field< Data_T > > 
ms_classType

Detailed Description

This class provides read-only access to voxels. A read-only buffer can not be resized. Resizing is added by ResizableField. The object still has a size of course, but it can only be set by subclass-specific methods.

Note:
Regarding the template type Data_T. This does not necessarily have to be the internal data storage format, it only defines the -return type- that the particular Field instance provides.

Member Typedef Documentation

typedef boost::intrusive_ptr<Field> Field::Ptr

Reimplemented from FieldRes.

Reimplemented in WritableField, and ProceduralField.

Definition at line 382 of file Field.h.

typedef Data_T Field::value_type

Allows us to reference the template class.

Definition at line 385 of file Field.h.

typedef std::vector<Ptr> Field::Vec

This is a convenience typedef for the list that Field3DInputFile::readScalarLayers() and Field3DInputFile::readVectorLayers() will return its data in.

Reimplemented from FieldRes.

Definition at line 390 of file Field.h.

typedef Field<Data_T> Field::class_type

Reimplemented from FieldRes.

Reimplemented in WritableField, and ProceduralField.

Definition at line 394 of file Field.h.

typedef FieldRes Field::base [private]

Convenience typedef for referring to base class.

Reimplemented from FieldRes.

Reimplemented in WritableField, and ProceduralField.

Definition at line 454 of file Field.h.


Constructor & Destructor Documentation

virtual Field::~Field ( ) [inline, virtual]

Dtor.

Definition at line 410 of file Field.h.

  { /* Empty */ }

Member Function Documentation

static const char* Field::staticClassName ( ) [inline, static]

Reimplemented from FieldRes.

Reimplemented in WritableField, and ProceduralField.

Definition at line 397 of file Field.h.

  {
    return "Field";
  }
static const char* Field::classType ( ) [inline, static]

Reimplemented from FieldRes.

Reimplemented in WritableField, and ProceduralField.

Definition at line 402 of file Field.h.

const_iterator Field::cbegin ( ) const

Const iterator to first element. "cbegin" matches the tr1 c++ standard.

Referenced by ResizableField< Data_T >::copyFrom(), and isIdentical().

const_iterator Field::cbegin ( const Box3i subset) const

Const iterator to first element of specific subset.

const_iterator Field::cend ( ) const

Const iterator pointing one element past the last valid one.

Referenced by Field< Data_T >::cbegin(), and isIdentical().

const_iterator Field::cend ( const Box3i subset) const

Const iterator pointing one element past the last valid one (for a subset)

virtual Data_T Field::value ( int  i,
int  j,
int  k 
) const [pure virtual]

Read access to a voxel. The coordinates are in integer voxel space .

Note:
Before the internal storage is accessed, the subclass must compute the data window coordinates by looking at Field::m_dataWindow.
Virtual functions are known not to play nice with threading. Therefor, concrete classes can implement (by convention) fastValue() as a non-virtual function.

Implemented in ProceduralField.

Referenced by LinearFieldInterp::sample(), and CubicFieldInterp::sample().

virtual std::string Field::dataTypeString ( ) const [inline, virtual]

Reimplemented from FieldRes.

Definition at line 441 of file Field.h.


Member Data Documentation

Reimplemented from FieldRes.

Reimplemented in WritableField.

Definition at line 395 of file Field.h.

TemplatedFieldType<Field<Data_T> > Field::ms_classType [static, private]

Reimplemented in WritableField, and ProceduralField.

Definition at line 449 of file Field.h.


The documentation for this class was generated from the following file: