Field3D
Fields

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

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 classesOSS 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  InitIO.h
 Contains the initIO function.
 
file  MIPBase.h
 Contains MIPBase class.
 
file  MIPInterp.h
 Contains MIPInterp class.
 
file  ProceduralField.h
 Contains the ProceduralField class.
 
file  Types.h
 Contains typedefs for the commonly used types in Field3D.
 

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  MIPField< Field_T >
 This subclass stores a MIP representation of a Field_T field. 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 >
 

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

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 256 of file RefCount.h.

Referenced by MIPField< Field_T >::init(), GenericLazyLoadAction< Field_T >::load(), readField(), Field3DInputFile::readScalarLayersAs(), Field3DInputFile::readVectorLayersAs(), MACFieldIO::write(), DenseFieldIO::write(), SparseFieldIO::write(), and MIPFieldIO::write().

257 {
258  if (!field)
259  return NULL;
260 
261  const char *tgtTypeString = Field_T::staticClassType();
262 
263  if (field->checkRTTI(tgtTypeString)) {
264  return static_cast<Field_T*>(field.get());
265  } else {
266  return NULL;
267  }
268 }