VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkObject.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 =========================================================================*/ 00027 #ifndef __vtkMatrixMathFilter_h 00028 #define __vtkMatrixMathFilter_h 00029 00030 #include "vtkDataSetAlgorithm.h" 00031 00032 class vtkCell; 00033 class vtkDataArray; 00034 00035 class VTK_GRAPHICS_EXPORT vtkMatrixMathFilter : public vtkDataSetAlgorithm 00036 { 00037 //BTX 00038 enum 00039 { 00040 NONE = 0, 00041 DETERMINANT, 00042 EIGENVALUE, 00043 EIGENVECTOR, 00044 INVERSE 00045 }; 00046 enum 00047 { 00048 POINT_QUALITY = 0, 00049 CELL_QUALITY 00050 }; 00051 //ETX 00052 00053 public: 00054 void PrintSelf (ostream&, vtkIndent); 00055 vtkTypeMacro(vtkMatrixMathFilter, vtkDataSetAlgorithm); 00056 static vtkMatrixMathFilter* New (); 00057 00059 00061 vtkSetMacro(Operation, int) 00062 vtkGetMacro(Operation, int) 00063 void SetOperationToDeterminant () 00064 { 00065 this->SetOperation(DETERMINANT); 00066 } 00067 void SetOperationToEigenvalue () 00068 { 00069 this->SetOperation(EIGENVALUE); 00070 } 00071 void SetOperationToEigenvector () 00072 { 00073 this->SetOperation(EIGENVECTOR); 00074 } 00075 void SetOperationToInverse () 00076 { 00077 this->SetOperation(INVERSE); 00078 } 00080 00081 protected: 00082 ~vtkMatrixMathFilter (); 00083 vtkMatrixMathFilter (); 00084 00085 virtual int RequestData 00086 (vtkInformation*, vtkInformationVector**, vtkInformationVector*); 00087 00088 int Operation; 00089 00090 private: 00091 vtkMatrixMathFilter(const vtkMatrixMathFilter&); // Not implemented 00092 void operator=(const vtkMatrixMathFilter&); // Not implemented 00093 }; 00094 00095 #endif // __vtkMatrixMathFilter_h