VR-Forces 4.0.4 Class Documentation
include/drawertdb/terrainDisplayWidget.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)