VTK
dox/Rendering/Core/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 "vtkRenderingCoreModule.h" // For export macro
00034 #include "vtkPointSetAlgorithm.h"
00035 #include "vtkCoordinate.h" //to get the defines in vtkCoordinate
00036 
00037 class VTKRENDERINGCORE_EXPORT vtkTransformCoordinateSystems : public vtkPointSetAlgorithm
00038 {
00039 public:
00041 
00042   vtkTypeMacro(vtkTransformCoordinateSystems, vtkPointSetAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00048   static vtkTransformCoordinateSystems *New();
00049 
00051 
00054   vtkSetMacro(InputCoordinateSystem, int);
00055   vtkGetMacro(InputCoordinateSystem, int);
00056   void SetInputCoordinateSystemToDisplay()
00057     { this->SetInputCoordinateSystem(VTK_DISPLAY); }
00058   void SetInputCoordinateSystemToViewport()
00059     { this->SetInputCoordinateSystem(VTK_VIEWPORT); }
00060   void SetInputCoordinateSystemToWorld()
00061     { this->SetInputCoordinateSystem(VTK_WORLD); }
00063 
00065 
00068   vtkSetMacro(OutputCoordinateSystem, int);
00069   vtkGetMacro(OutputCoordinateSystem, int);
00070   void SetOutputCoordinateSystemToDisplay()
00071     { this->SetOutputCoordinateSystem(VTK_DISPLAY); }
00072   void SetOutputCoordinateSystemToViewport()
00073     { this->SetOutputCoordinateSystem(VTK_VIEWPORT); }
00074   void SetOutputCoordinateSystemToWorld()
00075     { this->SetOutputCoordinateSystem(VTK_WORLD); }
00077 
00079   unsigned long GetMTime();
00080 
00082 
00087   void SetViewport(vtkViewport* viewport);
00088   vtkGetObjectMacro(Viewport, vtkViewport);
00090 
00091 protected:
00092   vtkTransformCoordinateSystems();
00093   ~vtkTransformCoordinateSystems();
00094 
00095   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00096 
00097   int InputCoordinateSystem;
00098   int OutputCoordinateSystem;
00099   vtkViewport* Viewport;
00100 
00101   vtkCoordinate* TransformCoordinate;
00102 
00103 private:
00104   vtkTransformCoordinateSystems(const vtkTransformCoordinateSystems&);  // Not implemented.
00105   void operator=(const vtkTransformCoordinateSystems&);  // Not implemented.
00106 };
00107 
00108 #endif