VTK  9.2.5
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 
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:
87 
97 
99 
110  vtkCompositeDataSet* compositeData, vtkXMLDataElement* parent, int& currentFileIndex) override;
111 
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
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:108
Represents an XML element and those nested inside.
writer for vtkMultiBlockDataSet.
parallel writer for vtkHierarchicalBoxDataSet.
static vtkXMLPMultiBlockDataWriter * New()
~vtkXMLPMultiBlockDataWriter() override
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 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
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
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:69