vtkCSVWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkCSVWriter.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
21 #ifndef vtkCSVWriter_h
22 #define vtkCSVWriter_h
23 
24 #include "vtkDataObject.h" // for vtkDataObject::FieldAssociations
25 #include "vtkPVVTKExtensionsIOCoreModule.h" //needed for exports
26 #include "vtkWriter.h"
27 
28 #include <string>
29 
31 class vtkTable;
32 
34 {
35 public:
36  static vtkCSVWriter* New();
37  vtkTypeMacro(vtkCSVWriter, vtkWriter);
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
41 
45  void SetController(vtkMultiProcessController*);
46  vtkGetObjectMacro(Controller, vtkMultiProcessController);
48 
50 
53  vtkSetStringMacro(FieldDelimiter);
54  vtkGetStringMacro(FieldDelimiter);
56 
58 
62  vtkSetStringMacro(StringDelimiter);
63  vtkGetStringMacro(StringDelimiter);
65 
67 
70  vtkSetStringMacro(FileName);
71  vtkGetStringMacro(FileName);
73 
75 
79  vtkSetMacro(UseStringDelimiter, bool);
80  vtkGetMacro(UseStringDelimiter, bool);
82 
84 
88  vtkSetClampMacro(Precision, int, 0, VTK_INT_MAX);
89  vtkGetMacro(Precision, int);
91 
93 
96  vtkSetMacro(UseScientificNotation, bool);
97  vtkGetMacro(UseScientificNotation, bool);
98  vtkBooleanMacro(UseScientificNotation, bool);
100 
102 
108  vtkSetClampMacro(FieldAssociation, int, 0, vtkDataObject::NUMBER_OF_ASSOCIATIONS - 1);
109  vtkGetMacro(FieldAssociation, int);
111 
113 
119  vtkSetMacro(AddMetaData, bool);
120  vtkGetMacro(AddMetaData, bool);
121  vtkBooleanMacro(AddMetaData, bool);
123 
125 
129  vtkSetMacro(AddTime, bool);
130  vtkGetMacro(AddTime, bool);
131  vtkBooleanMacro(AddTime, bool);
133 
135 
139  std::string GetString(std::string string);
141 
142 protected:
143  vtkCSVWriter();
144  ~vtkCSVWriter() override;
145 
146  void WriteData() override;
147 
148  // see algorithm for more info.
149  // This writer takes in vtkTable, vtkDataSet or vtkCompositeDataSet.
150  int FillInputPortInformation(int port, vtkInformation* info) override;
151 
152  // see algorithm for more info. needed here so we can request pieces.
153  int ProcessRequest(vtkInformation* request, vtkInformationVector** inputVector,
154  vtkInformationVector* outputVector) override;
155 
156  char* FileName;
164  bool AddTime;
165 
167 
168 private:
169  vtkCSVWriter(const vtkCSVWriter&) = delete;
170  void operator=(const vtkCSVWriter&) = delete;
171 
172  class CSVFile;
173 };
174 
175 #endif
#define VTKPVVTKEXTENSIONSIOCORE_EXPORT
vtkMultiProcessController * Controller
Definition: vtkCSVWriter.h:166
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int FillInputPortInformation(int port, vtkInformation *info)
int FieldAssociation
Definition: vtkCSVWriter.h:162
char * StringDelimiter
Definition: vtkCSVWriter.h:158
bool UseStringDelimiter
Definition: vtkCSVWriter.h:159
char * FieldDelimiter
Definition: vtkCSVWriter.h:157
static vtkAlgorithm * New()
virtual void WriteData()=0
CSV writer for vtkTable Writes a vtkTable as a delimited text file (such as CSV). ...
Definition: vtkCSVWriter.h:33
char * FileName
Definition: vtkCSVWriter.h:156
bool UseScientificNotation
Definition: vtkCSVWriter.h:161
void operator=(const vtkObjectBase &)
void PrintSelf(ostream &os, vtkIndent indent)