VTK
dox/Graphics/vtkTransformCoordinateSystems.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkTransformCoordinateSystems.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 =========================================================================*/
00030 #ifndef __vtkTransformCoordinateSystems_h
00031 #define __vtkTransformCoordinateSystems_h
00032 
00033 #include "vtkPointSetAlgorithm.h"
00034 #include "vtkCoordinate.h" //to get the defines in vtkCoordinate
00035 
00036 class VTK_GRAPHICS_EXPORT vtkTransformCoordinateSystems : public vtkPointSetAlgorithm
00037 {
00038 public:
00040 
00041   vtkTypeMacro(vtkTransformCoordinateSystems,vtkPointSetAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00047   static vtkTransformCoordinateSystems *New();
00048 
00050 
00053   vtkSetMacro(InputCoordinateSystem, int);
00054   vtkGetMacro(InputCoordinateSystem, int);
00055   void SetInputCoordinateSystemToDisplay() 
00056     {this->SetInputCoordinateSystem(VTK_DISPLAY);}
00057   void SetInputCoordinateSystemToViewport() 
00058     {this->SetInputCoordinateSystem(VTK_VIEWPORT);}
00059   void SetInputCoordinateSystemToWorld() 
00060     {this->SetInputCoordinateSystem(VTK_WORLD);}
00062     
00064 
00067   vtkSetMacro(OutputCoordinateSystem, int);
00068   vtkGetMacro(OutputCoordinateSystem, int);
00069   void SetOutputCoordinateSystemToDisplay() 
00070     {this->SetOutputCoordinateSystem(VTK_DISPLAY);}
00071   void SetOutputCoordinateSystemToViewport() 
00072     {this->SetOutputCoordinateSystem(VTK_VIEWPORT);}
00073   void SetOutputCoordinateSystemToWorld() 
00074     {this->SetOutputCoordinateSystem(VTK_WORLD);}
00076     
00078   unsigned long GetMTime();
00079 
00081 
00086   void SetViewport(vtkViewport *viewport);
00087   vtkGetObjectMacro(Viewport,vtkViewport);
00089 
00090 protected:
00091   vtkTransformCoordinateSystems();
00092   ~vtkTransformCoordinateSystems();
00093 
00094   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00095 
00096   int InputCoordinateSystem;
00097   int OutputCoordinateSystem;
00098   vtkViewport *Viewport;
00099 
00100   vtkCoordinate *TransformCoordinate;
00101 
00102 private:
00103   vtkTransformCoordinateSystems(const vtkTransformCoordinateSystems&);  // Not implemented.
00104   void operator=(const vtkTransformCoordinateSystems&);  // Not implemented.
00105 };
00106 
00107 #endif