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 classes.
file | Field3DFileHDF5.cpp
| Contains implementations of Field3DFileHDF5-related member functions.
file | Field3DFileHDF5.h
| Contains the Field3DFileHDF5 classes.
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.cpp
| Contains implementations of FieldMetadata member functions.
file | FieldMetadata.h
| Basic container for metedata.
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.

## Detailed Description

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

## Function Documentation

## field_dynamic_cast()

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.

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

Referenced by detail::adjustedMIPFieldMapping(), MIPField< Field_T >::init(), makeMIP(), readField(), Field3DInputFileHDF5::readScalarLayersAs(), Field3DInputFileHDF5::readScalarLayersAs(), Field3DInputFileHDF5::readVectorLayersAs(), and Field3DInputFileHDF5::readVectorLayersAs().