VTK  9.4.20250201
vtkXMLPMultiBlockDataWriter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
16#ifndef vtkXMLPMultiBlockDataWriter_h
17#define vtkXMLPMultiBlockDataWriter_h
18
19#include "vtkIOParallelXMLModule.h" // For export macro
21
22VTK_ABI_NAMESPACE_BEGIN
25
26class VTKIOPARALLELXML_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBlockDataWriter
27{
28public:
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
34
37 vtkSetMacro(NumberOfPieces, int);
38 vtkGetMacro(NumberOfPieces, int);
40
42
45 vtkSetMacro(StartPiece, int);
46 vtkGetMacro(StartPiece, int);
48
50
58 vtkGetObjectMacro(Controller, vtkMultiProcessController);
60
66 void SetWriteMetaFile(int flag) override;
67
68 // See the vtkAlgorithm for a description of what these do
71
72protected:
75
85
87
98 vtkCompositeDataSet* compositeData, vtkXMLDataElement* parent, int& currentFileIndex) override;
99
112 vtkDataObject* dObj, vtkXMLDataElement* parentXML, int currentFileIndex);
113
119 virtual vtkStdString CreatePieceFileName(int currentFileIndex, int procId, int dataSetType);
120
125 void MakeDirectory(const char* name) override;
126
131 void RemoveWrittenFiles(const char* subDirectory) override;
132
134
140
141private:
143 void operator=(const vtkXMLPMultiBlockDataWriter&) = delete;
144
145 class vtkInternal;
146 vtkInternal* XMLPMultiBlockDataWriterInternal;
147};
148
149VTK_ABI_NAMESPACE_END
150#endif
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
Wrapper around std::string to keep symbols short.
Represents an XML element and those nested inside.
writer for vtkMultiBlockDataSet.
parallel writer for vtkMultiBlockDataSet.
~vtkXMLPMultiBlockDataWriter() override
static vtkXMLPMultiBlockDataWriter * New()
void RemoveWrittenFiles(const char *subDirectory) override
Utility function to remove any already written files in case writer failed.
vtkMultiProcessController * Controller
int WriteComposite(vtkCompositeDataSet *compositeData, vtkXMLDataElement *parent, int &currentFileIndex) override
Internal method called recursively to create the xml tree for the children of compositeData as well a...
virtual void SetController(vtkMultiProcessController *)
Controller used to communicate data type of blocks.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkStdString CreatePieceFileName(int currentFileIndex, int procId, int dataSetType)
Return the name of the file given the currentFileIndex (also the current globally numbered piece inde...
void MakeDirectory(const char *name) override
Make a directory.
void SetWriteMetaFile(int flag) override
Set whether this instance will write the meta-file.
void FillDataTypes(vtkCompositeDataSet *) override
Determine the data types for each of the leaf nodes.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
See the vtkAlgorithm for a description of what these do.
int ParallelWriteNonCompositeData(vtkDataObject *dObj, vtkXMLDataElement *parentXML, int currentFileIndex)
Internal method to write a non vtkCompositeDataSet subclass as well as add in the file name to the me...
int vtkTypeBool
Definition vtkABI.h:64