VTK
9.4.20241123
|
Common utility variables and functions for reader and writer of vtkHDF. More...
Classes | |
struct | TemporalGeometryOffsets |
struct | TransientGeometryOffsets |
Functions | |
static constexpr int | GetNumberOfAttributeTypes () |
static constexpr int | GetNumberOfDataArrayTypes () |
VTKIOHDF_EXPORT void | MakeObjectNameValid (std::string &objectName) |
VTKIOHDF_EXPORT hid_t | getH5TypeFromVtkType (int dataType) |
VTKIOHDF_EXPORT bool | Open (const char *fileName, hid_t &fileID) |
Open a VTK HDF file and checks if it is valid. | |
template<typename T > | |
VTKIOHDF_EXPORT hid_t | TemplateTypeToHdfNativeType () |
Convert C++ template type T to HDF5 native type this can be constexpr in C++17 standard. | |
template<typename T > | |
VTKIOHDF_EXPORT bool | GetAttribute (hid_t group, const char *attributeName, size_t numberOfElements, T *value) |
Reads an attribute from the group passed to it. | |
VTKIOHDF_EXPORT std::size_t | GetNumberOfSteps (hid_t groupID) |
Read the number of steps of an HDF group. | |
VTKIOHDF_EXPORT std::vector< hsize_t > | GetDimensions (hid_t fileID, const char *datasetName) |
Returns the dimensions of a HDF dataset of a file. | |
VTKIOHDF_EXPORT bool | RetrieveHDFInformation (hid_t &fileID, hid_t &groupID, const std::string &rootName, std::array< int, 2 > &version, int &dataSetType, int &numberOfPieces, std::array< hid_t, 3 > &attributeDataGroup) |
Initialize meta information of the file. | |
VTKIOHDF_EXPORT herr_t | FileInfoCallBack (hid_t loc_id, const char *name, const H5L_info_t *info, void *opdata) |
Convenient callback method to retrieve a name when calling a H5Giterate() | |
VTKIOHDF_EXPORT std::vector< std::string > | GetArrayNames (const std::array< hid_t, 3 > &attributeDataGroup, int attributeType) |
Returns the names of arrays for 'attributeType' (point or cell). | |
VTKIOHDF_EXPORT std::vector< std::string > | GetOrderedChildrenOfGroup (hid_t groupID, const std::string &path) |
Return the name of all children of an HDF group given its path. | |
VTKIOHDF_EXPORT hid_t | OpenDataSet (hid_t group, const char *name, hid_t *nativeType, std::vector< hsize_t > &dims) |
Opens the hdf5 dataset given the 'group' and 'name'. | |
VTKIOHDF_EXPORT std::vector< vtkIdType > | GetMetadata (hid_t group, const char *name, hsize_t size, hsize_t offset) |
Reads a 1D metadata array in a DataArray or a vector of vtkIdType. | |
VTKIOHDF_EXPORT std::array< vtkIdType, 2 > | GetFieldArraySize (hid_t group, vtkIdType step, std::string name) |
Return the field array size (components, tuples) for the HDF group. | |
VTKIOHDF_EXPORT vtkIdType | GetArrayOffset (hid_t group, vtkIdType step, int attributeType, std::string name) |
Methods to query for array offsets for the HDF group when steps are present. | |
VTKIOHDF_EXPORT vtkAbstractArray * | NewFieldArray (const std::array< hid_t, 3 > &attributeDataGroup, const char *name, vtkIdType offset, vtkIdType size, vtkIdType dimMaxSize) |
Reads and returns a new vtkAbstractArray. | |
VTKIOHDF_EXPORT vtkStringArray * | NewStringArray (hid_t dataset, std::vector< hsize_t > dims, std::vector< hsize_t > fileExtent) |
VTKIOHDF_EXPORT vtkDataArray * | NewArrayForGroup (hid_t dataset, hid_t nativeType, const std::vector< hsize_t > &dims, const std::vector< hsize_t > ¶meterExtent) |
Reads a vtkDataArray of type T from the attributeType, dataset The array has type 'T' and 'numberOfComponents'. | |
VTKIOHDF_EXPORT vtkDataArray * | NewArrayForGroup (hid_t group, const char *name, const std::vector< hsize_t > ¶meterExtent) |
Reads a vtkDataArray of type T from the attributeType, dataset The array has type 'T' and 'numberOfComponents'. | |
Variables | |
const std::string | VTKHDF_ROOT_PATH = "/VTKHDF" |
constexpr std::size_t | NUM_POLY_DATA_TOPOS = 4 |
const std::vector< std::string > | POLY_DATA_TOPOS { "Vertices", "Lines", "Polygons", "Strips" } |
constexpr int | GEOMETRY_ATTRIBUTE_TAG = -42 |
Common utility variables and functions for reader and writer of vtkHDF.
|
staticconstexpr |
Definition at line 62 of file vtkHDFUtilities.h.
|
staticconstexpr |
Definition at line 70 of file vtkHDFUtilities.h.
VTKIOHDF_EXPORT void vtkHDFUtilities::MakeObjectNameValid | ( | std::string & | objectName | ) |
VTKIOHDF_EXPORT hid_t vtkHDFUtilities::getH5TypeFromVtkType | ( | int | dataType | ) |
VTKIOHDF_EXPORT bool vtkHDFUtilities::Open | ( | const char * | fileName, |
hid_t & | fileID | ||
) |
Open a VTK HDF file and checks if it is valid.
On succeed fileID is set to a valid hid.
VTKIOHDF_EXPORT hid_t vtkHDFUtilities::TemplateTypeToHdfNativeType | ( | ) |
Convert C++ template type T to HDF5 native type this can be constexpr in C++17 standard.
VTKIOHDF_EXPORT bool vtkHDFUtilities::GetAttribute | ( | hid_t | group, |
const char * | attributeName, | ||
size_t | numberOfElements, | ||
T * | value | ||
) |
Reads an attribute from the group passed to it.
VTKIOHDF_EXPORT std::size_t vtkHDFUtilities::GetNumberOfSteps | ( | hid_t | groupID | ) |
Read the number of steps of an HDF group.
VTKIOHDF_EXPORT std::vector< hsize_t > vtkHDFUtilities::GetDimensions | ( | hid_t | fileID, |
const char * | datasetName | ||
) |
Returns the dimensions of a HDF dataset of a file.
VTKIOHDF_EXPORT bool vtkHDFUtilities::RetrieveHDFInformation | ( | hid_t & | fileID, |
hid_t & | groupID, | ||
const std::string & | rootName, | ||
std::array< int, 2 > & | version, | ||
int & | dataSetType, | ||
int & | numberOfPieces, | ||
std::array< hid_t, 3 > & | attributeDataGroup | ||
) |
Initialize meta information of the file.
VTKIOHDF_EXPORT herr_t vtkHDFUtilities::FileInfoCallBack | ( | hid_t | loc_id, |
const char * | name, | ||
const H5L_info_t * | info, | ||
void * | opdata | ||
) |
Convenient callback method to retrieve a name when calling a H5Giterate()
VTKIOHDF_EXPORT std::vector< std::string > vtkHDFUtilities::GetArrayNames | ( | const std::array< hid_t, 3 > & | attributeDataGroup, |
int | attributeType | ||
) |
Returns the names of arrays for 'attributeType' (point or cell).
VTKIOHDF_EXPORT std::vector< std::string > vtkHDFUtilities::GetOrderedChildrenOfGroup | ( | hid_t | groupID, |
const std::string & | path | ||
) |
Return the name of all children of an HDF group given its path.
VTKIOHDF_EXPORT hid_t vtkHDFUtilities::OpenDataSet | ( | hid_t | group, |
const char * | name, | ||
hid_t * | nativeType, | ||
std::vector< hsize_t > & | dims | ||
) |
Opens the hdf5 dataset given the 'group' and 'name'.
Returns the hdf dataset and sets 'nativeType' and 'dims'. The caller needs to close the returned hid_t manually using H5Dclose or a Scoped Handle if it is not an invalid hid.
VTKIOHDF_EXPORT vtkDataArray * vtkHDFUtilities::NewArrayForGroup | ( | hid_t | dataset, |
hid_t | nativeType, | ||
const std::vector< hsize_t > & | dims, | ||
const std::vector< hsize_t > & | parameterExtent | ||
) |
Reads a vtkDataArray of type T from the attributeType, dataset The array has type 'T' and 'numberOfComponents'.
We are reading fileExtent slab from the array. It returns the array or nullptr in case of an error. There are three cases for fileExtent: fileExtent.size() == 0 - in this case we expect a 1D array and we read the whole array. Used for field arrays. fileExtent.size()>>1 == ndims - in this case we read a scalar fileExtent.size()>>1 + 1 == ndims - in this case we read an array with the number of components > 1.
VTKIOHDF_EXPORT vtkDataArray * vtkHDFUtilities::NewArrayForGroup | ( | hid_t | group, |
const char * | name, | ||
const std::vector< hsize_t > & | parameterExtent | ||
) |
Reads a vtkDataArray of type T from the attributeType, dataset The array has type 'T' and 'numberOfComponents'.
We are reading fileExtent slab from the array. It returns the array or nullptr in case of an error. There are three cases for fileExtent: fileExtent.size() == 0 - in this case we expect a 1D array and we read the whole array. Used for field arrays. fileExtent.size()>>1 == ndims - in this case we read a scalar fileExtent.size()>>1 + 1 == ndims - in this case we read an array with the number of components > 1.
VTKIOHDF_EXPORT std::vector< vtkIdType > vtkHDFUtilities::GetMetadata | ( | hid_t | group, |
const char * | name, | ||
hsize_t | size, | ||
hsize_t | offset | ||
) |
Reads a 1D metadata array in a DataArray or a vector of vtkIdType.
We read either the whole array for the vector version or a slice specified with (offset, size). For an error we return nullptr or an empty vector.
VTKIOHDF_EXPORT std::array< vtkIdType, 2 > vtkHDFUtilities::GetFieldArraySize | ( | hid_t | group, |
vtkIdType | step, | ||
std::string | name | ||
) |
Return the field array size (components, tuples) for the HDF group.
By default it returns {-1,1} which means to have as many components as necessary and one tuple per step.
VTKIOHDF_EXPORT vtkIdType vtkHDFUtilities::GetArrayOffset | ( | hid_t | group, |
vtkIdType | step, | ||
int | attributeType, | ||
std::string | name | ||
) |
Methods to query for array offsets for the HDF group when steps are present.
VTKIOHDF_EXPORT vtkAbstractArray * vtkHDFUtilities::NewFieldArray | ( | const std::array< hid_t, 3 > & | attributeDataGroup, |
const char * | name, | ||
vtkIdType | offset, | ||
vtkIdType | size, | ||
vtkIdType | dimMaxSize | ||
) |
Reads and returns a new vtkAbstractArray.
The actual type of the array depends on the type of the HDF array. The array is read from the PointData or CellData groups depending on the 'attributeType' parameter.
VTKIOHDF_EXPORT vtkStringArray * vtkHDFUtilities::NewStringArray | ( | hid_t | dataset, |
std::vector< hsize_t > | dims, | ||
std::vector< hsize_t > | fileExtent | ||
) |
const std::string vtkHDFUtilities::VTKHDF_ROOT_PATH = "/VTKHDF" |
Definition at line 39 of file vtkHDFUtilities.h.
|
constexpr |
Definition at line 44 of file vtkHDFUtilities.h.
const std::vector<std::string> vtkHDFUtilities::POLY_DATA_TOPOS { "Vertices", "Lines", "Polygons", "Strips" } |
Definition at line 50 of file vtkHDFUtilities.h.
|
constexpr |
Definition at line 56 of file vtkHDFUtilities.h.