Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
Fiber::FiberIO::HDF5::FragmentLoader Class Referenceabstract
Inheritance diagram for Fiber::FiberIO::HDF5::FragmentLoader:
Fiber::FiberIO::HDF5::PrecisionTransformation Fiber::FiberIO::HDF5::ContiguousFragmentLoader Fiber::FiberIO::HDF5::UniformFragmentLoader

Public Types

using FragmentNames_t = std::vector<string>

Public Member Functions

 FragmentLoader (GridLoader &theGridLoader, const RefPtr< Skeleton > &theContainingSkeleton, const RefPtr< Representation > &theRepresentation, const RefPtr< Field > &CurrentField, const string &FieldNameInFile, const RefPtr< H5Group > &theFieldGroup, const RefPtr< LoaderProgress > &lp, const WeakPtr< StorageTransformations::IOPerformance > &LoadPerformance, const RefPtr< FiberTypeBase > &TheFiberType, const string &the_path_info)
bool getFragmentNames (FragmentNames_t &, F5Path *field)
virtual herr_t apply (F5Path *field, const char *fragmentname)=0
herr_t iterate (F5Path *field)
herr_t loadContiguousFragment (F5Path *field, const char *fragmentname, const WeakPtr< Fiber::Skeleton > &theRepresentationTarget)
herr_t loadUniformFragment (F5Path *field, const char *fragmentname)
bool loadViaFragmentCache (const RefPtr< H5Group > &)
Public Member Functions inherited from Fiber::FiberIO::HDF5::PrecisionTransformation
void setFragmentFiberType (const RefPtr< FiberTypeBase > &TheFiberType)
bool doTransformPrecision () const
 PrecisionTransformation (const RefPtr< FiberTypeBase > &)
RefPtr< CreativeArrayBasenewCreator (const RefPtr< LoaderProgress > &TheLoaderProgressor, const F5Fragment &theFragment, const DynamicSize &SI, const RefPtr< FiberIO::HDF5::FileNameInterface > &FragmentFileInfo, const WeakPtr< StorageTransformations::IOPerformance > &theLoadPerformance, const string &fragmentname, const string &FieldSource) const
void shiftAttributes (Attributes &A)
 Modify attributes such as the range if the precision is changed during I/O.

Public Attributes

GridLoadermyGridLoader
RefPtr< SkeletonmySkeleton
RefPtr< FieldMyField
RefPtr< H5GroupmyFieldGroup
RefPtr< LoaderProgressLP
WeakPtr< StorageTransformations::IOPerformanceLoadPerformance
string path_info
int GroupEntries = 0
hid_t type_class_id = -1
RefPtr< H5GroupAccessGroupAccess
RefPtr< H5DatasetAccessDatasetAccess
RefPtr< H5FileAccessmyVFD
std::unordered_set< std::stringIgnoreAttributesOnLoad
Public Attributes inherited from Fiber::FiberIO::HDF5::PrecisionTransformation
RefPtr< FiberTypeBaseFieldFiberType
 The type how it shall appear in the fiber bundle field.
RefPtr< FiberTypeBaseFragmentFiberType
RefPtr< FiberTypeBaseNativeFiberType
 The type how it is in the file, if its different.

Additional Inherited Members

Static Public Member Functions inherited from Fiber::FiberIO::HDF5::PrecisionTransformation
static bool readPossiblyConvertedData (RefPtr< MemBase > &NewData, CreativeArrayBase &theCreator)
 Function is similar to CreativeArrayBase::create() but more efficient than raw HDF5 in case data need to be converted from float to double precision upon reading.
static bool possiblyShiftData (RefPtr< MemBase > &NewData, CreativeArrayBase &theCreator)
static std::pair< bool, hid_t > getFileType (const StorageTransformations::FilterSettings &FS, hid_t Mem_type_hid, const Fiber::Field &theField, F5Path *myPath)
 Determine whether that specific field thing shall be written in single precision.
static void adjustFileWriteInformation (const StorageTransformations::FilterSettings &FS, CreativeArrayBase &FieldFragmentAttributes, Attributes &OverrideStorageAttributes, AttributeSet_t &DontSaveAttributeSet, RefPtr< ChunkBase > &Mb, bool WriteDoubleTypeInSinglePrecision, bool Write_Shifted_Single_Precision_Range)
 Modify the information that will be written to the file.
static void adjustAttributeWriteInformation (const CreativeArrayBase &FragmentAttributes, Attributes &OverrideStorageAttributes, bool Write_Shifted_Single_Precision_Range)
static RefPtr< Chunk< Eagle::point3f > > reduce_to_single_precision (const FixedArray< double, 3 > &Shift, const Chunk< Eagle::point3 > &Input)
static RefPtr< Chunk< Eagle::point3 > > expand_to_double_precision (const FixedArray< double, 3 > &Shift, const Chunk< Eagle::point3f > &Input)
Static Public Attributes inherited from Fiber::FiberIO::HDF5::PrecisionTransformation
static constexpr const char NumericalShiftAttributeName [] = FIBER_FRAGMENT_NUMERICALSHIFT_ATTRIBUTE

Member Function Documentation

◆ loadViaFragmentCache()

bool Fiber::FiberIO::HDF5::FragmentLoader::loadViaFragmentCache ( const RefPtr< H5Group > & frag_cache)

Indicate that the data managed here are already saved, and their "last saved" time is identical to the construction time of this Creator.

References std::data(), Fiber::FiberIO::HDF5::PrecisionTransformation::FieldFiberType, and Fiber::FiberIO::HDF5::PrecisionTransformation::NativeFiberType.

Referenced by Fiber::FiberIO::HDF5::ContiguousFragmentLoader::loadAllFragments().