VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/General/vtkGradientFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkGradientFilter.h
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 =========================================================================*/
00015 /*----------------------------------------------------------------------------
00016  Copyright (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00018 ----------------------------------------------------------------------------*/
00019 
00038 #ifndef vtkGradientFilter_h
00039 #define vtkGradientFilter_h
00040 
00041 #include "vtkFiltersGeneralModule.h" // For export macro
00042 #include "vtkDataSetAlgorithm.h"
00043 
00044 class VTKFILTERSGENERAL_EXPORT vtkGradientFilter : public vtkDataSetAlgorithm
00045 {
00046 public:
00047   vtkTypeMacro(vtkGradientFilter, vtkDataSetAlgorithm);
00048   virtual void PrintSelf(ostream &os, vtkIndent indent);
00049 
00050   static vtkGradientFilter *New();
00051 
00053 
00058   virtual void SetInputScalars(int fieldAssociation, const char *name);
00059   virtual void SetInputScalars(int fieldAssociation, int fieldAttributeType);
00061 
00063 
00065   vtkGetStringMacro(ResultArrayName);
00066   vtkSetStringMacro(ResultArrayName);
00068 
00070 
00073   vtkGetStringMacro(VorticityArrayName);
00074   vtkSetStringMacro(VorticityArrayName);
00076 
00078 
00081   vtkGetStringMacro(QCriterionArrayName);
00082   vtkSetStringMacro(QCriterionArrayName);
00084 
00086 
00093   vtkGetMacro(FasterApproximation, int);
00094   vtkSetMacro(FasterApproximation, int);
00095   vtkBooleanMacro(FasterApproximation, int);
00097 
00099 
00101   vtkSetMacro(ComputeVorticity, int);
00102   vtkGetMacro(ComputeVorticity, int);
00103   vtkBooleanMacro(ComputeVorticity, int);
00105 
00107 
00112   vtkSetMacro(ComputeQCriterion, int);
00113   vtkGetMacro(ComputeQCriterion, int);
00114   vtkBooleanMacro(ComputeQCriterion, int);
00116 
00117 protected:
00118   vtkGradientFilter();
00119   ~vtkGradientFilter();
00120 
00121   virtual int RequestUpdateExtent(vtkInformation *,
00122                                   vtkInformationVector **,
00123                                   vtkInformationVector *);
00124   virtual int RequestData(vtkInformation *, vtkInformationVector **,
00125                           vtkInformationVector *);
00126 
00128 
00131   virtual int ComputeUnstructuredGridGradient(
00132     vtkDataArray* Array, int fieldAssociation, vtkDataSet* input,
00133     bool computeVorticity, bool computeQCriterion, vtkDataSet* output);
00135 
00137 
00140   virtual int ComputeRegularGridGradient(
00141     vtkDataArray* Array, int fieldAssociation, bool computeVorticity,
00142     bool computeQCriterion, vtkDataSet* output);
00144 
00147   char *ResultArrayName;
00148 
00151   char *VorticityArrayName;
00152 
00155   char *QCriterionArrayName;
00156 
00164   int FasterApproximation;
00165 
00169   int ComputeQCriterion;
00170 
00174   int ComputeVorticity;
00175 
00176 private:
00177   vtkGradientFilter(const vtkGradientFilter &); // Not implemented
00178   void operator=(const vtkGradientFilter &);    // Not implemented
00179 };
00180 
00181 #endif //_vtkGradientFilter_h