62class VTKIOHDF_EXPORT vtkHDFWriter :
public vtkWriter
66 vtkHDFWriter(
const vtkHDFWriter&) =
delete;
67 void operator=(
const vtkHDFWriter&) =
delete;
70 static vtkHDFWriter*
New();
95 vtkSetMacro(Overwrite,
bool);
96 vtkGetMacro(Overwrite,
bool);
105 vtkSetMacro(WriteAllTimeSteps,
bool);
106 vtkGetMacro(WriteAllTimeSteps,
bool);
122 vtkSetMacro(ChunkSize,
int);
123 vtkGetMacro(ChunkSize,
int);
139 vtkSetClampMacro(CompressionLevel,
int, 0, 9);
140 vtkGetMacro(CompressionLevel,
int);
151 vtkSetMacro(UseExternalComposite,
bool);
152 vtkGetMacro(UseExternalComposite,
bool);
170 vtkSetMacro(UseExternalTimeSteps,
bool);
171 vtkGetMacro(UseExternalTimeSteps,
bool);
184 vtkSetMacro(UseExternalPartitions,
bool);
185 vtkGetMacro(UseExternalPartitions,
bool);
236 bool WriteDatasetToFile(
hid_t group,
vtkPolyData* input,
unsigned int partId = 0);
248 bool UpdateStepsGroup(
hid_t group,
vtkPolyData* input,
unsigned int partId);
256 bool InitializeTemporalPolyData(
hid_t group);
257 bool InitializeTemporalUnstructuredGrid(
hid_t group);
258 bool InitializeTemporalPolyhedra(
hid_t group);
269 bool InitializePrimitiveDataset(
hid_t group);
270 bool InitializePolyhedraDatasets(
hid_t group);
369 bool AppendDataSetAttributes(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0);
370 bool AppendFieldDataArrays(
hid_t group,
vtkDataObject* input,
unsigned int partId = 0);
387 bool AppendExternalBlock(
vtkDataObject* block,
const std::string& blockName);
408 const std::string& uniqueSubTreeName);
416 bool AppendCompositeSubfilesDataObject(
const std::string& uniqueSubTreeName);
423 const std::string& offsetsGroupName,
unsigned int partId);
425 const std::string& arrayName,
const std::string& offsetsGroupName,
unsigned int partId);
431 bool AppendTimeValues(
hid_t group);
436 bool HasGeometryChangedFromPreviousStep(
vtkDataSet* input);
444 std::unique_ptr<Implementation> Impl;
447 char* FileName =
nullptr;
448 bool Overwrite =
true;
449 bool WriteAllTimeSteps =
true;
450 bool UseExternalComposite =
false;
451 bool UseExternalTimeSteps =
false;
452 bool UseExternalPartitions =
false;
453 int ChunkSize = 25000;
454 int CompressionLevel = 0;
457 std::vector<double> timeSteps;
458 bool IsTemporal =
false;
459 int CurrentTimeIndex = 0;
460 int NumberOfTimeSteps = 1;
462 std::map<vtkIdType, vtkMTimeType> CompositeMeshMTime;
467 int CurrentPiece = 0;
468 bool UsesDummyController =
false;
469 std::vector<vtkIdType> PointOffsets;
470 std::vector<vtkIdType> CellOffsets;
471 std::vector<vtkIdType> ConnectivityIdOffsets;
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Override vtkWriter's ProcessRequest method, in order to dispatch the request not only to RequestData ...