VR-Forces 4.0.4 Class Documentation
include/drawertdb/terrainGdbDrawer.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2006 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: terrainGdbDrawer.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef TERRAINGDBDRAWER_H
00013 #define TERRAINGDBDRAWER_H
00014 
00015 #include "drawertdb/drawertdbDefines.h"
00016 #include "drawertdb/terrainCollectionDrawer.h"
00017 
00018 class DtTerrainPolygonDrawer;
00019 class DtTerrainPaperMapDrawer;
00020 class DtTerrainFeatureDrawer;
00021 class DtTerrainWireframeDrawer;
00022 class DtTerrainContourLinesDrawer;
00023 class DtTerrainGridLineDrawer;
00024 class DtTdbDrawerOptions;
00025 class DtCoordinateSystem;
00026 class DtPaperMapDatabase;
00027 
00032 class DT_DLL_drawertdb DtTerrainGdbDrawer : public DtCollectionTerrainDrawer
00033 {
00034 public:
00035    DtTerrainGdbDrawer();
00036    virtual ~DtTerrainGdbDrawer();
00037 
00039    virtual void init();
00040 
00044    virtual void draw(const DtTerrainDatabase*, const DtViewportExtents*, DtPrimitiveDrawer* painter);
00045 
00047    virtual void setTerrainDrawerOptions(DtTdbDrawerOptions*);
00048    virtual DtTdbDrawerOptions* terrainDrawerOptions();
00049 
00050    virtual void setCoordinateSystem(const DtCoordinateSystem*);
00051    virtual const DtCoordinateSystem* coordinateSystem() const;
00052 
00053    virtual void setPaperMapDatabase(const DtPaperMapDatabase*);
00054    const DtPaperMapDatabase* paperMapDatabase() const;
00055 
00056    virtual int coordinateSystemDrawerType() const;
00057 
00058 public:
00059    DtTerrainPolygonDrawer* polygonDrawer() const;
00060    DtTerrainPaperMapDrawer* paperMapDrawer() const;
00061    DtTerrainFeatureDrawer* featureDrawer() const;
00062    DtTerrainWireframeDrawer* wireframeDrawer() const;
00063    DtTerrainPolygonDrawer* boundingVolumesDrawer() const;
00064    DtTerrainContourLinesDrawer* contourLinesDrawer() const;
00065    DtTerrainGridLineDrawer* gridLineDrawer() const;
00066 
00067 protected:
00070    virtual void createTerrainDrawers();
00071 
00072    virtual DtTerrainPolygonDrawer* createPolygonDrawer() const;
00073    virtual DtTerrainPaperMapDrawer* createPaperMapDrawer() const;
00074    virtual DtTerrainFeatureDrawer* createFeatureDrawer() const;
00075    virtual DtTerrainWireframeDrawer* createWireframeDrawer() const;
00076    virtual DtTerrainPolygonDrawer* createBoundingVolumesDrawer() const;
00077    virtual DtTerrainContourLinesDrawer* createContourLinesDrawer() const;
00078    virtual DtTerrainGridLineDrawer* createGridLineDrawer() const;
00079 
00080    virtual DtTdbDrawerOptions* createTerrainDrawerOptions() const;
00081 
00082 protected:
00084    virtual void updateDrawersFromOptions();
00085 
00086    virtual void updatePolygonDrawer();
00087    virtual void updatePaperMapDrawer();
00088    virtual void updateFeatureDrawer();
00089    virtual void updateWireframeDrawer();
00090    virtual void updateBoundingVolumesDrawer();
00091    virtual void updateContourLinesDrawer();
00092    virtual void updateGridLineDrawer();
00093 
00094 protected:
00095    DtTerrainPolygonDrawer* myPolygonDrawer;
00096    DtTerrainPaperMapDrawer* myPaperMapDrawer;
00097    DtTerrainFeatureDrawer* myFeatureDrawer;
00098    DtTerrainWireframeDrawer* myWireframeDrawer;
00099    DtTerrainPolygonDrawer* myBoundingVolumesDrawer;
00100    DtTerrainContourLinesDrawer* myContourLinesDrawer;
00101    DtTerrainGridLineDrawer* myGridLineDrawer;
00102 
00103    DtTdbDrawerOptions* myTerrainDrawerOptions;
00104    bool myOwnsTerrainDrawerOptions;
00105 
00108    const DtCoordinateSystem* myCoordinateSystem;
00109 
00111    const DtPaperMapDatabase* myPaperMapDatabase;
00112 };
00113 
00114 inline const DtPaperMapDatabase* DtTerrainGdbDrawer::paperMapDatabase() const
00115 {
00116    return myPaperMapDatabase;
00117 }
00118 
00119 inline DtTerrainPolygonDrawer* DtTerrainGdbDrawer::polygonDrawer() const
00120 {
00121    return myPolygonDrawer;
00122 }
00123 
00124 inline DtTerrainPaperMapDrawer* DtTerrainGdbDrawer::paperMapDrawer() const
00125 {
00126    return myPaperMapDrawer;
00127 }
00128 
00129 inline DtTerrainFeatureDrawer* DtTerrainGdbDrawer::featureDrawer() const
00130 {
00131    return myFeatureDrawer;
00132 }
00133 
00134 inline DtTerrainWireframeDrawer* DtTerrainGdbDrawer::wireframeDrawer() const
00135 {
00136    return myWireframeDrawer;
00137 }
00138 
00139 inline DtTerrainPolygonDrawer* DtTerrainGdbDrawer::boundingVolumesDrawer() const
00140 {
00141    return myBoundingVolumesDrawer;
00142 }
00143 
00144 inline DtTerrainContourLinesDrawer* DtTerrainGdbDrawer::contourLinesDrawer() const
00145 {
00146    return myContourLinesDrawer;
00147 }
00148 
00149 inline DtTerrainGridLineDrawer* DtTerrainGdbDrawer::gridLineDrawer() const
00150 {
00151    return myGridLineDrawer;
00152 }
00153 
00154 #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)