VTK
|
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