VTK  9.4.20241108
Public Member Functions | List of all members
vtkHDFReader::Implementation Class Reference

Implementation for the vtkHDFReader. More...

#include <vtkHDFReaderImplementation.h>

Public Member Functions

 Implementation (vtkHDFReader *reader)
 
virtual ~Implementation ()
 
bool Open (VTK_FILEPATH const char *fileName)
 Opens this VTK HDF file and checks if it is valid.
 
void Close ()
 Closes the VTK HDF file and releases any allocated resources.
 
int GetDataSetType ()
 Type of vtkDataSet stored by the HDF file, such as VTK_IMAGE_DATA or VTK_UNSTRUCTURED_GRID, from vtkTypes.h.
 
const std::array< int, 2 > & GetVersion ()
 Returns the version of the VTK HDF implementation.
 
template<typename T >
bool GetAttribute (const char *attributeName, size_t numberOfElements, T *value)
 Reads an attribute from the /VTKHDF group.
 
int GetNumberOfPieces (vtkIdType step=-1)
 Returns the number of partitions for this dataset at the time step step if applicable.
 
bool GetPartitionExtent (hsize_t partitionIndex, int *extent)
 For an ImageData, sets the extent for 'partitionIndex'.
 
std::vector< std::string > GetArrayNames (int attributeType)
 Returns the names of arrays for 'attributeType' (point or cell).
 
std::vector< std::string > GetOrderedChildrenOfGroup (const std::string &path)
 Return the name of all children of an HDF group given its path.
 
std::vector< hsize_t > GetDimensions (const char *dataset)
 Returns the dimensions of a HDF dataset.
 
bool IsPathSoftLink (const std::string &path)
 Return true if current root path is a soft link.
 
std::size_t GetNumberOfSteps ()
 Read the number of steps from the opened file.
 
vtkIdType GetArrayOffset (vtkIdType step, int attributeType, std::string name)
 Methods to query for array offsets when steps are present.
 
std::array< vtkIdType, 2 > GetFieldArraySize (vtkIdType step, std::string name)
 Return the field array size (components, tuples) for the current step.
 
bool OpenGroupAsVTKGroup (const std::string &groupPath)
 Open a sub group of the current file and consider it as the new root file.
 
bool RetrieveHDFInformation (const std::string &rootName)
 Initialize meta information of the implementation based on root name specified.
 
vtkDataArrayNewArray (int attributeType, const char *name, const std::vector< hsize_t > &fileExtent)
 Reads and returns a new vtkDataArray.
 
vtkDataArrayNewArray (int attributeType, const char *name, hsize_t offset, hsize_t size)
 Reads and returns a new vtkDataArray.
 
vtkAbstractArrayNewFieldArray (const char *name, vtkIdType offset=-1, vtkIdType size=-1, vtkIdType dimMaxSize=-1)
 Reads and returns a new vtkDataArray.
 
vtkDataArrayNewMetadataArray (const char *name, hsize_t offset, hsize_t size)
 Reads a 1D metadata array in a DataArray or a vector of vtkIdType.
 
std::vector< vtkIdTypeGetMetadata (const char *name, hsize_t size, hsize_t offset=0)
 Reads a 1D metadata array in a DataArray or a vector of vtkIdType.
 
bool FillAssembly (vtkDataAssembly *data)
 Fills the given Assembly with the content of the opened HDF file.
 
bool FillAssembly (vtkDataAssembly *data, hid_t assemblyHandle, int assemblyID, std::string path)
 Fills the given Assembly with the content of the opened HDF file.
 
vtkDataArrayGetStepValues ()
 Read the values of the steps from the open file.
 
vtkDataArrayGetStepValues (hid_t group)
 Read the values of the steps from the open file.
 
bool ComputeAMRBlocksPerLevels (unsigned int maxLevel)
 Specific public API for AMR supports.
 
bool ComputeAMROffsetsPerLevels (vtkDataArraySelection *dataArraySelection[3], vtkIdType step, unsigned int maxLevel)
 Retrieve offset for AMRBox, point/cell/field arrays for each level.
 
bool ReadAMRTopology (vtkOverlappingAMR *data, unsigned int level, unsigned int maxLevel, double origin[3], bool isTemporalData)
 Read the AMR topology based on offset data on AMRBlocks.
 
bool ReadAMRData (vtkOverlappingAMR *data, unsigned int level, unsigned int maxLevel, vtkDataArraySelection *dataArraySelection[3], bool isTemporalData)
 Read the AMR data based on offset on point/cell/field datas.
 

Detailed Description

Implementation for the vtkHDFReader.

Opens, closes and reads information from a VTK HDF file.

Definition at line 29 of file vtkHDFReaderImplementation.h.

Constructor & Destructor Documentation

◆ Implementation()

vtkHDFReader::Implementation::Implementation ( vtkHDFReader reader)

◆ ~Implementation()

virtual vtkHDFReader::Implementation::~Implementation ( )
virtual

Member Function Documentation

◆ Open()

bool vtkHDFReader::Implementation::Open ( VTK_FILEPATH const char *  fileName)

Opens this VTK HDF file and checks if it is valid.

◆ Close()

void vtkHDFReader::Implementation::Close ( )

Closes the VTK HDF file and releases any allocated resources.

◆ GetDataSetType()

int vtkHDFReader::Implementation::GetDataSetType ( )
inline

Type of vtkDataSet stored by the HDF file, such as VTK_IMAGE_DATA or VTK_UNSTRUCTURED_GRID, from vtkTypes.h.

Definition at line 46 of file vtkHDFReaderImplementation.h.

◆ GetVersion()

const std::array< int, 2 > & vtkHDFReader::Implementation::GetVersion ( )
inline

Returns the version of the VTK HDF implementation.

Definition at line 50 of file vtkHDFReaderImplementation.h.

◆ GetAttribute()

template<typename T >
bool vtkHDFReader::Implementation::GetAttribute ( const char *  attributeName,
size_t  numberOfElements,
T *  value 
)

Reads an attribute from the /VTKHDF group.

◆ GetNumberOfPieces()

int vtkHDFReader::Implementation::GetNumberOfPieces ( vtkIdType  step = -1)

Returns the number of partitions for this dataset at the time step step if applicable.

◆ GetPartitionExtent()

bool vtkHDFReader::Implementation::GetPartitionExtent ( hsize_t  partitionIndex,
int *  extent 
)

For an ImageData, sets the extent for 'partitionIndex'.

Returns true for success and false otherwise.

◆ GetArrayNames()

std::vector< std::string > vtkHDFReader::Implementation::GetArrayNames ( int  attributeType)

Returns the names of arrays for 'attributeType' (point or cell).

◆ GetOrderedChildrenOfGroup()

std::vector< std::string > vtkHDFReader::Implementation::GetOrderedChildrenOfGroup ( const std::string &  path)

Return the name of all children of an HDF group given its path.

◆ NewArray() [1/2]

vtkDataArray * vtkHDFReader::Implementation::NewArray ( int  attributeType,
const char *  name,
const std::vector< hsize_t > &  fileExtent 
)

Reads and returns a new vtkDataArray.

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. There are two versions: a first one that reads from a 3D array using a fileExtent, and a second one that reads from a linear array using an offset and size. The array has to be deleted by the user.

◆ NewArray() [2/2]

vtkDataArray * vtkHDFReader::Implementation::NewArray ( int  attributeType,
const char *  name,
hsize_t  offset,
hsize_t  size 
)

Reads and returns a new vtkDataArray.

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. There are two versions: a first one that reads from a 3D array using a fileExtent, and a second one that reads from a linear array using an offset and size. The array has to be deleted by the user.

◆ NewFieldArray()

vtkAbstractArray * vtkHDFReader::Implementation::NewFieldArray ( const char *  name,
vtkIdType  offset = -1,
vtkIdType  size = -1,
vtkIdType  dimMaxSize = -1 
)

Reads and returns a new vtkDataArray.

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. There are two versions: a first one that reads from a 3D array using a fileExtent, and a second one that reads from a linear array using an offset and size. The array has to be deleted by the user.

◆ NewMetadataArray()

vtkDataArray * vtkHDFReader::Implementation::NewMetadataArray ( const char *  name,
hsize_t  offset,
hsize_t  size 
)

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.

◆ GetMetadata()

std::vector< vtkIdType > vtkHDFReader::Implementation::GetMetadata ( const char *  name,
hsize_t  size,
hsize_t  offset = 0 
)

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.

◆ GetDimensions()

std::vector< hsize_t > vtkHDFReader::Implementation::GetDimensions ( const char *  dataset)

Returns the dimensions of a HDF dataset.

◆ IsPathSoftLink()

bool vtkHDFReader::Implementation::IsPathSoftLink ( const std::string &  path)

Return true if current root path is a soft link.

◆ FillAssembly() [1/2]

bool vtkHDFReader::Implementation::FillAssembly ( vtkDataAssembly data)

Fills the given Assembly with the content of the opened HDF file.

Return true on success, false if the HDF File isn't a composite or the 'Assembly' is missing.

◆ FillAssembly() [2/2]

bool vtkHDFReader::Implementation::FillAssembly ( vtkDataAssembly data,
hid_t  assemblyHandle,
int  assemblyID,
std::string  path 
)

Fills the given Assembly with the content of the opened HDF file.

Return true on success, false if the HDF File isn't a composite or the 'Assembly' is missing.

◆ GetNumberOfSteps()

std::size_t vtkHDFReader::Implementation::GetNumberOfSteps ( )

Read the number of steps from the opened file.

◆ GetStepValues() [1/2]

vtkDataArray * vtkHDFReader::Implementation::GetStepValues ( )

Read the values of the steps from the open file.

◆ GetStepValues() [2/2]

vtkDataArray * vtkHDFReader::Implementation::GetStepValues ( hid_t  group)

Read the values of the steps from the open file.

◆ GetArrayOffset()

vtkIdType vtkHDFReader::Implementation::GetArrayOffset ( vtkIdType  step,
int  attributeType,
std::string  name 
)

Methods to query for array offsets when steps are present.

◆ GetFieldArraySize()

std::array< vtkIdType, 2 > vtkHDFReader::Implementation::GetFieldArraySize ( vtkIdType  step,
std::string  name 
)

Return the field array size (components, tuples) for the current step.

By default it returns {-1,1} which means to have as many components as necessary and one tuple per step.

◆ OpenGroupAsVTKGroup()

bool vtkHDFReader::Implementation::OpenGroupAsVTKGroup ( const std::string &  groupPath)

Open a sub group of the current file and consider it as the new root file.

◆ RetrieveHDFInformation()

bool vtkHDFReader::Implementation::RetrieveHDFInformation ( const std::string &  rootName)

Initialize meta information of the implementation based on root name specified.

◆ ComputeAMRBlocksPerLevels()

bool vtkHDFReader::Implementation::ComputeAMRBlocksPerLevels ( unsigned int  maxLevel)

Specific public API for AMR supports.

Retrieve for each required level AMRBlocks size and position.

◆ ComputeAMROffsetsPerLevels()

bool vtkHDFReader::Implementation::ComputeAMROffsetsPerLevels ( vtkDataArraySelection dataArraySelection[3],
vtkIdType  step,
unsigned int  maxLevel 
)

Retrieve offset for AMRBox, point/cell/field arrays for each level.

◆ ReadAMRTopology()

bool vtkHDFReader::Implementation::ReadAMRTopology ( vtkOverlappingAMR data,
unsigned int  level,
unsigned int  maxLevel,
double  origin[3],
bool  isTemporalData 
)

Read the AMR topology based on offset data on AMRBlocks.

◆ ReadAMRData()

bool vtkHDFReader::Implementation::ReadAMRData ( vtkOverlappingAMR data,
unsigned int  level,
unsigned int  maxLevel,
vtkDataArraySelection dataArraySelection[3],
bool  isTemporalData 
)

Read the AMR data based on offset on point/cell/field datas.


The documentation for this class was generated from the following file: