VTK
|
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