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  FrustumFieldMapping
 Represents the mapping of a field by a perspective transform. More...
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  Field.h
 

Contains Field, WritableField and ResizableField classes.


file  Field3DFile.cpp
 

Contains implementations of Field3DFile-related member functions.


file  Field3DFile.h
 

Contains the Field3DFile classes

OSS sanitized.


file  FieldInterp.h
 

Contains the FieldInterp base class and some standard interpolation classes.


file  FieldMapping.h
 

Contains the FieldMapping base class and the NullFieldMapping and MatrixFieldMapping subclasses.


file  FieldMappingIO.h
 

Contains the FieldMappingIO base class and the NullFieldMappingIO and MatrixFieldMappingIO subclasses.


file  FieldMetadata.h
 

Basic container for metedata.


file  InitIO.h
 

Contains the initIO function.


file  ProceduralField.h
 

Contains the ProceduralField class.


file  Types.h
 

Contains typedefs for the commonly used types in Field3D.


Functions

template<class Field_T >
Field_T::Ptr field_dynamic_cast (RefBase::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 ( RefBase::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 224 of file RefCount.h.

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

{
  if (!field) 
    return NULL;

  const char *tgtTypeString =  Field_T::classType();
  
  if (field->checkRTTI(tgtTypeString)) {
    return static_cast<Field_T*>(field.get());
  } else {
    return NULL;
  }
}