VR-Forces 4.0.4 Class Documentation
include/drawertdb/terrainGridLineDrawer.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2006 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: terrainGridLineDrawer.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef TERRAINGRIDLINEDRAWER_H
00013 #define TERRAINGRIDLINEDRAWER_H
00014 
00015 #include "drawertdb/drawertdbDefines.h"
00016 #include "drawertdb/terrainDrawer.h"
00017 #include "drawerNative/gridLineDrawer.h"
00018 #include <QtGui/QColor>
00019 
00020 class DtPrimitiveDrawer;
00021 class DtViewportExtents;
00022 class DtTerrainDatabase;
00023 class DtExtent;
00024 class DtHomogeneousTransfMatrix;
00025 class DtPoint;
00026 class DtCoordinateSystem;
00027 
00029 class DT_DLL_drawertdb DtTerrainGridLineDrawer : public DtTerrainDrawer
00030 {
00031 public:
00032    DtTerrainGridLineDrawer();
00033    DtTerrainGridLineDrawer(const DtTerrainGridLineDrawer&);
00034 
00035    virtual ~DtTerrainGridLineDrawer();
00036 
00041    DtTerrainGridLineDrawer& operator=(const DtTerrainGridLineDrawer&);
00042 
00043    void setManualGridLineFrequency(double d);
00044    double manualGridLineFrequency() const;
00045 
00047    void setManualMode(bool);
00048    bool manualMode() const;
00049 
00050    void setGridLineColor(const QColor&);
00051    const QColor& gridLineColor() const;
00052 
00053    void setGridLineLabelColor(const QColor&);
00054    const QColor& gridLineLabelColor() const;
00055 
00058    void setCoordinateSystem(const DtCoordinateSystem*);
00059    const DtCoordinateSystem* coordinateSystem() const;
00060 
00061    void setAutoGridLineFrequency(int);
00062    int autoGridLineFrequency() const;
00063 
00064    static DtTerrainGridLineDrawer* create();
00065 
00067    virtual void drawGridLines(const DtTerrainDatabase*, const DtViewportExtents*, DtPrimitiveDrawer* painter);
00068 
00070    void setDrawScale(DtGridLineDrawer::DtScaleType);
00071    DtGridLineDrawer::DtScaleType drawScale() const;
00072 
00073    virtual double autoGridLineIncrement(const DtViewportExtents* v, const DtTerrainDatabase* db) const;
00074    virtual int coordinateSystemDrawerType() const;
00075 
00076 protected:
00077    virtual void internalDraw(const DtTerrainDatabase*, const DtViewportExtents*, DtPrimitiveDrawer* painter);
00078 
00079    virtual void drawManualGridLines(const DtTerrainDatabase* db, const DtViewportExtents* v, DtPrimitiveDrawer* painter);
00080    virtual void drawAutoGridLines(const DtTerrainDatabase* db, const DtViewportExtents* v, DtPrimitiveDrawer* painter);
00081 
00082 protected:
00084    virtual void drawGridLines(const DtPoint &vp_min_WC, const DtPoint &vp_max_WC,
00085       double increment, const DtTerrainDatabase* db, const DtViewportExtents* v, DtPrimitiveDrawer* painter);
00086 
00088    virtual void createCoordinateSystem(const DtTerrainDatabase*);
00089 
00090    virtual void cleanupCoordinateSystem();
00091 
00092 protected:
00093    double myManualGridLineFrequency;
00094    bool myManualMode;
00095 
00096    QColor myGridLineColor;
00097    QColor myGridLineLabelColor;
00098 
00099    int myAutoGridLineFrequency;
00100 
00104    const DtCoordinateSystem* myCoordinateSystem;
00105    bool myOwnsCoordinateSystem;
00106 
00107    DtGridLineDrawer::DtScaleType myScaleLine;
00108 };
00109 
00110 inline void DtTerrainGridLineDrawer::setManualGridLineFrequency(double d)
00111 {
00112    myManualGridLineFrequency = d;
00113 }
00114 
00115 inline double DtTerrainGridLineDrawer::manualGridLineFrequency() const
00116 {
00117    return myManualGridLineFrequency;
00118 }
00119 
00120 inline void DtTerrainGridLineDrawer::setManualMode(bool b)
00121 {
00122    myManualMode = b;
00123 }
00124 
00125 inline bool DtTerrainGridLineDrawer::manualMode() const
00126 {
00127    return myManualMode;
00128 }
00129 
00130 inline void DtTerrainGridLineDrawer::setGridLineColor(const QColor& c)
00131 {
00132    myGridLineColor = c;
00133 }
00134 
00135 inline const QColor& DtTerrainGridLineDrawer::gridLineColor() const
00136 {
00137    return myGridLineColor;
00138 }
00139 
00140 inline void DtTerrainGridLineDrawer::setGridLineLabelColor(const QColor& c)
00141 {
00142    myGridLineLabelColor = c;
00143 }
00144 
00145 inline const QColor& DtTerrainGridLineDrawer::gridLineLabelColor() const
00146 {
00147    return myGridLineLabelColor;
00148 }
00149 
00150 inline void DtTerrainGridLineDrawer::setAutoGridLineFrequency(int c)
00151 {
00152    myAutoGridLineFrequency = c;
00153 }
00154 
00155 inline int DtTerrainGridLineDrawer::autoGridLineFrequency() const
00156 {
00157    return myAutoGridLineFrequency;
00158 }
00159 
00160 inline const DtCoordinateSystem* DtTerrainGridLineDrawer::coordinateSystem() const
00161 {
00162    return myCoordinateSystem;
00163 }
00164 
00165 inline void DtTerrainGridLineDrawer::setDrawScale(DtGridLineDrawer::DtScaleType s)
00166 {
00167    myScaleLine = s;
00168 }
00169 
00170 inline DtGridLineDrawer::DtScaleType DtTerrainGridLineDrawer::drawScale() const
00171 {
00172    return myScaleLine;
00173 }
00174 
00175 #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)