![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: terrainDrawer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef TERRAINDRAWER_H 00013 #define TERRAINDRAWER_H 00014 00015 #include "drawertdb/drawertdbDefines.h" 00016 00017 class DtPrimitiveDrawer; 00018 class DtViewportExtents; 00019 class DtTerrainDatabase; 00020 class DtExtent; 00021 class DtHomogeneousTransfMatrix; 00022 class DtAllTypesPolygon; 00023 class DtPoint; 00024 00028 class DT_DLL_drawertdb DtTerrainDrawer 00029 { 00030 public: 00031 DtTerrainDrawer(); 00032 DtTerrainDrawer(const DtTerrainDrawer&); 00033 00034 virtual ~DtTerrainDrawer(); 00035 00036 DtTerrainDrawer& operator=(const DtTerrainDrawer&); 00037 00040 virtual void draw(const DtTerrainDatabase*, const DtViewportExtents*, DtPrimitiveDrawer* painter); 00041 00042 public: 00045 void setDrawingEnabled(bool); 00046 bool drawingEnabled() const; 00047 00048 protected: 00050 virtual void internalDraw(const DtTerrainDatabase*, const DtViewportExtents*, DtPrimitiveDrawer* painter) = 0; 00051 00052 protected: 00054 virtual void drawExtent(const DtExtent& extent, 00055 const DtHomogeneousTransfMatrix &mtx, const DtViewportExtents* v, DtPrimitiveDrawer* painter); 00056 00057 virtual void drawFilledPoly(const DtAllTypesPolygon *polygon, 00058 const DtHomogeneousTransfMatrix &mtx, const DtViewportExtents* v, DtPrimitiveDrawer* painter); 00059 00060 virtual void drawLine(const DtPoint& gdp0, 00061 const DtPoint& gdp1, const DtViewportExtents* view, DtPrimitiveDrawer* painter); 00062 00063 virtual void drawWireframePoly(const DtAllTypesPolygon *polygon, 00064 const DtHomogeneousTransfMatrix &mtx, const DtViewportExtents* v, DtPrimitiveDrawer* painter); 00065 00066 protected: 00067 bool myDrawingEnabled; 00068 }; 00069 00070 inline void DtTerrainDrawer::setDrawingEnabled(bool b) 00071 { 00072 myDrawingEnabled = b; 00073 } 00074 00075 inline bool DtTerrainDrawer::drawingEnabled() const 00076 { 00077 return myDrawingEnabled; 00078 } 00079 00080 #endif