VR-Forces 4.0.4 Class Documentation
include/terrainqt/altitudeSelectionWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: altitudeSelectionWidget.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef ALTITUDESELECTIONWIDGET_H_
00013 #define ALTITUDESELECTIONWIDGET_H_
00014 
00015 #include "terrainqt/ui_altitudeSelectionWidgetUi.h"
00016 
00017 #include "drawerNative/convUtils.h"
00018 #include "geometry/point.h"
00019 
00020 #include <QtGui/QValidator>
00021 
00022 const int DtClampPolygonSelected = 0;
00023 const int DtSetManuallySelected = 1;
00024 const int DtHeightAboveTerrainSelected = 2;
00025 
00031 
00032 #include "terrainqt/terrainqtDefines.h"
00033 
00034 class DT_DLL_terrainqt DtAltitudeIntersectionPoint 
00035 {
00036 public:
00037    DtAltitudeIntersectionPoint() {};
00038    DtAltitudeIntersectionPoint(const QString& soil, const DtPoint& intPoint) :
00039       mySoil(soil), myIntPoint(intPoint) {};
00040    DtAltitudeIntersectionPoint(const DtAltitudeIntersectionPoint& orig) :
00041       mySoil(orig.mySoil), myIntPoint(orig.myIntPoint) {};
00042 
00043    QString mySoil;
00044    DtPoint myIntPoint;
00045 };
00046 
00047 class DT_DLL_terrainqt DtAltitudeSelectionWidget : public QWidget
00048 {
00049 
00050    Q_OBJECT
00051 
00052 public:
00053 
00055    DtAltitudeSelectionWidget(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
00056 
00058    virtual ~DtAltitudeSelectionWidget();
00059 
00061    virtual bool init(const DtPoint& point);
00062 
00064    virtual double altitude() const;
00065 
00068    virtual bool determineClamping() const;
00069 
00071    virtual QString altitudeText() const;
00072 
00074    virtual void setAltitude(double d);
00075 
00076    virtual void setLocation(const DtPoint&, bool updateOffset);
00077    virtual void disconnectConnections();
00078 
00079    virtual void setShowHeightAboveTerrain(bool, double t = -1);
00080    bool showHeightAboveTerrain() const;
00081    virtual double heightAboveTerrain() const;
00082    virtual bool useHeightAboveTerrain() const;
00083    virtual bool useAltitude() const;
00084 
00086    virtual const DtPoint& location() const;
00087 
00089    virtual void clearPointEdit();
00090 
00091    virtual void setAltitudeOnlyMode(bool);
00092    virtual bool altitudeOnlyMode() const;
00093 
00094 public slots:
00095 
00096    virtual void updateUnits(const QString& u, const QString&, const QString&);
00097    virtual void setLabels();
00098    
00099 protected slots:
00100    virtual void selectAltitude();
00101    virtual void clampChanged();
00102    virtual void clampSelectionChanged();
00103    virtual void selectionChanged();
00104 
00105 signals:
00106    void altitudeSelectionChanged(int, double);
00107 
00108 protected:
00109    virtual void fillInIntersections(const DtPoint* pnt, double curAltitude);
00110 
00112    virtual QString titleFor(const DtAltitudeIntersectionPoint&) const;
00113 
00114    virtual void modifyHeightAboveTerrain();
00115 
00116 public:
00117    Ui::AltitudeSelectionWidgetUi myUiImpl;
00118 
00119 protected:
00120    QDoubleValidator myDoubleValidator;
00121    QVector<DtAltitudeIntersectionPoint>  myIntersectionPoints;
00122    bool myShowHeightAboveTerrain;
00123    bool myAltitudeOnlyMode;
00124    DtPoint myLocation;
00125    QString myDisplayingIn;
00126 };
00127 
00128 inline const DtPoint& DtAltitudeSelectionWidget::location() const
00129 {
00130    return myLocation;
00131 }
00132 
00133 inline bool DtAltitudeSelectionWidget::showHeightAboveTerrain() const
00134 {
00135    return myShowHeightAboveTerrain;
00136 }
00137 
00138 #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)