00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
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
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&);
00092 void operator=(const vtkMatrixMathFilter&);
00093 };
00094
00095 #endif // __vtkMatrixMathFilter_h