![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: terrainDisplayWidget.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef TERRAINDISPLAYWIDGET_H 00013 #define TERRAINDISPLAYWIDGET_H 00014 00015 #include "drawertdb/drawertdbDefines.h" 00016 #include "drawerNative/viewportExtents.h" 00017 #include "drawertdb/terrainGdbDrawer.h" 00018 #include "terrainDbFactory/tdbManager.h" 00019 00020 #include <QtGui/QWidget> 00021 #include <QtGui/QPixmap> 00022 00023 class DtTerrainDatabase; 00024 class DtPaperMapDatabase; 00025 class DtQtDrawer; 00026 class DtExtent; 00027 class DtTerrainPaperMapFactory; 00028 00038 00039 class DT_DLL_drawertdb DtTerrainDisplayWidget : public QWidget 00040 { 00041 public: 00042 DtTerrainDisplayWidget(QWidget* parent, Qt::WindowFlags flags = 0); 00043 00044 virtual ~DtTerrainDisplayWidget(); 00045 00046 public: 00048 00053 virtual bool load(const DtFilename& f); 00054 00056 virtual void setTerrainDatabase(const DtTerrainDatabase*, bool redisplay = true); 00057 const DtTerrainDatabase* terrainDatabase() const; 00058 00060 virtual void setPaperMapDatabase(const DtPaperMapDatabase*, bool redisplay = true); 00061 const DtPaperMapDatabase* paperMapDatabase() const; 00062 00064 void setEnableKeyboardSupport(bool); 00065 bool enableKeyboardSupport() const; 00066 00067 protected: 00070 virtual void resizeEvent(QResizeEvent* r); 00071 00074 virtual void keyPressEvent(QKeyEvent*); 00075 00077 virtual bool processMovementKey(QKeyEvent*); 00078 00082 virtual void paintTerrain(); 00083 00085 virtual void paintEvent(QPaintEvent*); 00086 00088 virtual DtQtDrawer* createTerrainPainter() const; 00089 00090 public: 00093 00094 virtual void resetToGlobalView(); 00095 virtual void zoomIn(); 00096 virtual void zoomOut(); 00097 virtual void panNorthwest(); 00098 virtual void panNorth(); 00099 virtual void panNortheast(); 00100 virtual void panEast(); 00101 virtual void panSoutheast(); 00102 virtual void panSouth(); 00103 virtual void panSouthwest(); 00104 virtual void panWest(); 00105 00106 virtual const double& panStep() const; 00107 virtual void setPanStep(const double& step); 00108 00109 virtual const double& zoomStep() const; 00110 virtual void setZoomStep(const double& step); 00111 00114 virtual void setDisplayExtent(const DtExtent&); 00115 00116 protected: 00117 DtTerrainGdbDrawer myTerrainDrawer; 00118 DtTdbManager myTdbManager; 00119 DtViewportExtents myViewportExtents; 00120 QPixmap myBackground; 00121 DtQtDrawer* myTerrainPainter; 00122 DtTerrainPaperMapFactory* myPaperMapFactory; 00123 00124 const DtTerrainDatabase* myTerrainDatabase; 00125 const DtPaperMapDatabase* myPaperMapDatabase; 00126 00127 bool myKeyboardSupport; 00128 }; 00129 00130 inline const DtTerrainDatabase* DtTerrainDisplayWidget::terrainDatabase() const 00131 { 00132 return myTerrainDatabase; 00133 } 00134 00135 inline const DtPaperMapDatabase* DtTerrainDisplayWidget::paperMapDatabase() const 00136 { 00137 return myPaperMapDatabase; 00138 } 00139 00140 inline void DtTerrainDisplayWidget::setEnableKeyboardSupport(bool b) 00141 { 00142 myKeyboardSupport = b; 00143 } 00144 00145 inline bool DtTerrainDisplayWidget::enableKeyboardSupport() const 00146 { 00147 return myKeyboardSupport; 00148 } 00149 00150 #endif