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