VTK
dox/Filters/Verdict/vtkMatrixMathFilter.h
Go to the documentation of this file.
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