VTK
vtkArrayCalculator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkArrayCalculator.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 =========================================================================*/
66 #ifndef vtkArrayCalculator_h
67 #define vtkArrayCalculator_h
68 
69 #include "vtkFiltersCoreModule.h" // For export macro
70 #include "vtkDataSetAlgorithm.h"
71 
72 class vtkFunctionParser;
73 
74 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
75 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
76 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
77 #define VTK_ATTRIBUTE_MODE_USE_VERTEX_DATA 3
78 #define VTK_ATTRIBUTE_MODE_USE_EDGE_DATA 4
79 
81 {
82 public:
84  void PrintSelf(ostream& os, vtkIndent indent);
85 
87 
89 
90  virtual void SetFunction(const char* function);
91  vtkGetStringMacro(Function);
93 
95 
100  void AddScalarArrayName(const char* arrayName, int component = 0);
101  void AddVectorArrayName(const char* arrayName, int component0 = 0,
102  int component1 = 1, int component2 = 2);
104 
106 
108  void AddScalarVariable(const char* variableName, const char* arrayName,
109  int component = 0);
110  void AddVectorVariable(const char* variableName, const char* arrayName,
111  int component0 = 0, int component1 = 1,
112  int component2 = 2);
114 
116 
118  void AddCoordinateScalarVariable(const char* variableName,
119  int component = 0);
120  void AddCoordinateVectorVariable(const char* variableName,
121  int component0 = 0, int component1 = 1,
122  int component2 = 2);
124 
126 
130  void SetResultArrayName(const char* name);
131  vtkGetStringMacro(ResultArrayName);
133 
135 
137  vtkGetMacro(ResultArrayType,int);
138  vtkSetMacro(ResultArrayType,int);
140 
142 
146  vtkGetMacro(CoordinateResults, int);
147  vtkSetMacro(CoordinateResults, int);
148  vtkBooleanMacro(CoordinateResults, int);
150 
152 
155  vtkGetMacro(ResultNormals, bool);
156  vtkSetMacro(ResultNormals, bool);
157  vtkBooleanMacro(ResultNormals, bool);
159 
161 
164  vtkGetMacro(ResultTCoords, bool);
165  vtkSetMacro(ResultTCoords, bool);
166  vtkBooleanMacro(ResultTCoords, bool);
168 
170 
177  vtkSetMacro(AttributeMode,int);
178  vtkGetMacro(AttributeMode,int);
180  {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT);};
182  {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);};
184  {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_CELL_DATA);};
186  {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_VERTEX_DATA);};
188  {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_EDGE_DATA);};
191 
194 
197  virtual void RemoveScalarVariables();
198 
201  virtual void RemoveVectorVariables();
202 
205 
208 
210 
211  char** GetScalarArrayNames() { return this->ScalarArrayNames; }
212  char* GetScalarArrayName(int i);
213  char** GetVectorArrayNames() { return this->VectorArrayNames; }
214  char* GetVectorArrayName(int i);
215  char** GetScalarVariableNames() { return this->ScalarVariableNames; }
216  char* GetScalarVariableName(int i);
217  char** GetVectorVariableNames() { return this->VectorVariableNames; }
218  char* GetVectorVariableName(int i);
219  int* GetSelectedScalarComponents() { return this->SelectedScalarComponents; }
221  int** GetSelectedVectorComponents() { return this->SelectedVectorComponents;}
223  vtkGetMacro(NumberOfScalarArrays, int);
224  vtkGetMacro(NumberOfVectorArrays, int);
226 
228 
232  vtkSetMacro(ReplaceInvalidValues,int);
233  vtkGetMacro(ReplaceInvalidValues,int);
234  vtkBooleanMacro(ReplaceInvalidValues,int);
235  vtkSetMacro(ReplacementValue,double);
236  vtkGetMacro(ReplacementValue,double);
238 
239 protected:
242 
244 
245  char * Function;
257 
260 
270 
272 private:
273  vtkArrayCalculator(const vtkArrayCalculator&); // Not implemented.
274  void operator=(const vtkArrayCalculator&); // Not implemented.
275 };
276 
277 #endif
VTK_ATTRIBUTE_MODE_DEFAULT
#define VTK_ATTRIBUTE_MODE_DEFAULT
Definition: vtkArrayCalculator.h:74
vtkArrayCalculator::New
static vtkArrayCalculator * New()
vtkArrayCalculator::ResultTCoords
bool ResultTCoords
Definition: vtkArrayCalculator.h:263
vtkArrayCalculator::NumberOfVectorArrays
int NumberOfVectorArrays
Definition: vtkArrayCalculator.h:252
vtkArrayCalculator::ResultArrayType
int ResultArrayType
Definition: vtkArrayCalculator.h:271
vtkArrayCalculator
perform mathematical operations on data in field data arrays
Definition: vtkArrayCalculator.h:81
vtkX3D::component
@ component
Definition: vtkX3D.h:175
vtkArrayCalculator::SetAttributeModeToDefault
void SetAttributeModeToDefault()
Definition: vtkArrayCalculator.h:179
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkArrayCalculator::AddVectorVariable
void AddVectorVariable(const char *variableName, const char *arrayName, int component0=0, int component1=1, int component2=2)
vtkArrayCalculator::SetAttributeModeToUseEdgeData
void SetAttributeModeToUseEdgeData()
Definition: vtkArrayCalculator.h:187
vtkArrayCalculator::ResultNormals
bool ResultNormals
Definition: vtkArrayCalculator.h:262
vtkArrayCalculator::NumberOfCoordinateVectorArrays
int NumberOfCoordinateVectorArrays
Definition: vtkArrayCalculator.h:269
vtkArrayCalculator::GetVectorVariableNames
char ** GetVectorVariableNames()
Definition: vtkArrayCalculator.h:217
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkArrayCalculator::SelectedCoordinateScalarComponents
int * SelectedCoordinateScalarComponents
Definition: vtkArrayCalculator.h:266
vtkArrayCalculator::GetSelectedVectorComponents
int * GetSelectedVectorComponents(int i)
VTK_ATTRIBUTE_MODE_USE_POINT_DATA
#define VTK_ATTRIBUTE_MODE_USE_POINT_DATA
Definition: vtkArrayCalculator.h:75
vtkArrayCalculator::NumberOfScalarArrays
int NumberOfScalarArrays
Definition: vtkArrayCalculator.h:251
vtkArrayCalculator::GetScalarArrayNames
char ** GetScalarArrayNames()
Definition: vtkArrayCalculator.h:211
vtkArrayCalculator::GetAttributeModeAsString
const char * GetAttributeModeAsString()
vtkArrayCalculator::AddScalarArrayName
void AddScalarArrayName(const char *arrayName, int component=0)
vtkArrayCalculator::ScalarVariableNames
char ** ScalarVariableNames
Definition: vtkArrayCalculator.h:249
vtkArrayCalculator::SetAttributeModeToUseCellData
void SetAttributeModeToUseCellData()
Definition: vtkArrayCalculator.h:183
vtkArrayCalculator::GetScalarVariableNames
char ** GetScalarVariableNames()
Definition: vtkArrayCalculator.h:215
vtkArrayCalculator::RemoveScalarVariables
virtual void RemoveScalarVariables()
vtkArrayCalculator::SetAttributeModeToUseVertexData
void SetAttributeModeToUseVertexData()
Definition: vtkArrayCalculator.h:185
vtkFiltersCoreModule.h
vtkDataSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkDataSetAlgorithm.h:51
vtkArrayCalculator::RemoveVectorVariables
virtual void RemoveVectorVariables()
vtkArrayCalculator::AddScalarVariable
void AddScalarVariable(const char *variableName, const char *arrayName, int component=0)
vtkgl::name
GLuint const GLchar * name
Definition: vtkgl.h:11983
vtkArrayCalculator::NumberOfCoordinateScalarArrays
int NumberOfCoordinateScalarArrays
Definition: vtkArrayCalculator.h:268
vtkArrayCalculator::VectorVariableNames
char ** VectorVariableNames
Definition: vtkArrayCalculator.h:250
vtkArrayCalculator::GetSelectedScalarComponents
int * GetSelectedScalarComponents()
Definition: vtkArrayCalculator.h:219
vtkArrayCalculator::GetVectorArrayName
char * GetVectorArrayName(int i)
vtkArrayCalculator::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkArrayCalculator::RemoveCoordinateScalarVariables
virtual void RemoveCoordinateScalarVariables()
VTKFILTERSCORE_EXPORT
#define VTKFILTERSCORE_EXPORT
Definition: vtkFiltersCoreModule.h:15
VTK_ATTRIBUTE_MODE_USE_CELL_DATA
#define VTK_ATTRIBUTE_MODE_USE_CELL_DATA
Definition: vtkArrayCalculator.h:76
vtkArrayCalculator::CoordinateVectorVariableNames
char ** CoordinateVectorVariableNames
Definition: vtkArrayCalculator.h:265
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkArrayCalculator::VectorArrayNames
char ** VectorArrayNames
Definition: vtkArrayCalculator.h:248
vtkArrayCalculator::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkArrayCalculator::AddVectorArrayName
void AddVectorArrayName(const char *arrayName, int component0=0, int component1=1, int component2=2)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkArrayCalculator::GetVectorArrayNames
char ** GetVectorArrayNames()
Definition: vtkArrayCalculator.h:213
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
VTK_ATTRIBUTE_MODE_USE_EDGE_DATA
#define VTK_ATTRIBUTE_MODE_USE_EDGE_DATA
Definition: vtkArrayCalculator.h:78
vtkArrayCalculator::GetSelectedScalarComponent
int GetSelectedScalarComponent(int i)
vtkArrayCalculator::ResultArrayName
char * ResultArrayName
Definition: vtkArrayCalculator.h:246
vtkArrayCalculator::GetVectorVariableName
char * GetVectorVariableName(int i)
vtkArrayCalculator::AddCoordinateVectorVariable
void AddCoordinateVectorVariable(const char *variableName, int component0=0, int component1=1, int component2=2)
vtkArrayCalculator::vtkArrayCalculator
vtkArrayCalculator()
vtkArrayCalculator::GetScalarArrayName
char * GetScalarArrayName(int i)
vtkArrayCalculator::ScalarArrayNames
char ** ScalarArrayNames
Definition: vtkArrayCalculator.h:247
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkArrayCalculator::ReplaceInvalidValues
int ReplaceInvalidValues
Definition: vtkArrayCalculator.h:258
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkArrayCalculator::RemoveCoordinateVectorVariables
virtual void RemoveCoordinateVectorVariables()
vtkArrayCalculator::SelectedVectorComponents
int ** SelectedVectorComponents
Definition: vtkArrayCalculator.h:255
vtkDataSetAlgorithm.h
vtkArrayCalculator::GetSelectedVectorComponents
int ** GetSelectedVectorComponents()
Definition: vtkArrayCalculator.h:221
vtkArrayCalculator::SetFunction
virtual void SetFunction(const char *function)
vtkArrayCalculator::SetAttributeModeToUsePointData
void SetAttributeModeToUsePointData()
Definition: vtkArrayCalculator.h:181
vtkArrayCalculator::RemoveAllVariables
void RemoveAllVariables()
vtkArrayCalculator::CoordinateScalarVariableNames
char ** CoordinateScalarVariableNames
Definition: vtkArrayCalculator.h:264
vtkFunctionParser
Parse and evaluate a mathematical expression.
Definition: vtkFunctionParser.h:131
vtkArrayCalculator::GetScalarVariableName
char * GetScalarVariableName(int i)
vtkArrayCalculator::AddCoordinateScalarVariable
void AddCoordinateScalarVariable(const char *variableName, int component=0)
vtkArrayCalculator::SelectedCoordinateVectorComponents
int ** SelectedCoordinateVectorComponents
Definition: vtkArrayCalculator.h:267
vtkArrayCalculator::SetResultArrayName
void SetResultArrayName(const char *name)
vtkArrayCalculator::Function
char * Function
Definition: vtkArrayCalculator.h:245
vtkArrayCalculator::ReplacementValue
double ReplacementValue
Definition: vtkArrayCalculator.h:259
vtkArrayCalculator::FunctionParser
vtkFunctionParser * FunctionParser
Definition: vtkArrayCalculator.h:256
vtkArrayCalculator::CoordinateResults
int CoordinateResults
Definition: vtkArrayCalculator.h:261
vtkArrayCalculator::~vtkArrayCalculator
~vtkArrayCalculator()
VTK_ATTRIBUTE_MODE_USE_VERTEX_DATA
#define VTK_ATTRIBUTE_MODE_USE_VERTEX_DATA
Definition: vtkArrayCalculator.h:77
vtkArrayCalculator::SelectedScalarComponents
int * SelectedScalarComponents
Definition: vtkArrayCalculator.h:254
vtkArrayCalculator::AttributeMode
int AttributeMode
Definition: vtkArrayCalculator.h:253