![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: terrainApplication.h,v $ $Revision: 1.38 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef terrainApplication_H_ 00009 #define terrainApplication_H_ 00010 00013 00014 #include "tmqt/tmApplication.h" 00015 00016 class DtTerrainDrawerColl; 00017 class DtTerrainFeaturesListEx; 00018 class DtTerrainDatabase; 00019 class DtPaperMapDatabase; 00020 class DtTerrainFactory; 00021 class DtBoundingVolumesManager; 00022 00023 class DtTerrainUnitFormatter; 00024 00025 #include "terrainqt/terrainqtDefines.h" 00026 class DT_DLL_terrainqt DtTerrainApplication : public DtTMApplication 00027 { 00028 00029 Q_OBJECT 00030 00031 public: 00032 00034 DtTerrainApplication(int& argc, char** argv); 00035 00037 virtual ~DtTerrainApplication(); 00038 00040 virtual bool init(DtTMFactory* f, bool bShowSplashScreen = true); 00041 00042 virtual DtTerrainFeaturesListEx * featuresList(); 00043 00045 virtual DtTerrainDrawerColl *terrainDrawerColl() const; 00046 00048 virtual DtBoundingVolumesManager* boundingVolumesManager() const; 00049 00050 public: 00052 virtual bool openTerrainDatabase(const QString& db); 00053 00055 virtual void closeTerrainDatabase(); 00056 00057 virtual void setTerrainUnitFormatter(DtTerrainUnitFormatter*); 00058 const DtTerrainUnitFormatter* unitFormatter() const; 00059 00060 public slots: 00064 virtual void setTerrainDatabase(const DtTerrainDatabase* t); 00065 virtual void setPaperMapDatabase(const DtPaperMapDatabase* p); 00066 virtual void setFeaturesList(DtTerrainFeaturesListEx * features); 00067 public: 00068 static DtTMApplication* create(int argc, char** argv); 00069 00070 signals: 00073 void terrainDatabaseSet(const DtTerrainDatabase* t); 00074 void paperMapLoaded(const DtPaperMapDatabase* p); 00075 00076 protected: 00077 00079 virtual bool initMenuSystem(); 00080 00082 virtual bool needsTerrainDatabase() const; 00083 virtual bool initConnections(); 00084 virtual bool readOptions(DtTMFactory* f); 00085 00087 virtual bool createBoundingVolumesManager(DtTMFactory* f); 00088 virtual void initGlobalMiniMapConnections(); 00089 virtual bool setupFromOptions(); 00090 00091 virtual DtTerrainUnitFormatter* createTerrainUnitFormatter(); 00092 00093 protected: 00094 DtTerrainFeaturesListEx* myFeaturesList; 00095 00096 DtTerrainDrawerColl* myTerrainDrawerColl; 00097 DtBoundingVolumesManager* myBoundingVolumesManager; 00098 00099 DtTerrainUnitFormatter* myTerrainUnitFormatter; 00100 bool myOwnsTerrainUnitFormatter; 00101 }; 00102 00103 inline const DtTerrainUnitFormatter* DtTerrainApplication::unitFormatter() const 00104 { 00105 return myTerrainUnitFormatter; 00106 } 00107 00108 #endif