12 #include "vtdata/Plants.h"
13 #include "vtdata/Fence.h"
17 #include "TilingOptions.h"
18 #include "RenderOptions.h"
19 #include "BuilderView.h"
48 void ReadDatapathsFromXML(ifstream &input,
const char *path);
52 void DeleteContents();
55 int NumLayers()
const {
return m_Layers.GetSize(); }
56 vtLayer *GetLayer(
int i)
const {
return m_Layers[i]; }
57 vtLayer *LoadLayer(
const wxString &fname);
59 virtual bool AddLayerWithCheck(
vtLayer *pLayer,
bool bRefresh =
true);
60 virtual void RemoveLayer(
vtLayer *lp);
62 virtual void SetActiveLayer(
vtLayer *lp,
bool refresh =
false);
63 vtLayer *GetActiveLayer() {
return m_pActiveLayer; }
66 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_ELEVATION)
72 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_IMAGE)
78 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_ROAD)
84 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_RAW)
90 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_STRUCTURE)
96 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_UTILITY)
102 if (m_pActiveLayer && m_pActiveLayer->GetType() == LT_VEG)
106 int LayersOfType(LayerType lt);
107 vtLayer *FindLayerOfType(LayerType lt);
108 int NumModifiedLayers();
110 DPoint2 EstimateGeoDataCenter();
111 LayerType AskLayerType();
113 void SwapLayerOrder(
int n0,
int n1);
116 virtual void RefreshTreeStatus() {}
117 virtual void RefreshStatusBar() {}
119 virtual void OnSetMode(LBMode m) {}
120 virtual void OnSelectionChanged() {}
121 virtual void UpdateDistance(
const DPoint2 &p1,
const DPoint2 &p2) {}
122 virtual void UpdateDistance(
const DLine2 &path) {}
123 virtual void ZoomAll() {}
124 bool DrawDisabled() {
return m_bDrawDisabled; }
125 void AddToMRU(vtStringArray &arr,
const vtString &fname);
135 float GetHeightFromTerrain(
const DPoint2 &p);
137 uint ElevLayerArray(std::vector<vtElevLayer*> &elevs);
139 void FlagStickyLayers(
const std::vector<vtElevLayer*> &elevs);
144 bool GetRGBUnderCursor(
const DPoint2 &p,
RGBi &rgb);
151 void LookForContentFiles();
152 void FreeContentFiles();
154 std::vector<vtContentManager*> m_contents;
161 bool LoadSpeciesFile(
const char *fname);
162 bool LoadBiotypesFile(
const char *fname);
165 vtBioRegion *GetBioRegion() {
return &m_BioRegion; }
171 void ImportData(LayerType ltype);
174 vtLayer *ImportFromDLG(
const wxString &strFileName, LayerType ltype);
175 vtLayer *ImportFromSHP(
const wxString &strFileName, LayerType ltype);
176 vtLayer *ImportFromDXF(
const wxString &strFileName, LayerType ltype);
177 vtLayer *ImportElevation(
const wxString &strFileName,
bool bWarn =
true);
178 vtLayer *ImportImage(
const wxString &strFileName);
179 vtLayer *ImportFromLULC(
const wxString &strFileName, LayerType ltype);
180 vtLayer *ImportRawFromOGR(
const wxString &strFileName);
181 vtLayer *ImportVectorsWithOGR(
const wxString &strFileName, LayerType ltype);
183 void ImportFromMapSource(
const char *fname);
186 vtFeatureSet *ImportPointsFromXYZ(
const char *fname,
bool progress_callback(
int) = NULL);
187 void ImportDataPointsFromTable(
const char *fname,
bool progress_callback(
int) = NULL);
188 int ImportDataFromTIGER(
const wxString &strDirName);
189 void ImportDataFromNTF(
const wxString &strFileName);
190 void ImportDataFromS57(
const wxString &strDirName);
191 int ImportDataFromSCC(
const char *filename);
192 bool ImportDataFromDXF(
const char *filename);
193 LayerType GuessLayerTypeFromDLG(
vtDLGFile *pDLG);
199 void ExportGeoTIFF();
200 void ExportTerragen();
208 void ExportChunkLOD();
213 void ImageExportPPM();
214 void ExportAreaOptimizedElevTileset(
BuilderView *pView = NULL);
215 void ExportAreaOptimizedImageTileset(
BuilderView *pView = NULL);
218 void SetArea(
const DRECT &r) { m_area = r; }
219 void GetArea(
DRECT &r) { r = m_area; }
220 DRECT &GetAtArea() {
return m_area; }
223 void ScanElevationLayers(
int &count,
int &floating,
int &tins,
DPoint2 &spacing);
224 void MergeResampleElevation(
BuilderView *pView = NULL);
225 bool SampleElevationToTilePyramids(
BuilderView *pView,
TilingOptions &opts,
bool bFloat,
bool bShowGridMarks =
true);
226 bool DoSampleElevationToTilePyramids(
BuilderView *pView,
TilingOptions &opts,
bool bFloat,
bool bShowGridMarks =
true);
229 void MergeResampleImages(
BuilderView *pView = NULL);
232 wxFrame *m_pParentWindow;
233 bool m_bDrawDisabled;
236 void CheckOptionBounds();
245 vtStringArray m_ProjectFiles, m_LayerFiles, m_ImportFiles;
248 bool m_bAdoptFirstCRS;
254 wxString GetImportFilterString(LayerType ltype);
255 float ElevLayerArrayValue(std::vector<vtElevLayer*> &elevs,
const DPoint2 &p);
256 void ElevLayerArrayRange(std::vector<vtElevLayer*> &elevs,
257 float &minval,
float &maxval);