Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkMatrixToHomogeneousTransform.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMatrixToHomogeneousTransform.h,v $
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 =========================================================================*/
00015 
00043 #ifndef __vtkMatrixToHomogeneousTransform_h
00044 #define __vtkMatrixToHomogeneousTransform_h
00045 
00046 #include "vtkHomogeneousTransform.h"
00047 
00048 class vtkMatrix4x4;
00049 
00050 class VTK_COMMON_EXPORT vtkMatrixToHomogeneousTransform : public vtkHomogeneousTransform
00051 {
00052  public:
00053   static vtkMatrixToHomogeneousTransform *New();
00054   vtkTypeRevisionMacro(vtkMatrixToHomogeneousTransform,vtkHomogeneousTransform);
00055   void PrintSelf (ostream& os, vtkIndent indent);
00056 
00057   // Set the input matrix.  Any modifications to the matrix will be
00058   // reflected in the transformation.
00059   virtual void SetInput(vtkMatrix4x4*);
00060   vtkGetObjectMacro(Input,vtkMatrix4x4);
00061 
00064   void Inverse();
00065 
00067   unsigned long GetMTime();
00068 
00070   vtkAbstractTransform *MakeTransform();
00071 
00073 
00074   void SetMatrix(vtkMatrix4x4 *matrix) {
00075     this->SetInput(matrix);
00076     vtkWarningMacro("SetMatrix: deprecated, use SetInput() instead"); }
00078 
00079 protected:
00080   vtkMatrixToHomogeneousTransform();
00081   ~vtkMatrixToHomogeneousTransform();
00082 
00083   void InternalUpdate();
00084   void InternalDeepCopy(vtkAbstractTransform *transform);
00085 
00086   int InverseFlag;
00087   vtkMatrix4x4 *Input;
00088 private:
00089   vtkMatrixToHomogeneousTransform(const vtkMatrixToHomogeneousTransform&);  // Not implemented.
00090   void operator=(const vtkMatrixToHomogeneousTransform&);  // Not implemented.
00091 };
00092 
00093 #endif