VR-Forces 4.1.1 Class Documentation
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtTerrainDisplayWidget Class Reference

This widget is a convenience class that will allow the loading and display of terrain and map files. More...

Inheritance diagram for DtTerrainDisplayWidget:
Inheritance graph
[legend]

Public Member Functions

 DtTerrainDisplayWidget (QWidget *parent, Qt::WindowFlags flags=0)
virtual ~DtTerrainDisplayWidget ()
virtual bool load (const DtFilename &f)
 Terrain related methods.
virtual void setTerrainDatabase (const DtTerrainDatabase *, bool redisplay=true)
 When set, will cause the display to be updated with new terrain contents if redisplay flag is true.
const DtTerrainDatabaseterrainDatabase () const
virtual void setPaperMapDatabase (const DtPaperMapDatabase *, bool redisplay=true)
 When set, will cause the display to be updated with new paper map contents if redisplay flag is true.
const DtPaperMapDatabasepaperMapDatabase () const
void setEnableKeyboardSupport (bool)
 If set to true, will map keyboard to movement of terrain map.
bool enableKeyboardSupport () const
virtual void resetToGlobalView ()
 Terrain movement calls.
virtual void zoomIn ()
virtual void zoomOut ()
virtual void panNorthwest ()
virtual void panNorth ()
virtual void panNortheast ()
virtual void panEast ()
virtual void panSoutheast ()
virtual void panSouth ()
virtual void panSouthwest ()
virtual void panWest ()
virtual const double & panStep () const
virtual void setPanStep (const double &step)
virtual const double & zoomStep () const
virtual void setZoomStep (const double &step)
virtual void setDisplayExtent (const DtExtent &)
 Sets the extent to display for the map area.

Protected Member Functions

virtual void resizeEvent (QResizeEvent *r)
 Overridden to resize internal pixmap that is used to draw terrain onto.
virtual void keyPressEvent (QKeyEvent *)
 Overridden to see if keyboard support is enabled.
virtual bool processMovementKey (QKeyEvent *)
 Return true if key is handled. Also calls appropriate movement/zoom method for mapped key.
virtual void paintTerrain ()
 Uses myTerrainDrawer to draw terrain onto the myBackground variable.
virtual void paintEvent (QPaintEvent *)
 Overridden to paint terrain pixmap onto widget.
virtual DtQtDrawercreateTerrainPainter () const
 Override to supply a different terrain painter.

Protected Attributes

DtTerrainGdbDrawer myTerrainDrawer
DtTdbManager myTdbManager
DtViewportExtents myViewportExtents
QPixmap myBackground
DtQtDrawermyTerrainPainter
DtTerrainPaperMapFactorymyPaperMapFactory
const DtTerrainDatabasemyTerrainDatabase
const DtPaperMapDatabasemyPaperMapDatabase
bool myKeyboardSupport

Detailed Description

This widget is a convenience class that will allow the loading and display of terrain and map files.

A terrain can be displayed in this widget by either calling the load() method to load a terrain or by calling the setTerrainDatabase method. If papermaps are to be displayed, and the load() method is not used, the setPapermapDatabase call can be made to display papermaps.

While this widget does not support the automatic panning and zooming of the display, the pan and zoom routines can be used to adjust the map area display. If you wish to enable panning and zooming by the keypad, call setEnableKeyboardSupport(true). This will map the keyboard (including arrow and +/- keys) to pan and zoom of the map area. You can change the pan or zoom step size by calling the various set routines.

Constructor & Destructor Documentation

DtTerrainDisplayWidget::DtTerrainDisplayWidget ( QWidget parent,
Qt::WindowFlags  flags = 0 
)
virtual DtTerrainDisplayWidget::~DtTerrainDisplayWidget ( )
virtual

Member Function Documentation

virtual bool DtTerrainDisplayWidget::load ( const DtFilename &  f)
virtual

Terrain related methods.

Loads and displays the supplied database or map file. If successful, the internal myTerrainDatabase and myPaperMapDatabase are set and the screen is redrawn. If the terrain is not successfully loaded, the variables will be cleared out and the terrain will be redrawn with the erase color

virtual void DtTerrainDisplayWidget::setTerrainDatabase ( const DtTerrainDatabase ,
bool  redisplay = true 
)
virtual

When set, will cause the display to be updated with new terrain contents if redisplay flag is true.

const DtTerrainDatabase * DtTerrainDisplayWidget::terrainDatabase ( ) const
inline

References myTerrainDatabase.

virtual void DtTerrainDisplayWidget::setPaperMapDatabase ( const DtPaperMapDatabase ,
bool  redisplay = true 
)
virtual

When set, will cause the display to be updated with new paper map contents if redisplay flag is true.

const DtPaperMapDatabase * DtTerrainDisplayWidget::paperMapDatabase ( ) const
inline

References myPaperMapDatabase.

void DtTerrainDisplayWidget::setEnableKeyboardSupport ( bool  b)
inline

If set to true, will map keyboard to movement of terrain map.

References myKeyboardSupport.

bool DtTerrainDisplayWidget::enableKeyboardSupport ( ) const
inline

References myKeyboardSupport.

virtual void DtTerrainDisplayWidget::resizeEvent ( QResizeEvent *  r)
protectedvirtual

Overridden to resize internal pixmap that is used to draw terrain onto.

Also will cause a redraw of the terrain to the new widget size by calling paintTerrain()

virtual void DtTerrainDisplayWidget::keyPressEvent ( QKeyEvent *  )
protectedvirtual

Overridden to see if keyboard support is enabled.

If it is, process key for map movement, else call parent event. Calls processMovementKey to see if the event is handled.

virtual bool DtTerrainDisplayWidget::processMovementKey ( QKeyEvent *  )
protectedvirtual

Return true if key is handled. Also calls appropriate movement/zoom method for mapped key.

virtual void DtTerrainDisplayWidget::paintTerrain ( )
protectedvirtual

Uses myTerrainDrawer to draw terrain onto the myBackground variable.

Uses a DtQtDrawer to display terrain as default. To use a different drawer, override the createTerrainPainter() method to create a different type of drawer. The drawer will be created the first time the terrain is painted

virtual void DtTerrainDisplayWidget::paintEvent ( QPaintEvent *  )
protectedvirtual

Overridden to paint terrain pixmap onto widget.

virtual DtQtDrawer* DtTerrainDisplayWidget::createTerrainPainter ( ) const
protectedvirtual

Override to supply a different terrain painter.

virtual void DtTerrainDisplayWidget::resetToGlobalView ( )
virtual

Terrain movement calls.

Passes down to viewport extents based on existing pan/zoom ratios Call set routines to change those default ratios

virtual void DtTerrainDisplayWidget::zoomIn ( )
virtual
virtual void DtTerrainDisplayWidget::zoomOut ( )
virtual
virtual void DtTerrainDisplayWidget::panNorthwest ( )
virtual
virtual void DtTerrainDisplayWidget::panNorth ( )
virtual
virtual void DtTerrainDisplayWidget::panNortheast ( )
virtual
virtual void DtTerrainDisplayWidget::panEast ( )
virtual
virtual void DtTerrainDisplayWidget::panSoutheast ( )
virtual
virtual void DtTerrainDisplayWidget::panSouth ( )
virtual
virtual void DtTerrainDisplayWidget::panSouthwest ( )
virtual
virtual void DtTerrainDisplayWidget::panWest ( )
virtual
virtual const double& DtTerrainDisplayWidget::panStep ( ) const
virtual
virtual void DtTerrainDisplayWidget::setPanStep ( const double &  step)
virtual
virtual const double& DtTerrainDisplayWidget::zoomStep ( ) const
virtual
virtual void DtTerrainDisplayWidget::setZoomStep ( const double &  step)
virtual
virtual void DtTerrainDisplayWidget::setDisplayExtent ( const DtExtent )
virtual

Sets the extent to display for the map area.

Will square it up with screen size before setting

Member Data Documentation

DtTerrainGdbDrawer DtTerrainDisplayWidget::myTerrainDrawer
protected
DtTdbManager DtTerrainDisplayWidget::myTdbManager
protected
DtViewportExtents DtTerrainDisplayWidget::myViewportExtents
protected
QPixmap DtTerrainDisplayWidget::myBackground
protected
DtQtDrawer* DtTerrainDisplayWidget::myTerrainPainter
protected
DtTerrainPaperMapFactory* DtTerrainDisplayWidget::myPaperMapFactory
protected
const DtTerrainDatabase* DtTerrainDisplayWidget::myTerrainDatabase
protected

Referenced by terrainDatabase().

const DtPaperMapDatabase* DtTerrainDisplayWidget::myPaperMapDatabase
protected

Referenced by paperMapDatabase().

bool DtTerrainDisplayWidget::myKeyboardSupport
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)