VTK  9.2.6
vtkPDataSetWriter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkPDataSetWriter.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 vtkPDataSetWriter_h
27#define vtkPDataSetWriter_h
28
29#include "vtkDataSetWriter.h"
30#include "vtkIOParallelModule.h" // For export macro
31
32#include <map> // for keeping track of extents
33#include <vector> // for keeping track of extents
34
35class vtkImageData;
39
40class VTKIOPARALLEL_EXPORT vtkPDataSetWriter : public vtkDataSetWriter
41{
42public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
46
50 int Write() override;
51
53
56 void SetNumberOfPieces(int num);
57 vtkGetMacro(NumberOfPieces, int);
59
61
65 vtkSetMacro(GhostLevel, int);
66 vtkGetMacro(GhostLevel, int);
68
70
76 vtkSetMacro(StartPiece, int);
77 vtkGetMacro(StartPiece, int);
78 vtkSetMacro(EndPiece, int);
79 vtkGetMacro(EndPiece, int);
81
83
87 vtkSetFilePathMacro(FilePattern);
88 vtkGetFilePathMacro(FilePattern);
90
92
98 vtkSetMacro(UseRelativeFileNames, vtkTypeBool);
99 vtkGetMacro(UseRelativeFileNames, vtkTypeBool);
100 vtkBooleanMacro(UseRelativeFileNames, vtkTypeBool);
102
104
110 vtkGetObjectMacro(Controller, vtkMultiProcessController);
112
113protected:
116
117 ostream* OpenFile();
119 vtkDataSet* input, char* root, char* str, size_t strSize, ostream* fptr);
120 int WriteImageMetaData(vtkImageData* input, char* root, char* str, size_t strSize, ostream* fptr);
122 vtkRectilinearGrid* input, char* root, char* str, size_t strSize, ostream* fptr);
124 vtkStructuredGrid* input, char* root, char* str, size_t strSize, ostream* fptr);
125
130
132
134
136
137 typedef std::map<int, std::vector<int>> ExtentsType;
139
141
142private:
143 vtkPDataSetWriter(const vtkPDataSetWriter&) = delete;
144 void operator=(const vtkPDataSetWriter&) = delete;
145};
146
147#endif
write any type of vtk dataset to file
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
topologically and geometrically regular array of data
Definition: vtkImageData.h:54
a simple class to control print indentation
Definition: vtkIndent.h:40
Multiprocessing communication superclass.
Manages writing pieces of a data set.
ostream * OpenFile()
vtkGetFilePathMacro(FilePattern)
This file pattern uses the file name and piece number to construct a file name for the piece file.
int WriteImageMetaData(vtkImageData *input, char *root, char *str, size_t strSize, ostream *fptr)
int WriteUnstructuredMetaData(vtkDataSet *input, char *root, char *str, size_t strSize, ostream *fptr)
vtkTypeBool UseRelativeFileNames
int Write() override
Write the pvtk file and cooresponding vtk files.
vtkSetFilePathMacro(FilePattern)
This file pattern uses the file name and piece number to construct a file name for the piece file.
vtkMultiProcessController * Controller
void SetNumberOfPieces(int num)
This is how many pieces the whole data set will be divided into.
~vtkPDataSetWriter() override
int WriteRectilinearGridMetaData(vtkRectilinearGrid *input, char *root, char *str, size_t strSize, ostream *fptr)
virtual void SetController(vtkMultiProcessController *)
Controller used to communicate data type of blocks.
std::map< int, std::vector< int > > ExtentsType
static vtkPDataSetWriter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int WriteStructuredGridMetaData(vtkStructuredGrid *input, char *root, char *str, size_t strSize, ostream *fptr)
a dataset that is topologically regular with variable spacing in the three coordinate directions
topologically regular array of data
int vtkTypeBool
Definition: vtkABI.h:69