VTK
dox/Common/Transforms/vtkMatrixToHomogeneousTransform.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkMatrixToHomogeneousTransform.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 =========================================================================*/
00015 
00031 #ifndef __vtkMatrixToHomogeneousTransform_h
00032 #define __vtkMatrixToHomogeneousTransform_h
00033 
00034 #include "vtkCommonTransformsModule.h" // For export macro
00035 #include "vtkHomogeneousTransform.h"
00036 
00037 class vtkMatrix4x4;
00038 
00039 class VTKCOMMONTRANSFORMS_EXPORT vtkMatrixToHomogeneousTransform : public vtkHomogeneousTransform
00040 {
00041  public:
00042   static vtkMatrixToHomogeneousTransform *New();
00043   vtkTypeMacro(vtkMatrixToHomogeneousTransform,vtkHomogeneousTransform);
00044   void PrintSelf (ostream& os, vtkIndent indent);
00045 
00046   // Set the input matrix.  Any modifications to the matrix will be
00047   // reflected in the transformation.
00048   virtual void SetInput(vtkMatrix4x4*);
00049   vtkGetObjectMacro(Input,vtkMatrix4x4);
00050 
00053   void Inverse();
00054 
00056   unsigned long GetMTime();
00057 
00059   vtkAbstractTransform *MakeTransform();
00060 
00061 protected:
00062   vtkMatrixToHomogeneousTransform();
00063   ~vtkMatrixToHomogeneousTransform();
00064 
00065   void InternalUpdate();
00066   void InternalDeepCopy(vtkAbstractTransform *transform);
00067 
00068   int InverseFlag;
00069   vtkMatrix4x4 *Input;
00070 private:
00071   vtkMatrixToHomogeneousTransform(const vtkMatrixToHomogeneousTransform&);  // Not implemented.
00072   void operator=(const vtkMatrixToHomogeneousTransform&);  // Not implemented.
00073 };
00074 
00075 #endif