VTK  9.2.6
vtkXMLPMultiBlockDataWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLPMultiBlockDataWriter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef vtkXMLPMultiBlockDataWriter_h
30 #define vtkXMLPMultiBlockDataWriter_h
31 
32 #include "vtkIOParallelXMLModule.h" // For export macro
34 
37 
38 class VTKIOPARALLELXML_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBlockDataWriter
39 {
40 public:
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
46 
49  vtkSetMacro(NumberOfPieces, int);
50  vtkGetMacro(NumberOfPieces, int);
52 
54 
57  vtkSetMacro(StartPiece, int);
58  vtkGetMacro(StartPiece, int);
60 
62 
69  virtual void SetController(vtkMultiProcessController*);
70  vtkGetObjectMacro(Controller, vtkMultiProcessController);
72 
78  void SetWriteMetaFile(int flag) override;
79 
80  // See the vtkAlgorithm for a description of what these do
83 
84 protected:
86  ~vtkXMLPMultiBlockDataWriter() override;
87 
96  void FillDataTypes(vtkCompositeDataSet*) override;
97 
99 
109  int WriteComposite(
110  vtkCompositeDataSet* compositeData, vtkXMLDataElement* parent, int& currentFileIndex) override;
111 
123  int ParallelWriteNonCompositeData(
124  vtkDataObject* dObj, vtkXMLDataElement* parentXML, int currentFileIndex);
125 
131  virtual vtkStdString CreatePieceFileName(int currentFileIndex, int procId, int dataSetType);
132 
137  void RemoveWrittenFiles(const char* subDirectory) override;
138 
140 
146 
147 private:
149  void operator=(const vtkXMLPMultiBlockDataWriter&) = delete;
150 
151  class vtkInternal;
152  vtkInternal* XMLPMultiBlockDataWriterInternal;
153 };
154 
155 #endif
vtkMultiProcessController * Controller
parallel writer for vtkHierarchicalBoxDataSet.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:38
writer for vtkMultiBlockDataSet.
Represents an XML element and those nested inside.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
See the vtkAlgorithm for a description of what these do.
Store vtkAlgorithm input/output information.
virtual void RemoveWrittenFiles(const char *SubDirectory)
Utility function to remove any already written files in case writer failed.
virtual void FillDataTypes(vtkCompositeDataSet *)
Determine the data types for each of the leaf nodes.
static vtkXMLMultiBlockDataWriter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int vtkTypeBool
Definition: vtkABI.h:69
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkStdString CreatePieceFileName(int Piece)
Create a filename for the given index.
virtual void SetWriteMetaFile(int flag)
Get/Set whether this instance will write the meta-file.
Store zero or more vtkInformation instances.
int WriteComposite(vtkCompositeDataSet *compositeData, vtkXMLDataElement *parent, int &writerIdx) override
Internal method called recursively to create the xml tree for the children of compositeData as well a...
general representation of visualization data
Definition: vtkDataObject.h:65
Multiprocessing communication superclass.