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 00037 #ifndef __vtkGradientFilter_h 00038 #define __vtkGradientFilter_h 00039 00040 #include "vtkDataSetAlgorithm.h" 00041 00042 class VTK_GRAPHICS_EXPORT vtkGradientFilter : public vtkDataSetAlgorithm 00043 { 00044 public: 00045 vtkTypeMacro(vtkGradientFilter, vtkDataSetAlgorithm); 00046 virtual void PrintSelf(ostream &os, vtkIndent indent); 00047 00048 static vtkGradientFilter *New(); 00049 00051 00056 virtual void SetInputScalars(int fieldAssociation, const char *name); 00057 virtual void SetInputScalars(int fieldAssociation, int fieldAttributeType); 00059 00061 00063 vtkGetStringMacro(ResultArrayName); 00064 vtkSetStringMacro(ResultArrayName); 00066 00068 00075 vtkGetMacro(FasterApproximation, int); 00076 vtkSetMacro(FasterApproximation, int); 00077 vtkBooleanMacro(FasterApproximation, int); 00079 00081 00083 vtkSetMacro(ComputeVorticity, int); 00084 vtkGetMacro(ComputeVorticity, int); 00085 vtkBooleanMacro(ComputeVorticity, int); 00087 00088 protected: 00089 vtkGradientFilter(); 00090 ~vtkGradientFilter(); 00091 00092 virtual int RequestUpdateExtent(vtkInformation *, 00093 vtkInformationVector **, 00094 vtkInformationVector *); 00095 virtual int RequestData(vtkInformation *, vtkInformationVector **, 00096 vtkInformationVector *); 00097 00099 00102 virtual int ComputeUnstructuredGridGradient( 00103 vtkDataArray* Array, int fieldAssociation, vtkDataSet* input, 00104 vtkDataSet* output); 00106 00108 00111 virtual int ComputeRegularGridGradient( 00112 vtkDataArray* Array, int fieldAssociation, vtkDataSet* output); 00114 00116 char *ResultArrayName; 00117 00125 int FasterApproximation; 00126 00130 int ComputeVorticity; 00131 00132 private: 00133 vtkGradientFilter(const vtkGradientFilter &); // Not implemented 00134 void operator=(const vtkGradientFilter &); // Not implemented 00135 }; 00136 00137 #endif //_vtkGradientFilter_h