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