FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Public Attributes | List of all members
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::string > IgnoreAttributesOnLoad
 
- 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_tgetFileType (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 Fiber::FiberIO::HDF5::PrecisionTransformation::FieldFiberType, and Fiber::FiberIO::HDF5::PrecisionTransformation::NativeFiberType.

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