![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2000 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: tmViewportExtents.h,v $ $Revision: 1.34 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef TMVIEWPORTEXTENTS_H 00013 #define TMVIEWPORTEXTENTS_H 00014 00015 #include "drawerNative/viewportExtents.h" 00016 #include "archiver/archivableObject.h" 00017 00018 //This class contains a DtViewportExtents and a wrapper for all its useful functions. 00019 //The reason for this to be this way is so that TMViewportExtents can be a QObject 00020 //and thus have signals and slots 00021 #include "tmqt/tmqtDefines.h" 00022 class DT_DLL_tmqt DtTMViewportExtents : public DtArchivableObject 00023 { 00024 Q_OBJECT 00025 00026 public: 00027 00028 DtTMViewportExtents(); 00029 00030 DtTMViewportExtents(const DtTMViewportExtents& v); 00031 00032 virtual ~DtTMViewportExtents(); 00033 00034 DtTMViewportExtents& operator=(const DtTMViewportExtents& rhs); 00035 00037 virtual void zoom(const DtPoint& center, const double& mag, bool redraw = true); 00038 virtual void resize(const DtExtent& e, bool redraw = true); 00039 00041 virtual void recenter(const DtPoint& center, bool redraw = true, bool clipToGlobal = true); 00042 00044 virtual const DtExtent& globalExtent() const; 00045 virtual void setGlobalExtent(const DtExtent& e); 00046 virtual const double& globalAspectRatio() const; 00047 00048 virtual const DtExtent& localExtent() const; 00049 virtual void setLocalExtent(const DtExtent& e, bool redraw = true); 00050 virtual const double& localAspectRatio() const; 00051 00052 virtual const DtDisplaySize windowSize() const; 00053 virtual void setWindowSize(const DtDisplaySize& s, bool redraw = true); 00054 virtual const double& windowAspectRatio() const; 00055 00058 virtual void changeWindowSize(const DtDisplaySize& s, bool redraw = true, bool resetExtents = true); 00059 00064 virtual void resizeToGlobalView(const DtDisplaySize& s, bool redraw = true); 00065 00067 virtual void windowFromDatabase( 00068 DtDisplayPoint& xp, 00069 const DtPoint& gd, 00070 bool smartRound = false) const; 00071 00073 virtual void databaseFromWindow( 00074 DtPoint& gd, 00075 const DtDisplayPoint& xp) const; 00076 00078 virtual void databaseFromWindow( 00079 DtPoint& gd, 00080 const double& x, 00081 const double& y) const; 00082 00085 virtual double getDisplayExtentsRatioX() const; 00088 virtual double getDisplayExtentsRatioY() const; 00089 00091 00092 virtual const double& panStep() const; 00093 virtual const double& minPanStep() const; 00094 virtual const double& maxPanStep() const; 00095 virtual const double& zoomStep() const; 00096 virtual const double& minZoomStep() const; 00097 00098 virtual const double& maxZoomStep() const; 00099 00104 virtual const double& uMin() const; 00105 virtual void setUMin(const double& min); 00106 00107 virtual const double& uMax() const; 00108 virtual void setUMax(const double& max); 00109 00110 virtual const double& vMin() const; 00111 virtual void setVMin(const double& min); 00112 00113 virtual const double& vMax() const; 00114 virtual void setVMax(const double& max); 00115 00116 virtual double minimumViewWidth() const; 00117 virtual double minimumViewHeight() const; 00118 00119 virtual const DtViewportExtents& viewportExtents() const 00120 {return myViewportExtents;} 00121 00124 virtual void clearExtents(bool signal = false); 00125 00126 virtual void setKeepAspectRatios(bool b); 00127 00130 virtual void read(QTextStream& s); 00131 00134 virtual void zoomLevel(double& magX, double& magY) const; 00135 00139 virtual void zoomFromGlobal(const DtPoint& center, const double& magX, 00140 const double& magY, bool redraw = true); 00141 00144 virtual void setFromCorners(const DtPoint& nw, const DtPoint& se, 00145 bool redraw = true); 00146 00148 virtual bool isValidWindowDisplayPointFromDatabase(DtPoint gd) const; 00149 00151 virtual DtPoint center() const; 00152 00153 public: 00154 00156 static DtTMViewportExtents* create(); 00157 00158 signals: 00159 void viewportExtentsChanged(const DtTMViewportExtents* v); 00160 00161 public slots: 00162 00163 virtual void resetToGlobalView(bool redraw = true); 00164 virtual void zoomIn(bool redraw = true); 00165 virtual void zoomOut(bool redraw = true); 00166 virtual void panNorthwest(bool redraw = true); 00167 virtual void panNorth(bool redraw = true); 00168 virtual void panNortheast(bool redraw = true); 00169 virtual void panEast(bool redraw = true); 00170 virtual void panSoutheast(bool redraw = true); 00171 virtual void panSouth(bool redraw = true); 00172 virtual void panSouthwest(bool redraw = true); 00173 virtual void panWest(bool redraw = true); 00174 virtual void setPanStep(const double& step); 00175 virtual void setMinPanStep(const double& step); 00176 virtual void setMaxPanStep(const double& step); 00177 virtual void setZoomStep(const double& step); 00178 virtual void setMinZoomStep(const double& step); 00179 virtual void setMaxZoomStep(const double& step); 00180 00181 protected: 00182 DtViewportExtents myViewportExtents; 00183 00185 double myZoomStep; 00186 double myPanStep; 00187 }; 00188 00189 #endif //TMVIEWPORTEXTENTS_H