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
38class VTKIOPARALLELXML_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBlockDataWriter
39{
40public:
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
85protected:
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
150private:
152 void operator=(const vtkXMLPMultiBlockDataWriter&) VTK_DELETE_FUNCTION;
153
154 class vtkInternal;
155 vtkInternal* Internal;
156
157};
158
159#endif
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
Definition: vtkDataObject.h:65
a simple class to control print indentation
Definition: vtkIndent.h:40
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:49
vtkXMLCompositeDataWriterInternals * Internal
Represents an XML element and those nested inside.
writer for vtkMultiBlockDataSet.
parallel writer for vtkHierarchicalBoxDataSet.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
virtual void RemoveWrittenFiles(const char *subDirectory)
Utility function to remove any already written files in case writer failed.
static vtkXMLPMultiBlockDataWriter * New()
vtkMultiProcessController * Controller
virtual void SetWriteMetaFile(int flag)
Set whether this instance will write the meta-file.
virtual void FillDataTypes(vtkCompositeDataSet *)
Determine the data types for each of the leaf nodes.
virtual void SetController(vtkMultiProcessController *)
Controller used to communicate data type of blocks.
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...
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...
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...
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.