VR-Forces 4.0.4 Class Documentation
include/vmap/vmapDatabase.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright  (c) 2006 MAK Technologies, Inc.** All rights reserved.     
00003 ******************************************************************************/
00004 /******************************************************************************
00005 * $RCSfile: vmapDatabase.h,v $ $Revision: 1.21 $ $State: Exp $
00006 ******************************************************************************/
00007 
00008 #ifndef VMAP_DATABASE_H_
00009 #define VMAP_DATABASE_H_
00010 
00013 
00014 #include <list>
00015 
00016 #include <matrix/geodCoord.h>
00017 #include <vlutil/vlString.h>
00018 
00019 #include "vmap/vmapDefines.h"
00020 
00021 //forward defs
00022 class DtVpfTile;
00023 class DtVpfTable;
00024 class DtVectorNetwork;
00025 class DtVpfRow;
00026 class DtTerrainDatabase;
00027 class DtVpfSpecFactory;
00028 
00029 //typedefs
00030 typedef std::list<DtVpfTile*> DtTileList;
00031 typedef std::list<DtVpfTile*>::iterator DtTileListIter;
00032 
00033 typedef enum {PointFeature, LinearFeature, ArealFeature} DtFeatureTypes;
00034 
00035 struct DtAreaQuad 
00036 {
00037    DtGeodeticCoord topRight;
00038    DtGeodeticCoord bottomLeft;
00039 };
00040 
00043 class DT_DLL_vmap  DtVpfDatabase
00044 {
00045    private: 
00047       DtVpfDatabase(const DtVpfDatabase &input);
00048 
00050       DtVpfDatabase& operator=(const DtVpfDatabase &input);
00051 
00052    public:
00055       DtVpfDatabase(DtString path);
00056 
00058       virtual ~DtVpfDatabase();
00059 
00062       virtual bool initDatabase();
00063 
00066       virtual DtString dbPath() const;
00067 
00070       virtual DtString library() const {return myLibraryOfInterest;}
00071 
00074       virtual DtString theme() const {return myThemeOfInterest;}
00075 
00078       virtual DtString feature() const {return myFeatureOfInterest;}
00079 
00082       virtual DtString tilePath(int ID) const;
00083 
00086       virtual bool setAreaOfInterest(const DtGeodeticCoord& SWCorner, 
00087          const DtGeodeticCoord& NECorner);
00088 
00091       virtual void getAreaOfInterest(DtGeodeticCoord& SWCorner, 
00092          DtGeodeticCoord& NECorner) const;
00093 
00095       virtual bool setLibraryOfInterest(DtString lib);
00096 
00099       virtual bool setThemeOfInterest(DtString theme);
00100 
00103       virtual bool setFeatureOfInterest(DtString feature);
00104 
00108       virtual bool loadTiles(DtVectorNetwork* vectorNetwork);
00109 
00113       virtual DtTerrainDatabase* terrainDatabase() const;
00114 
00117       virtual void setTerrainDatabase(DtTerrainDatabase* tdb);
00118 
00122       virtual DtVpfSpecFactory* specFactory() const;
00123 
00126       virtual std::list<DtString> libraryList() const;
00127 
00130       virtual std::list<DtString> themeList() const;
00131 
00134       virtual std::list<DtString> featureList() const;
00135 
00136    protected:
00137       virtual bool overlap(DtAreaQuad& a1, DtAreaQuad& a2);
00138 
00139       DtVectorNetwork* myVectorNetwork;
00140       DtString myPath;
00141 
00142       DtString myLibraryOfInterest;
00143       DtString myThemeOfInterest;
00144       DtString myFeatureOfInterest;
00145       DtGeodeticCoord mySWCorner;
00146       DtGeodeticCoord myNECorner;
00147 
00148       DtVpfTable* myLibraryReferenceTable;
00149       DtVpfTable* myTileReferenceTable;
00150       DtVpfTable* myTileFaceTable;
00151       DtVpfTable* myTileFaceBoundsTable;
00152       DtVpfTable* myGeoReferenceTable;
00153 
00154       DtVpfTable* myThemeCatagoryTable;
00155       DtVpfTable* myFeatureClassTable;
00156 
00157       DtTerrainDatabase* myTerrainDatabase;
00158       DtVpfSpecFactory* mySpecFactory;
00159 };
00160 
00161 #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)