00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCellDerivatives.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 =========================================================================*/ 00062 #ifndef __vtkCellDerivatives_h 00063 #define __vtkCellDerivatives_h 00064 00065 #include "vtkDataSetToDataSetFilter.h" 00066 00067 #define VTK_VECTOR_MODE_PASS_VECTORS 0 00068 #define VTK_VECTOR_MODE_COMPUTE_GRADIENT 1 00069 #define VTK_VECTOR_MODE_COMPUTE_VORTICITY 2 00070 00071 #define VTK_TENSOR_MODE_PASS_TENSORS 0 00072 #define VTK_TENSOR_MODE_COMPUTE_GRADIENT 1 00073 #define VTK_TENSOR_MODE_COMPUTE_STRAIN 2 00074 00075 class VTK_GRAPHICS_EXPORT vtkCellDerivatives : public vtkDataSetToDataSetFilter 00076 { 00077 public: 00078 vtkTypeRevisionMacro(vtkCellDerivatives,vtkDataSetToDataSetFilter); 00079 void PrintSelf(ostream& os, vtkIndent indent); 00080 00082 static vtkCellDerivatives *New(); 00083 00085 00090 vtkSetMacro(VectorMode,int); 00091 vtkGetMacro(VectorMode,int); 00092 void SetVectorModeToPassVectors() 00093 {this->SetVectorMode(VTK_VECTOR_MODE_PASS_VECTORS);}; 00094 void SetVectorModeToComputeGradient() 00095 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_GRADIENT);}; 00096 void SetVectorModeToComputeVorticity() 00097 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_VORTICITY);}; 00098 const char *GetVectorModeAsString(); 00100 00102 00107 vtkSetMacro(TensorMode,int); 00108 vtkGetMacro(TensorMode,int); 00109 void SetTensorModeToPassTensors() 00110 {this->SetTensorMode(VTK_TENSOR_MODE_PASS_TENSORS);}; 00111 void SetTensorModeToComputeGradient() 00112 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_GRADIENT);}; 00113 void SetTensorModeToComputeStrain() 00114 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_STRAIN);}; 00115 const char *GetTensorModeAsString(); 00117 00118 protected: 00119 vtkCellDerivatives(); 00120 ~vtkCellDerivatives() {}; 00121 void Execute(); 00122 00123 int VectorMode; 00124 int TensorMode; 00125 private: 00126 vtkCellDerivatives(const vtkCellDerivatives&); // Not implemented. 00127 void operator=(const vtkCellDerivatives&); // Not implemented. 00128 }; 00129 00130 #endif 00131 00132