FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | Static Public Member Functions | List of all members
Fiber::FishStorageTransformations Struct Reference

A base class with some heuristic default settings. More...

#include <FishStorage.hpp>

Inheritance diagram for Fiber::FishStorageTransformations:
Fiber::StorageTransformations MemCore::Interface< StorageTransformations > MemCore::typemap< MemCore::TypeInfo > MemCore::InterfaceBase MemCore::ReferenceBase< InterfaceBase >

Public Member Functions

bool isSaveableField (const FieldID &id, const Field &F, const WeakPtr< Fiber::Grid > &theGrid, const std::string &theRepresenterName, double theTime, const std::string &theGridname, const Fiber::SkeletonID &theSkeletonID) override
 
FilterSettings getFilterSettings (double time, const string &gridname, const MemCore::WeakPtr< Fiber::Grid > &myGrid, const SkeletonID &Sid, const string &RepresenterName, const Field &F, const string &FieldName, Fiber::CreativeArrayBase &theCreator, const MemCore::RefPtr< Fiber::FragmentID > &fID, const MemCore::RefPtr< MemBase > &Mb) const override
 
- Public Member Functions inherited from Fiber::StorageTransformations
virtual bool SkipStorage (double time, const string &gridname, const MemCore::WeakPtr< Fiber::Grid > &myGrid, const SkeletonID &Sid, const string &RepresenterName, const Field &F, const string &FieldName, Fiber::CreativeArrayBase &theCreator, const MemCore::RefPtr< Fiber::FragmentID > &fID) const
 Specify nothing should be stored that is related to this setting.
 
 StorageTransformations (bool AutomaticSetup=false)
 
void autoSetup ()
 
virtual bool isSaveableTime (double T) const
 Allows a child class to determine which time steps, i.e.
 
virtual std::pair< string, string > getExternalLocation (double time, const string &gridname, const SkeletonID &Sid, const string &RepresenterName, const string &FieldName) const
 
virtual string getExternalLocationPrefix (double time, const string &gridname, const SkeletonID &Sid, const string &RepresenterName, const string &FieldName) const
 
virtual void setFieldPacking (double time, const string &gridname, const MemCore::WeakPtr< Fiber::Grid > &myGrid, const SkeletonID &Sid, const string &RepresenterName, const Field &F, const string &FieldName, Fiber::CreativeArrayBase &theCreator, const MemCore::RefPtr< Fiber::FragmentID > &fID) const
 Callback function to possible define bit packing on a Creator, which is done by simply doing addInterface( new Packing() ) whereas Packing is an appropriate structure from field/Packing with parameters suitable for the given Creator.
 
virtual string getExternalFileReference (const string &MainFile, const string &FragmentFile)
 If a data fragment resides in another file than the currently written main file this function computes the file name used for linking that external file, if EnableExternalFileReference is enabled.
 
virtual std::string getExternalLinkFilename (const std::string &link_containing_file_name, const std::string &external_target_file_name) const
 How to compute the filename that shall be used for an external link, based on the file name containing the link and the file name of the object that will be referenced.
 
virtual DynamicSize computeChunkSize (const DynamicSize &FragmentSize, size_t TypeSize, string &StorageInfo)
 
virtual bool isSaveableFragment (const RefPtr< FragmentID > &fid, const RefPtr< CreativeArrayBase > &cab, const FieldID &id, const Field &F, const WeakPtr< Fiber::Grid > &theGrid, const std::string &theRepresenterName, double theTime, const std::string &theGridname, const Fiber::SkeletonID &theSkeletonID)
 
virtual void isSaved (const RefPtr< CreativeArrayBase > &cab, const RefPtr< FragmentID > &fid, const FieldID &id, const Field &F, const WeakPtr< Fiber::Grid > &theGrid, const std::string &theRepresenterName, double theTime, const std::string &theGridname, const Fiber::SkeletonID &theSkeletonID)
 A callback function that is called once a Creator has been stored.
 
- Public Member Functions inherited from MemCore::Interface< StorageTransformations >
const type_info & getInterfaceDomain () const
 
- Public Member Functions inherited from MemCore::InterfaceBase
virtual bool apply (Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 
virtual bool apply_const (const Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 
- Public Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 

Static Public Member Functions

static std::list< std::function< RefPtr< StorageTransformations >(const MemCore::Attributes &, const string &url)> > & getStorageTransformationProviders ()
 List of storage transformation providers, for instance as provided by a GUI plugin.
 
static RefPtr< StorageTransformationsgetStorageTransformations (const MemCore::Attributes &, const string &url)
 Get storage transformation settings depending on attributes in a given bundle and the file/url name used.
 

Additional Inherited Members

- Public Types inherited from MemCore::Interface< StorageTransformations >
typedef Domain InterfaceDomain_t
 
- Public Types inherited from MemCore::ReferenceBase< InterfaceBase >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 
- Public Attributes inherited from Fiber::StorageTransformations
RefPtr< IOPerformancemyIOPerformance
 
int CompressViaLZ4Filter = -1
 Use LZ4 compression.
 
int GzipCompressionLevel = -1
 Use GZIP for compression if positive.
 
bool DoScaling = false
 apply scaling
 
int zstdCompressionLevel = -1
 
int zstdDictionary = -1
 
bool EnableShuffleFilter = false
 https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetShuffle
 
uint32_t ScaleFactor = 0
 
int HDF5_CustomFilter = 0
 
std::vector< unsigned intHDF5FilterParameters
 
bool useWindowsNativeVFDforHDF5 = true
 
int Power10ScaleFactor = 0
 ​ member variables to influence ​the input output of a f5 file useage:
 
FilterSettings::AutoSettingStrategy StrategyMode = FilterSettings::Uncompressed
 A default setting for the return value of getFilterSettings() .
 
PrecisionTransformation defaultPrecisionTransformation
 Setting for the default value of getFilterSettings, and overriden function may or may not use this.
 
bool StoreFragmentsSeparately = false
 if field is fragmented every fragment will be exported individually
 
bool StoreFieldsSeparately = false
 
bool StoreGridsSeparately = false
 
bool trulyDeleteFileContents = false
 A setting that affects particularly HDF5 files that are synchronized with a Bundle in memory ("bound").
 
std::set< RefPtr< FieldID > > SaveableFields
 Do only for certain field names.
 
std::set< RefPtr< GridID > > SaveableGrids
 Do only for certain grid names.
 
struct Fiber::StorageTransformations::HDF5_Tuning HDF5
 Data member for HDF5 tuning.
 
bool EnableExternalFileReference = false
 
bool AllowExternalLinkingOnWritingOutOfRAMData = false
 
- Protected Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Detailed Description

A base class with some heuristic default settings.

Application code should retrieve a storage transformation via the getStorageTransformatiosn() call which allows to provide storage transformation settings depending on attributes in a given bundle and the file/url name used.

Member Function Documentation

◆ getFilterSettings()

StorageTransformations::FilterSettings Fiber::FishStorageTransformations::getFilterSettings ( double  time,
const string &  gridname,
const MemCore::WeakPtr< Fiber::Grid > &  myGrid,
const SkeletonID Sid,
const string &  RepresenterName,
const Field F,
const string &  FieldName,
Fiber::CreativeArrayBase theCreator,
const MemCore::RefPtr< Fiber::FragmentID > &  fID,
const MemCore::RefPtr< MemBase > &  Mb 
) const
overridevirtual

Reimplemented from Fiber::StorageTransformations.

◆ isSaveableField()

bool Fiber::FishStorageTransformations::isSaveableField ( const FieldID id,
const Field F,
const WeakPtr< Fiber::Grid > &  theGrid,
const std::string &  theRepresenterName,
double  theTime,
const std::string &  theGridname,
const Fiber::SkeletonID theSkeletonID 
)
overridevirtual

Reimplemented from Fiber::StorageTransformations.