39#include "vtkIOHDFModule.h"
45VTK_ABI_NAMESPACE_BEGIN
67class VTKIOHDF_EXPORT vtkHDFWriter :
public vtkWriter
72 void operator=(
const vtkHDFWriter&) =
delete;
75 static vtkHDFWriter*
New();
100 vtkSetMacro(Overwrite,
bool);
101 vtkGetMacro(Overwrite,
bool);
110 vtkSetMacro(WriteAllTimeSteps,
bool);
111 vtkGetMacro(WriteAllTimeSteps,
bool);
127 vtkSetMacro(ChunkSize,
int);
128 vtkGetMacro(ChunkSize,
int);
144 vtkSetClampMacro(CompressionLevel,
int, 0, 9);
145 vtkGetMacro(CompressionLevel,
int);
156 vtkSetMacro(UseExternalComposite,
bool);
157 vtkGetMacro(UseExternalComposite,
bool);
175 vtkSetMacro(UseExternalTimeSteps,
bool);
176 vtkGetMacro(UseExternalTimeSteps,
bool);
189 vtkSetMacro(UseExternalPartitions,
bool);
190 vtkGetMacro(UseExternalPartitions,
bool);
221 bool WriteDataAndReturn()
override;
241 bool WriteDatasetToFile(
hid_t group,
vtkImageData* input,
unsigned int partId = 0);
244 bool WriteDatasetToFile(
hid_t group,
vtkPolyData* input,
unsigned int partId = 0);
246 bool WriteDatasetToFile(
hid_t group,
vtkTable* input,
unsigned int partId = 0);
260 bool UpdateStepsGroup(
hid_t group,
vtkPolyData* input,
unsigned int partId);
270 bool InitializeTemporalRectilinearGrid(
hid_t group);
271 bool InitializeTemporalStructuredGrid(
hid_t group);
272 bool InitializeTemporalPolyData(
hid_t group);
273 bool InitializeTemporalUnstructuredGrid(
hid_t group);
274 bool InitializeTemporalPolyhedra(
hid_t group);
275 bool InitializeTemporalHTG(
hid_t group);
287 bool InitializePrimitiveDataset(
hid_t group);
288 bool InitializePolyhedraDatasets(
hid_t group);
309 bool AppendPoints(
hid_t group,
vtkPointSet* input,
const int* dims =
nullptr);
399 bool AppendDataSetAttributes(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0,
400 vtkIdList* cellIdMap =
nullptr,
const int* dims =
nullptr);
401 bool AppendFieldDataArrays(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0);
418 bool AppendExternalBlock(
vtkDataObject* block,
const std::string& blockName);
439 const std::string& uniqueSubTreeName);
447 bool AppendCompositeSubfilesDataObject(
const std::string& uniqueSubTreeName);
454 const std::string& offsetsGroupName,
unsigned int partId,
bool isStructured =
false);
456 const std::string& arrayName,
const std::string& offsetsGroupName,
unsigned int partId);
462 bool AppendTimeValues(
hid_t group);
467 bool HasGeometryChangedFromPreviousStep(
vtkDataSet* input);
475 std::unique_ptr<Implementation> Impl;
478 char* FileName =
nullptr;
479 bool Overwrite =
true;
480 bool WriteAllTimeSteps =
true;
481 bool UseExternalComposite =
false;
482 bool UseExternalTimeSteps =
false;
483 bool UseExternalPartitions =
false;
484 int ChunkSize = 25000;
485 int CompressionLevel = 0;
488 std::vector<double> timeSteps;
489 bool IsTemporal =
false;
490 int CurrentTimeIndex = 0;
491 int NumberOfTimeSteps = 1;
493 std::map<vtkIdType, vtkMTimeType> CompositeMeshMTime;
498 int CurrentPiece = 0;
499 bool UsesDummyController =
false;
500 std::vector<vtkIdType> PointOffsets;
501 std::vector<vtkIdType> CellOffsets;
502 std::vector<vtkIdType> ConnectivityIdOffsets;
Abstract superclass for all arrays.
object to represent cell connectivity
superclass for composite data iterators
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
abstract class to specify dataset behavior
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Override vtkWriter's ProcessRequest method, in order to dispatch the request not only to RequestData ...
virtual int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetFilePathMacro(FileName)
Get/Set the file name of the vtkHDF file.
static vtkHDFWriter * New()
virtual void SetController(vtkMultiProcessController *)
Set and get the controller.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkGetFilePathMacro(FileName)
Get/Set the file name of the vtkHDF file.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int FillInputPortInformation(int port, vtkInformation *info) override
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
list of point or cell ids
topologically and geometrically regular array of data
a simple class to control print indentation
Composite dataset that organizes datasets into blocks.
Multiprocessing communication superclass.
Composite dataset that groups datasets as a collection.
composite dataset to encapsulates a dataset consisting of partitions.
concrete class for storing a set of points
represent and manipulate 3D points
concrete dataset represents vertices, lines, polygons, and triangle strips
a dataset that is topologically regular with variable spacing in the three coordinate directions
topologically regular array of data
A table, which contains similar-typed columns of data.
dataset represents arbitrary combinations of all possible cell types
vtkTypeUInt32 vtkMTimeType