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

dox/Rendering/vtkInteractorStyleTerrain.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkInteractorStyleTerrain.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00058 #ifndef __vtkInteractorStyleTerrain_h 00059 #define __vtkInteractorStyleTerrain_h 00060 00061 #include "vtkInteractorStyle.h" 00062 00063 class vtkPolyDataMapper; 00064 class vtkSphereSource; 00065 class vtkExtractEdges; 00066 00067 class VTK_RENDERING_EXPORT vtkInteractorStyleTerrain : public vtkInteractorStyle 00068 { 00069 public: 00071 static vtkInteractorStyleTerrain *New(); 00072 00073 vtkTypeRevisionMacro(vtkInteractorStyleTerrain,vtkInteractorStyle); 00074 void PrintSelf(ostream& os, vtkIndent indent); 00075 00077 00079 virtual void OnMouseMove(); 00080 virtual void OnLeftButtonDown(); 00081 virtual void OnLeftButtonUp(); 00082 virtual void OnMiddleButtonDown(); 00083 virtual void OnMiddleButtonUp(); 00084 virtual void OnRightButtonDown(); 00085 virtual void OnRightButtonUp(); 00087 00089 virtual void OnChar(); 00090 00091 // These methods for the different interactions in different modes 00092 // are overridden in subclasses to perform the correct motion. 00093 virtual void Rotate(); 00094 virtual void Pan(); 00095 virtual void Dolly(); 00096 00098 00099 vtkSetMacro(LatLongLines,int); 00100 vtkGetMacro(LatLongLines,int); 00101 vtkBooleanMacro(LatLongLines,int); 00103 00104 protected: 00105 vtkInteractorStyleTerrain(); 00106 ~vtkInteractorStyleTerrain(); 00107 00108 // Internal helper attributes 00109 int LatLongLines; 00110 00111 vtkSphereSource *LatLongSphere; 00112 vtkPolyDataMapper *LatLongMapper; 00113 vtkActor *LatLongActor; 00114 vtkExtractEdges *LatLongExtractEdges; 00115 00116 void SelectRepresentation(); 00117 void CreateLatLong(); 00118 00119 float MotionFactor; 00120 00121 private: 00122 vtkInteractorStyleTerrain(const vtkInteractorStyleTerrain&); // Not implemented. 00123 void operator=(const vtkInteractorStyleTerrain&); // Not implemented. 00124 00125 }; 00126 00127 #endif 00128