VTK  9.0.1
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 =========================================================================*/
26 #ifndef vtkXMLPMultiBlockDataWriter_h
27 #define vtkXMLPMultiBlockDataWriter_h
28 
29 #include "vtkIOParallelXMLModule.h" // For export macro
31 
34 
35 class VTKIOPARALLELXML_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBlockDataWriter
36 {
37 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
43 
46  vtkSetMacro(NumberOfPieces, int);
47  vtkGetMacro(NumberOfPieces, int);
49 
51 
54  vtkSetMacro(StartPiece, int);
55  vtkGetMacro(StartPiece, int);
57 
59 
67  vtkGetObjectMacro(Controller, vtkMultiProcessController);
69 
75  void SetWriteMetaFile(int flag) override;
76 
77  // See the vtkAlgorithm for a description of what these do
80 
81 protected:
84 
94 
96 
107  vtkCompositeDataSet* compositeData, vtkXMLDataElement* parent, int& currentFileIndex) override;
108 
121  vtkDataObject* dObj, vtkXMLDataElement* parentXML, int currentFileIndex);
122 
128  virtual vtkStdString CreatePieceFileName(int currentFileIndex, int procId, int dataSetType);
129 
134  void RemoveWrittenFiles(const char* subDirectory) override;
135 
137 
143 
144 private:
146  void operator=(const vtkXMLPMultiBlockDataWriter&) = delete;
147 
148  class vtkInternal;
149  vtkInternal* XMLPMultiBlockDataWriterInternal;
150 };
151 
152 #endif
vtkXMLPMultiBlockDataWriter::WriteComposite
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...
vtkXMLPMultiBlockDataWriter::~vtkXMLPMultiBlockDataWriter
~vtkXMLPMultiBlockDataWriter() override
vtkXMLPMultiBlockDataWriter::StartPiece
int StartPiece
Piece information.
Definition: vtkXMLPMultiBlockDataWriter.h:140
vtkXMLPMultiBlockDataWriter::ProcessRequest
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkXMLPMultiBlockDataWriter::Controller
vtkMultiProcessController * Controller
Definition: vtkXMLPMultiBlockDataWriter.h:95
vtkXMLPMultiBlockDataWriter::New
static vtkXMLPMultiBlockDataWriter * New()
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:46
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:76
vtkXMLPMultiBlockDataWriter::vtkXMLPMultiBlockDataWriter
vtkXMLPMultiBlockDataWriter()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkXMLPMultiBlockDataWriter::CreatePieceFileName
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...
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:37
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:65
vtkXMLMultiBlockDataWriter.h
vtkXMLMultiBlockDataWriter
writer for vtkMultiBlockDataSet.
Definition: vtkXMLMultiBlockDataWriter.h:30
vtkXMLPMultiBlockDataWriter::SetController
virtual void SetController(vtkMultiProcessController *)
Controller used to communicate data type of blocks.
vtkXMLPMultiBlockDataWriter::RemoveWrittenFiles
void RemoveWrittenFiles(const char *subDirectory) override
Utility function to remove any already written files in case writer failed.
vtkXMLPMultiBlockDataWriter::FillDataTypes
void FillDataTypes(vtkCompositeDataSet *) override
Determine the data types for each of the leaf nodes.
vtkXMLPMultiBlockDataWriter::SetWriteMetaFile
void SetWriteMetaFile(int flag) override
Set whether this instance will write the meta-file.
vtkXMLPMultiBlockDataWriter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkXMLPMultiBlockDataWriter::NumberOfPieces
int NumberOfPieces
Definition: vtkXMLPMultiBlockDataWriter.h:141
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:35
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:60
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkXMLPMultiBlockDataWriter::ParallelWriteNonCompositeData
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...
vtkXMLPMultiBlockDataWriter
parallel writer for vtkHierarchicalBoxDataSet.
Definition: vtkXMLPMultiBlockDataWriter.h:36