VTK
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);
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  virtual void SetWriteMetaFile(int flag);
79 
80  // See the vtkAlgorithm for a desciption of what these do
84 
85 protected:
88 
98 
100 
110  virtual int WriteComposite(vtkCompositeDataSet* compositeData,
111  vtkXMLDataElement* parent, int &currentFileIndex);
112 
125  vtkDataObject* dObj, vtkXMLDataElement* parentXML,
126  int currentFileIndex);
127 
134  int currentFileIndex, int procId, int dataSetType);
135 
140  virtual void RemoveWrittenFiles(const char* subDirectory);
141 
143 
149 
150 private:
151  vtkXMLPMultiBlockDataWriter(const vtkXMLPMultiBlockDataWriter&) VTK_DELETE_FUNCTION;
152  void operator=(const vtkXMLPMultiBlockDataWriter&) VTK_DELETE_FUNCTION;
153 
154  class vtkInternal;
155  vtkInternal* Internal;
156 
157 };
158 
159 #endif
vtkXMLPMultiBlockDataWriter::~vtkXMLPMultiBlockDataWriter
~vtkXMLPMultiBlockDataWriter()
vtkXMLPMultiBlockDataWriter::StartPiece
int StartPiece
Piece information.
Definition: vtkXMLPMultiBlockDataWriter.h:146
vtkXMLPMultiBlockDataWriter::FillDataTypes
virtual void FillDataTypes(vtkCompositeDataSet *)
Determine the data types for each of the leaf nodes.
vtkXMLPMultiBlockDataWriter::WriteComposite
virtual int WriteComposite(vtkCompositeDataSet *compositeData, vtkXMLDataElement *parent, int &currentFileIndex)
Internal method called recursively to create the xml tree for the children of compositeData as well a...
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
vtkXMLPMultiBlockDataWriter::Controller
vtkMultiProcessController * Controller
Definition: vtkXMLPMultiBlockDataWriter.h:99
vtkXMLPMultiBlockDataWriter::New
static vtkXMLPMultiBlockDataWriter * New()
vtkXMLPMultiBlockDataWriter::SetWriteMetaFile
virtual void SetWriteMetaFile(int flag)
Set whether this instance will write the meta-file.
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:52
vtkXMLPMultiBlockDataWriter::ProcessRequest
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:83
vtkXMLPMultiBlockDataWriter::vtkXMLPMultiBlockDataWriter
vtkXMLPMultiBlockDataWriter()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
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...
vtkXMLCompositeDataWriter::Internal
vtkXMLCompositeDataWriterInternals * Internal
Definition: vtkXMLCompositeDataWriter.h:153
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:37
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkXMLMultiBlockDataWriter.h
vtkXMLPMultiBlockDataWriter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkXMLMultiBlockDataWriter
writer for vtkMultiBlockDataSet.
Definition: vtkXMLMultiBlockDataWriter.h:33
vtkXMLPMultiBlockDataWriter::SetController
virtual void SetController(vtkMultiProcessController *)
Controller used to communicate data type of blocks.
vtkXMLPMultiBlockDataWriter::RemoveWrittenFiles
virtual void RemoveWrittenFiles(const char *subDirectory)
Utility function to remove any already written files in case writer failed.
vtkXMLPMultiBlockDataWriter::NumberOfPieces
int NumberOfPieces
Definition: vtkXMLPMultiBlockDataWriter.h:147
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
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:39