VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCellDerivatives.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 =========================================================================*/ 00047 #ifndef vtkCellDerivatives_h 00048 #define vtkCellDerivatives_h 00049 00050 #include "vtkFiltersGeneralModule.h" // For export macro 00051 #include "vtkDataSetAlgorithm.h" 00052 00053 #define VTK_VECTOR_MODE_PASS_VECTORS 0 00054 #define VTK_VECTOR_MODE_COMPUTE_GRADIENT 1 00055 #define VTK_VECTOR_MODE_COMPUTE_VORTICITY 2 00056 00057 #define VTK_TENSOR_MODE_PASS_TENSORS 0 00058 #define VTK_TENSOR_MODE_COMPUTE_GRADIENT 1 00059 #define VTK_TENSOR_MODE_COMPUTE_STRAIN 2 00060 00061 class VTKFILTERSGENERAL_EXPORT vtkCellDerivatives : public vtkDataSetAlgorithm 00062 { 00063 public: 00064 vtkTypeMacro(vtkCellDerivatives,vtkDataSetAlgorithm); 00065 void PrintSelf(ostream& os, vtkIndent indent); 00066 00068 static vtkCellDerivatives *New(); 00069 00071 00076 vtkSetMacro(VectorMode,int); 00077 vtkGetMacro(VectorMode,int); 00078 void SetVectorModeToPassVectors() 00079 {this->SetVectorMode(VTK_VECTOR_MODE_PASS_VECTORS);}; 00080 void SetVectorModeToComputeGradient() 00081 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_GRADIENT);}; 00082 void SetVectorModeToComputeVorticity() 00083 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_VORTICITY);}; 00084 const char *GetVectorModeAsString(); 00086 00088 00093 vtkSetMacro(TensorMode,int); 00094 vtkGetMacro(TensorMode,int); 00095 void SetTensorModeToPassTensors() 00096 {this->SetTensorMode(VTK_TENSOR_MODE_PASS_TENSORS);}; 00097 void SetTensorModeToComputeGradient() 00098 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_GRADIENT);}; 00099 void SetTensorModeToComputeStrain() 00100 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_STRAIN);}; 00101 const char *GetTensorModeAsString(); 00103 00104 protected: 00105 vtkCellDerivatives(); 00106 ~vtkCellDerivatives() {} 00107 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00108 00109 int VectorMode; 00110 int TensorMode; 00111 private: 00112 vtkCellDerivatives(const vtkCellDerivatives&); // Not implemented. 00113 void operator=(const vtkCellDerivatives&); // Not implemented. 00114 }; 00115 00116 #endif