Field3D
Fields

These are the main parts of the library that a user would deal with. More...

Classes

class  DenseField< Data_T >
 This subclass of Field stores data in a contiguous std::vector. More...
class  EmptyField< Data_T >
 This subclass of Field does not store any data. More...
class  Field< Data_T >
class  FieldBase
class  FieldInterp< Data_T >
 Base class for interpolators. More...
class  FieldMapping
 Base class for mapping between world-, local- and voxel coordinates. More...
class  FieldRes
class  MACField< Data_T >
 This subclass of Field implements a standard MAC field. Refer to your favorite fluid simulations book for an explanation. More...
class  MatrixFieldMapping
 Represents the mapping of a field by a matrix transform. More...
class  NullFieldMapping
 Trivial class, world space is equal to local space, i.e. the field is contained in the unit cube [0..1] in all axes. More...
class  ProceduralField< Data_T >
class  ResizableField< Data_T >
class  SparseField< Data_T >
 This Field subclass stores voxel data in block-allocated arrays. More...
class  WritableField< Data_T >

Files

file  Field3DFile.cpp
 

Contains implementations of Field3DFile-related member functions.


Functions

template<class Field_T >
Field_T::Ptr field_dynamic_cast (FieldBase::Ptr field)
 Dynamic cast that uses string-comparison in order to be safe even after an object crosses a shared library boundary.

Detailed Description

These are the main parts of the library that a user would deal with.


Function Documentation

template<class Field_T >
Field_T::Ptr field_dynamic_cast ( FieldBase::Ptr  field)

Dynamic cast that uses string-comparison in order to be safe even after an object crosses a shared library boundary.

Definition at line 407 of file Field.h.

Referenced by readField(), readLayersAndPrintInfo(), Field3DInputFile::readScalarLayersAs(), Field3DInputFile::readVectorLayersAs(), SparseFieldIO::write(), MACFieldIO::write(), and DenseFieldIO::write().

{
  if (!field) 
    return NULL;
  std::string tgtTypeString = typeid(Field_T).name();
  if (field->checkRTTI(tgtTypeString)) {
    return static_cast<Field_T*>(field.get());
  } else {
    return NULL;
  }
}