VTK
dox/Graphics/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 "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