Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
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
00049 #ifndef __vtkArrayCalculator_h
00050 #define __vtkArrayCalculator_h
00051
00052 #include "vtkDataSetToDataSetFilter.h"
00053
00054 class vtkFunctionParser;
00055
00056 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
00057 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
00058 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
00059
00060 class VTK_GRAPHICS_EXPORT vtkArrayCalculator : public vtkDataSetToDataSetFilter
00061 {
00062 public:
00063 vtkTypeRevisionMacro(vtkArrayCalculator,vtkDataSetToDataSetFilter);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00066 static vtkArrayCalculator *New();
00067
00069
00070 void SetFunction(const char* function);
00071 vtkGetStringMacro(Function);
00073
00075
00080 void AddScalarArrayName(const char* arrayName, int component = 0);
00081 void AddVectorArrayName(const char* arrayName, int component0 = 0,
00082 int component1 = 1, int component2 = 2);
00084
00086
00088 void AddScalarVariable(const char* variableName, const char* arrayName,
00089 int component = 0);
00090 void AddVectorVariable(const char* variableName, const char* arrayName,
00091 int component0 = 0, int component1 = 1,
00092 int component2 = 2);
00094
00096
00100 void SetResultArrayName(const char* name);
00101 vtkGetStringMacro(ResultArrayName);
00103
00105
00110 vtkSetMacro(AttributeMode,int);
00111 vtkGetMacro(AttributeMode,int);
00112 void SetAttributeModeToDefault()
00113 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT);};
00114 void SetAttributeModeToUsePointData()
00115 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);};
00116 void SetAttributeModeToUseCellData()
00117 {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_CELL_DATA);};
00118 const char *GetAttributeModeAsString();
00120
00122 void RemoveAllVariables();
00123
00125
00126 char** GetScalarArrayNames() { return this->ScalarArrayNames; }
00127 char* GetScalarArrayName(int i);
00128 char** GetVectorArrayNames() { return this->VectorArrayNames; }
00129 char* GetVectorArrayName(int i);
00130 char** GetScalarVariableNames() { return this->ScalarVariableNames; }
00131 char* GetScalarVariableName(int i);
00132 char** GetVectorVariableNames() { return this->VectorVariableNames; }
00133 char* GetVectorVariableName(int i);
00134 int* GetSelectedScalarComponents() { return this->SelectedScalarComponents; }
00135 int GetSelectedScalarComponent(int i);
00136 int** GetSelectedVectorComponents() { return this->SelectedVectorComponents;}
00137 int* GetSelectedVectorComponents(int i);
00138 vtkGetMacro(NumberOfScalarArrays, int);
00139 vtkGetMacro(NumberOfVectorArrays, int);
00141
00142 protected:
00143 vtkArrayCalculator();
00144 ~vtkArrayCalculator();
00145
00146 void Execute();
00147
00148 char* Function;
00149 char* ResultArrayName;
00150 char** ScalarArrayNames;
00151 char** VectorArrayNames;
00152 char** ScalarVariableNames;
00153 char** VectorVariableNames;
00154 int NumberOfScalarArrays;
00155 int NumberOfVectorArrays;
00156 int AttributeMode;
00157 int* SelectedScalarComponents;
00158 int** SelectedVectorComponents;
00159 vtkFunctionParser* FunctionParser;
00160 private:
00161 vtkArrayCalculator(const vtkArrayCalculator&);
00162 void operator=(const vtkArrayCalculator&);
00163 };
00164
00165 #endif