1 /**********************************************************
2  * Version $Id: view_map_3d_panel.h 1921 2014-01-09 10:24:11Z oconrad $
3  *********************************************************/
4 
5 ///////////////////////////////////////////////////////////
6 //                                                       //
7 //                         SAGA                          //
8 //                                                       //
9 //      System for Automated Geoscientific Analyses      //
10 //                                                       //
11 //                    User Interface                     //
12 //                                                       //
13 //                    Program: SAGA                      //
14 //                                                       //
15 //-------------------------------------------------------//
16 //                                                       //
17 //                 view_map_3d_panel.h                   //
18 //                                                       //
19 //          Copyright (C) 2014 by Olaf Conrad            //
20 //                                                       //
21 //-------------------------------------------------------//
22 //                                                       //
23 // This file is part of 'SAGA - System for Automated     //
24 // Geoscientific Analyses'. SAGA is free software; you   //
25 // can redistribute it and/or modify it under the terms  //
26 // of the GNU General Public License as published by the //
27 // Free Software Foundation, either version 2 of the     //
28 // License, or (at your option) any later version.       //
29 //                                                       //
30 // SAGA is distributed in the hope that it will be       //
31 // useful, but WITHOUT ANY WARRANTY; without even the    //
32 // implied warranty of MERCHANTABILITY or FITNESS FOR A  //
33 // PARTICULAR PURPOSE. See the GNU General Public        //
34 // License for more details.                             //
35 //                                                       //
36 // You should have received a copy of the GNU General    //
37 // Public License along with this program; if not, see   //
38 // <http://www.gnu.org/licenses/>.                       //
39 //                                                       //
40 //-------------------------------------------------------//
41 //                                                       //
42 //    contact:    Olaf Conrad                            //
43 //                Institute of Geography                 //
44 //                University of Hamburg                  //
45 //                Germany                                //
46 //                                                       //
47 //    e-mail:     oconrad@saga-gis.org                   //
48 //                                                       //
49 ///////////////////////////////////////////////////////////
50 
51 //---------------------------------------------------------
52 
53 
54 ///////////////////////////////////////////////////////////
55 //														 //
56 //														 //
57 //														 //
58 ///////////////////////////////////////////////////////////
59 
60 //---------------------------------------------------------
61 #ifndef _HEADER_INCLUDED__SAGA_GUI__view_map_3d_panel_H
62 #define _HEADER_INCLUDED__SAGA_GUI__view_map_3d_panel_H
63 
64 
65 ///////////////////////////////////////////////////////////
66 //														 //
67 //														 //
68 //														 //
69 ///////////////////////////////////////////////////////////
70 
71 //---------------------------------------------------------
72 #include <saga_gdi/3d_view.h>
73 
74 
75 ///////////////////////////////////////////////////////////
76 //														 //
77 //														 //
78 //														 //
79 ///////////////////////////////////////////////////////////
80 
81 //---------------------------------------------------------
82 class CVIEW_Map_3DPanel : public ::CSG_3DView_Panel
83 {
84 public:
85 	CVIEW_Map_3DPanel(wxWindow *pParent, class CWKSP_Map *pMap);
86 
87 	double						m_zScale;
88 
89 	bool						Set_Options				(CSG_Grid *pDEM, int DEM_Res, int Map_Res);
90 
Get_DEM_Res(void)91 	int							Get_DEM_Res				(void)	{	return( m_DEM_Res );	}
92 	bool						Inc_DEM_Res				(int Step);
93 
Get_Map_Res(void)94 	int							Get_Map_Res				(void)	{	return( m_Map_Res );	}
95 	bool						Inc_Map_Res				(int Step);
96 
97 
98 protected:
99 
100 	virtual void				Update_Statistics		(void);
101 	virtual void				Update_Parent			(void);
102 
103 	virtual void				On_Key_Down				(wxKeyEvent   &event);
104 
105 	virtual bool				On_Before_Draw			(void);
106 	virtual bool				On_Draw					(void);
107 
108 
109 private:
110 
111 	bool						m_Color_bGrad;
112 
113 	int							m_DEM_Res, m_Map_Res;
114 
115 	double						m_Color_Min, m_Color_Scale;
116 
117 	CSG_Colors					m_Colors;
118 
119 	CSG_Grid					*m_pDEM, m_DEM, m_Map;
120 
121 	class CWKSP_Map				*m_pMap;
122 
123 
124 	bool						Get_Node				(int x, int y, TSG_Triangle_Node &Node);
125 
126 
127 	//-----------------------------------------------------
128 	DECLARE_EVENT_TABLE()
129 
130 };
131 
132 
133 ///////////////////////////////////////////////////////////
134 //														 //
135 //														 //
136 //														 //
137 ///////////////////////////////////////////////////////////
138 
139 //---------------------------------------------------------
140 #endif // #ifndef _HEADER_INCLUDED__SAGA_GUI__view_map_3d_panel_H
141