vtkCSVExporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkCSVExporter.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 =========================================================================*/
39 #ifndef vtkCSVExporter_h
40 #define vtkCSVExporter_h
41 
42 #include "vtkObject.h"
43 #include "vtkPVVTKExtensionsFiltersRenderingModule.h" // needed for export macro
44 
45 #include <string> // needed for std::string
46 
47 class vtkAbstractArray;
48 class vtkDataArray;
49 class vtkFieldData;
50 
51 class VTKPVVTKEXTENSIONSFILTERSRENDERING_EXPORT vtkCSVExporter : public vtkObject
52 {
53 public:
54  static vtkCSVExporter* New();
55  vtkTypeMacro(vtkCSVExporter, vtkObject);
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
62  vtkSetStringMacro(FileName);
63  vtkGetStringMacro(FileName);
65 
67 
70  vtkSetStringMacro(FieldDelimiter);
71  vtkGetStringMacro(FieldDelimiter);
73 
75  {
77  STREAM_COLUMNS
78  };
79 
81 
85  void SetColumnLabel(const char* name, const char* label);
86  void ClearColumnLabels();
87  const char* GetColumnLabel(const char* name);
89 
93  bool Open(ExporterModes mode = STREAM_ROWS);
94 
99  void Close();
100 
105  void Abort();
106 
108 
113  void WriteHeader(vtkFieldData*);
114  void WriteData(vtkFieldData*);
116 
124  void AddColumn(
125  vtkAbstractArray* yarray, const char* yarrayname = NULL, vtkDataArray* xarray = NULL);
126 
128 
131  vtkSetMacro(WriteToOutputString, bool);
132  vtkGetMacro(WriteToOutputString, bool);
133  vtkBooleanMacro(WriteToOutputString, bool);
135 
141  std::string GetOutputString();
142 
143 protected:
144  vtkCSVExporter();
145  ~vtkCSVExporter() override;
146 
147  char* FileName;
149  std::ostream* OutputStream;
151 
153  std::string OutputString;
154 
155 private:
156  vtkCSVExporter(const vtkCSVExporter&) = delete;
157  void operator=(const vtkCSVExporter&) = delete;
158 
159  class vtkInternals;
160  vtkInternals* Internals;
161 };
162 
163 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
std::ostream * OutputStream
ExporterModes Mode
exporter used by certain views to export data as a CSV file.
static vtkObject * New()
void operator=(const vtkObjectBase &)
std::string OutputString