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   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkArrayCalculator.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    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&);  // Not implemented.
    00162   void operator=(const vtkArrayCalculator&);  // Not implemented.
    00163 };
    00164
    00165 #endif