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

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)