Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ImageLayer.h
1 //
2 // ImageLayer.h
3 //
4 // Copyright (c) 2002-2008 Virtual Terrain Project
5 // Free for all uses, see license.txt for details.
6 //
7 
8 #ifndef IMAGELAYER_H
9 #define IMAGELAYER_H
10 
11 class vtImage;
12 
13 #include "Layer.h"
14 
16 
17 class vtImageLayer : public vtLayer
18 {
19 public:
20  vtImageLayer();
21  vtImageLayer(const DRECT &area, int xsize, int ysize,
22  const vtProjection &proj);
23  virtual ~vtImageLayer();
24 
25  // overrides for vtLayer methods
26  bool GetExtent(DRECT &rect);
27  void DrawLayer(wxDC *pDC, vtScaledView *pView);
28  bool TransformCoords(vtProjection &proj);
29  bool OnSave(bool progress_callback(int) = NULL);
30  bool OnLoad();
31  bool AppendDataFrom(vtLayer *pL);
32  void GetProjection(vtProjection &proj);
33  void SetProjection(const vtProjection &proj);
34  void Offset(const DPoint2 &delta);
35 
36  // optional overrides
37  bool SetExtent(const DRECT &rect);
38  void GetPropertyText(wxString &str);
39 
40  vtImage *GetImage() { return m_pImage; }
41  DPoint2 GetSpacing() const;
42  bool ImportFromFile(const wxString &strFileName, bool progress_callback(int) = NULL);
43  bool ImportFromDB(const char *szFileName, bool progress_callback(int) = NULL);
44  void ReplaceColor(const RGBi &rgb1, const RGBi &rgb2);
45 
46 protected:
47  vtImage *m_pImage;
48 };
49 
50 // Helper
51 int GetBitDepthUsingGDAL(const char *fname);
52 void MakeSampleOffsets(const DPoint2 cellsize, uint N, DLine2 &offsets);
53 
54 #endif // IMAGELAYER_H