Field3D
|
#include <DenseFieldIO.h>
Public Types | |
typedef DenseFieldIO | class_type |
typedef boost::intrusive_ptr< DenseFieldIO > | Ptr |
![]() | |
typedef FieldIO | class_type |
typedef boost::intrusive_ptr< FieldIO > | Ptr |
![]() | |
typedef boost::intrusive_ptr< RefBase > | Ptr |
typedef boost::weak_ptr< RefBase > | WeakPtr |
Public Member Functions | |
virtual std::string | className () const |
Returns the class name. More... | |
DenseFieldIO () | |
Ctor. More... | |
virtual FieldBase::Ptr | read (hid_t layerGroup, const std::string &filename, const std::string &layerPath, DataTypeEnum typeEnum) |
Reads the field at the given location and tries to create a DenseField object from it. Calls out to readData() for template-specific work. More... | |
virtual bool | write (hid_t layerGroup, FieldBase::Ptr field) |
Writes the given field to disk. This function calls out to writeInternal once the template type has been determined. More... | |
virtual | ~DenseFieldIO () |
Dtor. More... | |
![]() | |
FieldIO () | |
Ctor. More... | |
virtual | ~FieldIO () |
Dtor. More... | |
![]() | |
void | ref () const |
Used by boost::intrusive_pointer. More... | |
size_t | refcnt () |
Used by boost::intrusive_pointer. More... | |
void | unref () const |
Used by boost::intrusive_pointer. More... | |
WeakPtr | weakPtr () const |
RefBase () | |
RefBase (const RefBase &) | |
Copy constructor. More... | |
RefBase & | operator= (const RefBase &) |
Assignment operator. More... | |
virtual | ~RefBase () |
Destructor. More... | |
virtual bool | checkRTTI (const char *typenameStr)=0 |
This function is only implemented by concrete classes and triggers the actual RTTI check through matchRTTI();. More... | |
bool | matchRTTI (const char *typenameStr) |
Performs a check to see if the given typename string matches this class' This needs to be implemented in -all- subclasses, even abstract ones. More... | |
Static Public Member Functions | |
static FieldIO::Ptr | create () |
static const char * | staticClassType () |
![]() | |
static const char * | staticClassType () |
![]() | |
static const char * | staticClassType () |
Public Attributes | |
DEFINE_FIELD_RTTI_CONCRETE_CLASS | |
![]() | |
DEFINE_FIELD_RTTI_ABSTRACT_CLASS | |
Private Types | |
typedef FieldIO | base |
Convenience typedef for referring to base class. More... | |
Private Member Functions | |
template<class Data_T > | |
DenseField< Data_T >::Ptr | readData (hid_t dataSet, const Box3i &extents, const Box3i &dataW) |
This call performs the actual reading of data from disk. More... | |
template<class Data_T > | |
bool | writeData (hid_t dataSet, typename DenseField< Data_T >::Ptr field, Data_T dummy) |
This call performs the actual writing of data to disk. More... | |
template<class Data_T > | |
bool | writeInternal (hid_t layerGroup, typename DenseField< Data_T >::Ptr field) |
This call writes all the attributes and sets up the data space. More... | |
Static Private Attributes | |
static const std::string | k_bitsPerComponentStr |
static const std::string | k_componentsStr |
static const std::string | k_dataStr |
static const std::string | k_dataWindowStr |
static const std::string | k_extentsStr |
static const std::string | k_versionAttrName |
static const int | k_versionNumber |
Handles IO for a DenseField object
Definition at line 78 of file DenseFieldIO.h.
typedef boost::intrusive_ptr<DenseFieldIO> DenseFieldIO::Ptr |
Definition at line 85 of file DenseFieldIO.h.
typedef DenseFieldIO DenseFieldIO::class_type |
Definition at line 89 of file DenseFieldIO.h.
|
private |
Convenience typedef for referring to base class.
Definition at line 161 of file DenseFieldIO.h.
|
inline |
Ctor.
Definition at line 100 of file DenseFieldIO.h.
|
inlinevirtual |
|
inlinestatic |
Definition at line 92 of file DenseFieldIO.h.
|
inlinestatic |
Definition at line 108 of file DenseFieldIO.h.
References read(), and write().
Referenced by initIO().
|
virtual |
Reads the field at the given location and tries to create a DenseField object from it. Calls out to readData() for template-specific work.
Implements FieldIO.
Definition at line 77 of file DenseFieldIO.cpp.
References DataTypeDouble, DataTypeFloat, DataTypeHalf, DataTypeVecDouble, DataTypeVecFloat, DataTypeVecHalf, Hdf5Util::H5Base::id(), and Hdf5Util::readAttribute().
Referenced by create().
|
virtual |
Writes the given field to disk. This function calls out to writeInternal once the template type has been determined.
Implements FieldIO.
Definition at line 162 of file DenseFieldIO.cpp.
References FIELD3D_NAMESPACE_SOURCE_CLOSE, field_dynamic_cast(), and Hdf5Util::writeAttribute().
Referenced by create().
|
inlinevirtual |
Returns the class name.
Implements FieldIO.
Definition at line 126 of file DenseFieldIO.h.
References readData(), writeData(), and writeInternal().
|
private |
This call writes all the attributes and sets up the data space.
Definition at line 171 of file DenseFieldIO.h.
References Hdf5Util::checkHdf5Gzip(), FieldTraits< Data_T >::dataDims(), FieldRes::dataWindow(), FieldRes::extents(), DataTypeTraits< T >::h5bits(), Hdf5Util::H5Base::id(), DenseField< Data_T >::internalMemSize(), k_bitsPerComponentStr, k_componentsStr, k_dataStr, k_dataWindowStr, k_extentsStr, Msg::print(), Msg::SevWarning, and Hdf5Util::writeAttribute().
Referenced by className().
|
private |
This call performs the actual writing of data to disk.
Definition at line 275 of file DenseFieldIO.h.
References DenseField< Data_T >::begin().
Referenced by className().
|
private |
This call performs the actual reading of data from disk.
Definition at line 298 of file DenseFieldIO.h.
References DenseField< Data_T >::begin(), FIELD3D_NAMESPACE_HEADER_CLOSE, DataTypeTraits< T >::name(), and ResizableField< Data_T >::setSize().
Referenced by className().
DenseFieldIO::DEFINE_FIELD_RTTI_CONCRETE_CLASS |
Definition at line 90 of file DenseFieldIO.h.
|
staticprivate |
Definition at line 150 of file DenseFieldIO.h.
|
staticprivate |
Definition at line 151 of file DenseFieldIO.h.
|
staticprivate |
Definition at line 152 of file DenseFieldIO.h.
Referenced by writeInternal().
|
staticprivate |
Definition at line 153 of file DenseFieldIO.h.
Referenced by writeInternal().
|
staticprivate |
Definition at line 154 of file DenseFieldIO.h.
Referenced by writeInternal().
|
staticprivate |
Definition at line 155 of file DenseFieldIO.h.
Referenced by writeInternal().
|
staticprivate |
Definition at line 156 of file DenseFieldIO.h.
Referenced by writeInternal().