Graphics/vtkArrayCalculator.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkArrayCalculator_h
00036 #define __vtkArrayCalculator_h
00037
00038 #include "vtkDataSetToDataSetFilter.h"
00039
00040 class vtkFunctionParser;
00041
00042 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
00043 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
00044 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
00045
00046 class VTK_GRAPHICS_EXPORT vtkArrayCalculator : public vtkDataSetToDataSetFilter
00047 {
00048 public:
00049 vtkTypeRevisionMacro(vtkArrayCalculator,vtkDataSetToDataSetFilter);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00052 static vtkArrayCalculator *New();
00053
00055
00056 void SetFunction(const char* function);
00057 vtkGetStringMacro(Function);
00059
00061
00066 void AddScalarArrayName(const char* arrayName, int component = 0);
00067 void AddVectorArrayName(const char* arrayName, int component0 = 0,
00068 int component1 = 1, int component2 = 2);
00070
00072
00074 void AddScalarVariable(const char* variableName, const char* arrayName,
00075 int component = 0);
00076 void AddVectorVariable(const char* variableName, const char* arrayName,
00077 int component0 = 0, int component1 = 1,
00078 int component2 = 2);
00080
00082
00086 void SetResultArrayName(const char* name);
00087 vtkGetStringMacro(ResultArrayName);
00089
00091
00096 vtkSetMacro(AttributeMode,int);
00097 vtkGetMacro(AttributeMode,int);
00098 void SetAttributeModeToDefault()
00099 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT);};
00100 void SetAttributeModeToUsePointData()
00101 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);};
00102 void SetAttributeModeToUseCellData()
00103 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_CELL_DATA);};
00104 const char *GetAttributeModeAsString();
00106
00108 void RemoveAllVariables();
00109
00111
00112 char** GetScalarArrayNames() { return this->ScalarArrayNames; }
00113 char* GetScalarArrayName(int i);
00114 char** GetVectorArrayNames() { return this->VectorArrayNames; }
00115 char* GetVectorArrayName(int i);
00116 char** GetScalarVariableNames() { return this->ScalarVariableNames; }
00117 char* GetScalarVariableName(int i);
00118 char** GetVectorVariableNames() { return this->VectorVariableNames; }
00119 char* GetVectorVariableName(int i);
00120 int* GetSelectedScalarComponents() { return this->SelectedScalarComponents; }
00121 int GetSelectedScalarComponent(int i);
00122 int** GetSelectedVectorComponents() { return this->SelectedVectorComponents;}
00123 int* GetSelectedVectorComponents(int i);
00124 vtkGetMacro(NumberOfScalarArrays, int);
00125 vtkGetMacro(NumberOfVectorArrays, int);
00127
00128 protected:
00129 vtkArrayCalculator();
00130 ~vtkArrayCalculator();
00131
00132 void Execute();
00133
00134 char* Function;
00135 char* ResultArrayName;
00136 char** ScalarArrayNames;
00137 char** VectorArrayNames;
00138 char** ScalarVariableNames;
00139 char** VectorVariableNames;
00140 int NumberOfScalarArrays;
00141 int NumberOfVectorArrays;
00142 int AttributeMode;
00143 int* SelectedScalarComponents;
00144 int** SelectedVectorComponents;
00145 vtkFunctionParser* FunctionParser;
00146 private:
00147 vtkArrayCalculator(const vtkArrayCalculator&);
00148 void operator=(const vtkArrayCalculator&);
00149 };
00150
00151 #endif