39#include "vtkIOHDFModule.h"
45VTK_ABI_NAMESPACE_BEGIN
67class VTKIOHDF_EXPORT vtkHDFWriter :
public vtkWriter
71 vtkHDFWriter(
const vtkHDFWriter&) =
delete;
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);
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);
261 bool UpdateStepsGroup(
hid_t group,
vtkPolyData* input,
unsigned int partId);
271 bool InitializeTemporalRectilinearGrid(
hid_t group);
272 bool InitializeTemporalStructuredGrid(
hid_t group);
273 bool InitializeTemporalPolyData(
hid_t group);
274 bool InitializeTemporalUnstructuredGrid(
hid_t group);
275 bool InitializeTemporalPolyhedra(
hid_t group);
276 bool InitializeTemporalHTG(
hid_t group);
304 bool AppendPoints(
hid_t group,
vtkPointSet* input,
const int* dims =
nullptr);
394 bool AppendDataSetAttributes(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0,
395 vtkIdList* cellIdMap =
nullptr,
const int* dims =
nullptr);
396 bool AppendFieldDataArrays(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0);
413 bool AppendExternalBlock(
vtkDataObject* block,
const std::string& blockName);
434 const std::string& uniqueSubTreeName);
442 bool AppendCompositeSubfilesDataObject(
const std::string& uniqueSubTreeName);
449 const std::string& offsetsGroupName,
unsigned int partId,
bool isStructured =
false);
451 const std::string& arrayName,
const std::string& offsetsGroupName,
unsigned int partId);
457 bool AppendTimeValues(
hid_t group);
462 bool HasGeometryChangedFromPreviousStep(
vtkDataSet* input);
470 std::unique_ptr<Implementation> Impl;
473 char* FileName =
nullptr;
474 bool Overwrite =
true;
475 bool WriteAllTimeSteps =
true;
476 bool UseExternalComposite =
false;
477 bool UseExternalTimeSteps =
false;
478 bool UseExternalPartitions =
false;
479 int ChunkSize = 25000;
480 int CompressionLevel = 0;
483 std::vector<double> timeSteps;
484 bool IsTemporal =
false;
485 int CurrentTimeIndex = 0;
486 int NumberOfTimeSteps = 1;
488 std::map<vtkIdType, vtkMTimeType> CompositeMeshMTime;
493 int CurrentPiece = 0;
494 bool UsesDummyController =
false;
495 std::vector<vtkIdType> PointOffsets;
496 std::vector<vtkIdType> CellOffsets;
497 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
Fill the input port information objects for this algorithm.
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
virtual bool WriteDataAndReturn()
vtkTypeUInt32 vtkMTimeType