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 "vtkDataSetAlgorithm.h" 00051 00052 #define VTK_VECTOR_MODE_PASS_VECTORS 0 00053 #define VTK_VECTOR_MODE_COMPUTE_GRADIENT 1 00054 #define VTK_VECTOR_MODE_COMPUTE_VORTICITY 2 00055 00056 #define VTK_TENSOR_MODE_PASS_TENSORS 0 00057 #define VTK_TENSOR_MODE_COMPUTE_GRADIENT 1 00058 #define VTK_TENSOR_MODE_COMPUTE_STRAIN 2 00059 00060 class VTK_GRAPHICS_EXPORT vtkCellDerivatives : public vtkDataSetAlgorithm 00061 { 00062 public: 00063 vtkTypeMacro(vtkCellDerivatives,vtkDataSetAlgorithm); 00064 void PrintSelf(ostream& os, vtkIndent indent); 00065 00067 static vtkCellDerivatives *New(); 00068 00070 00075 vtkSetMacro(VectorMode,int); 00076 vtkGetMacro(VectorMode,int); 00077 void SetVectorModeToPassVectors() 00078 {this->SetVectorMode(VTK_VECTOR_MODE_PASS_VECTORS);}; 00079 void SetVectorModeToComputeGradient() 00080 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_GRADIENT);}; 00081 void SetVectorModeToComputeVorticity() 00082 {this->SetVectorMode(VTK_VECTOR_MODE_COMPUTE_VORTICITY);}; 00083 const char *GetVectorModeAsString(); 00085 00087 00092 vtkSetMacro(TensorMode,int); 00093 vtkGetMacro(TensorMode,int); 00094 void SetTensorModeToPassTensors() 00095 {this->SetTensorMode(VTK_TENSOR_MODE_PASS_TENSORS);}; 00096 void SetTensorModeToComputeGradient() 00097 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_GRADIENT);}; 00098 void SetTensorModeToComputeStrain() 00099 {this->SetTensorMode(VTK_TENSOR_MODE_COMPUTE_STRAIN);}; 00100 const char *GetTensorModeAsString(); 00102 00103 protected: 00104 vtkCellDerivatives(); 00105 ~vtkCellDerivatives() {}; 00106 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00107 00108 int VectorMode; 00109 int TensorMode; 00110 private: 00111 vtkCellDerivatives(const vtkCellDerivatives&); // Not implemented. 00112 void operator=(const vtkCellDerivatives&); // Not implemented. 00113 }; 00114 00115 #endif