VTK
vtkStringToNumeric.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStringToNumeric.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 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
35 #ifndef vtkStringToNumeric_h
36 #define vtkStringToNumeric_h
37 
38 #include "vtkInfovisCoreModule.h" // For export macro
39 #include "vtkDataObjectAlgorithm.h"
40 
41 class VTKINFOVISCORE_EXPORT vtkStringToNumeric : public vtkDataObjectAlgorithm
42 {
43 public:
44  static vtkStringToNumeric* New();
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
53  vtkSetMacro(ForceDouble, bool);
54  vtkGetMacro(ForceDouble, bool);
55  vtkBooleanMacro(ForceDouble, bool);
57 
59 
62  vtkSetMacro(DefaultIntegerValue, int);
63  vtkGetMacro(DefaultIntegerValue, int);
65 
67 
70  vtkSetMacro(DefaultDoubleValue, double);
71  vtkGetMacro(DefaultDoubleValue, double);
73 
75 
89  vtkSetMacro(TrimWhitespacePriorToNumericConversion, bool);
90  vtkGetMacro(TrimWhitespacePriorToNumericConversion, bool);
91  vtkBooleanMacro(TrimWhitespacePriorToNumericConversion, bool);
93 
95 
98  vtkSetMacro(ConvertFieldData, bool);
99  vtkGetMacro(ConvertFieldData, bool);
100  vtkBooleanMacro(ConvertFieldData, bool);
102 
104 
107  vtkSetMacro(ConvertPointData, bool);
108  vtkGetMacro(ConvertPointData, bool);
109  vtkBooleanMacro(ConvertPointData, bool);
111 
113 
116  vtkSetMacro(ConvertCellData, bool);
117  vtkGetMacro(ConvertCellData, bool);
118  vtkBooleanMacro(ConvertCellData, bool);
120 
124  virtual void SetConvertVertexData(bool b)
125  { this->SetConvertPointData(b); }
126  virtual bool GetConvertVertexData()
127  { return this->GetConvertPointData(); }
128  vtkBooleanMacro(ConvertVertexData, bool);
129 
133  virtual void SetConvertEdgeData(bool b)
134  { this->SetConvertCellData(b); }
135  virtual bool GetConvertEdgeData()
136  { return this->GetConvertCellData(); }
137  vtkBooleanMacro(ConvertEdgeData, bool);
138 
142  virtual void SetConvertRowData(bool b)
143  { this->SetConvertPointData(b); }
144  virtual bool GetConvertRowData()
145  { return this->GetConvertPointData(); }
146  vtkBooleanMacro(ConvertRowData, bool);
147 
151  int ProcessRequest(vtkInformation* request,
152  vtkInformationVector** inputVector,
153  vtkInformationVector* outputVector) override;
154 
155 protected:
157  ~vtkStringToNumeric() override;
158 
162  int RequestDataObject(vtkInformation* request,
163  vtkInformationVector** inputVector,
164  vtkInformationVector* outputVector) override;
165 
169  void ConvertArrays(vtkFieldData* fieldData);
170 
178 
184  int CountItemsToConvert(vtkFieldData *fieldData);
185 
186  // These keep track of our progress
189 
190  int RequestData(
193  vtkInformationVector*) override;
194 
195 private:
196  vtkStringToNumeric(const vtkStringToNumeric&) = delete;
197  void operator=(const vtkStringToNumeric&) = delete;
198 };
199 
200 #endif
201 
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual bool GetConvertRowData()
Store vtkAlgorithm input/output information.
VTKACCELERATORSVTKM_EXPORT bool ConvertArrays(const vtkm::cont::DataSet &input, vtkDataSet *output)
static vtkDataObjectAlgorithm * New()
virtual void SetConvertRowData(bool b)
Whether to detect and convert row data arrays.
a simple class to control print indentation
Definition: vtkIndent.h:39
Converts string arrays to numeric arrays.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
bool TrimWhitespacePriorToNumericConversion
Superclass for algorithms that produce only data object as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual bool GetConvertVertexData()
Store zero or more vtkInformation instances.
virtual void SetConvertVertexData(bool b)
Whether to detect and convert vertex data arrays.
virtual bool GetConvertEdgeData()
virtual void SetConvertEdgeData(bool b)
Whether to detect and convert edge data arrays.
represent and manipulate fields of data
Definition: vtkFieldData.h:56
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.