Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkArrayCalculator.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkArrayCalculator.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00066 #ifndef __vtkArrayCalculator_h
00067 #define __vtkArrayCalculator_h
00068 
00069 #include "vtkDataSetAlgorithm.h"
00070 
00071 class vtkFunctionParser;
00072 
00073 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
00074 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
00075 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
00076 
00077 class VTK_GRAPHICS_EXPORT vtkArrayCalculator : public vtkDataSetAlgorithm 
00078 {
00079 public:
00080   vtkTypeRevisionMacro(vtkArrayCalculator,vtkDataSetAlgorithm);
00081   void PrintSelf(ostream& os, vtkIndent indent);
00082 
00083   static vtkArrayCalculator *New();
00084 
00086 
00087   void SetFunction(const char* function);
00088   vtkGetStringMacro(Function);
00090   
00092 
00097   void AddScalarArrayName(const char* arrayName, int component = 0);
00098   void AddVectorArrayName(const char* arrayName, int component0 = 0,
00099                           int component1 = 1, int component2 = 2);
00101   
00103 
00105   void AddScalarVariable(const char* variableName, const char* arrayName,
00106                          int component = 0);
00107   void AddVectorVariable(const char* variableName, const char* arrayName,
00108                          int component0 = 0, int component1 = 1,
00109                          int component2 = 2);
00111   
00113 
00117   void SetResultArrayName(const char* name);
00118   vtkGetStringMacro(ResultArrayName);
00120   
00122 
00127   vtkSetMacro(AttributeMode,int);
00128   vtkGetMacro(AttributeMode,int);
00129   void SetAttributeModeToDefault() 
00130     {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT);};
00131   void SetAttributeModeToUsePointData() 
00132     {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);};
00133   void SetAttributeModeToUseCellData() 
00134     {this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_CELL_DATA);};
00135   const char *GetAttributeModeAsString();
00137 
00139   void RemoveAllVariables();
00140 
00142 
00143   char** GetScalarArrayNames() { return this->ScalarArrayNames; }
00144   char* GetScalarArrayName(int i);
00145   char** GetVectorArrayNames() { return this->VectorArrayNames; }
00146   char* GetVectorArrayName(int i);
00147   char** GetScalarVariableNames() { return this->ScalarVariableNames; }
00148   char* GetScalarVariableName(int i);
00149   char** GetVectorVariableNames() { return this->VectorVariableNames; }
00150   char* GetVectorVariableName(int i);
00151   int* GetSelectedScalarComponents() { return this->SelectedScalarComponents; }
00152   int GetSelectedScalarComponent(int i);
00153   int** GetSelectedVectorComponents() { return this->SelectedVectorComponents;}
00154   int* GetSelectedVectorComponents(int i);
00155   vtkGetMacro(NumberOfScalarArrays, int);
00156   vtkGetMacro(NumberOfVectorArrays, int);
00158   
00160 
00164   vtkSetMacro(ReplaceInvalidValues,int);
00165   vtkGetMacro(ReplaceInvalidValues,int);
00166   vtkBooleanMacro(ReplaceInvalidValues,int);
00167   vtkSetMacro(ReplacementValue,double);
00168   vtkGetMacro(ReplacementValue,double);
00170 
00171 protected:
00172   vtkArrayCalculator();
00173   ~vtkArrayCalculator();
00174 
00175   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00176   
00177   char* Function;
00178   char* ResultArrayName;
00179   char** ScalarArrayNames;
00180   char** VectorArrayNames;
00181   char** ScalarVariableNames;
00182   char** VectorVariableNames;
00183   int NumberOfScalarArrays;
00184   int NumberOfVectorArrays;
00185   int AttributeMode;
00186   int* SelectedScalarComponents;
00187   int** SelectedVectorComponents;
00188   vtkFunctionParser* FunctionParser;
00189 
00190   int ReplaceInvalidValues;
00191   double ReplacementValue;
00192 
00193 private:
00194   vtkArrayCalculator(const vtkArrayCalculator&);  // Not implemented.
00195   void operator=(const vtkArrayCalculator&);  // Not implemented.
00196 };
00197 
00198 #endif

Generated on Mon Jan 21 23:07:24 2008 for VTK by  doxygen 1.4.3-20050530