1 /**********************************************************
2  * Version $Id: Grid_Profile_From_Lines.h 1921 2014-01-09 10:24:11Z oconrad $
3  *********************************************************/
4 
5 ///////////////////////////////////////////////////////////
6 //                                                       //
7 //                         SAGA                          //
8 //                                                       //
9 //      System for Automated Geoscientific Analyses      //
10 //                                                       //
11 //                     Tool Library                      //
12 //                     ta_profiles                       //
13 //                                                       //
14 //-------------------------------------------------------//
15 //                                                       //
16 //               Grid_Profile_From_Lines.h               //
17 //                                                       //
18 //                 Copyright (C) 2006 by                 //
19 //                      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 //    e-mail:     oconrad@saga-gis.org                   //
43 //                                                       //
44 //    contact:    Olaf Conrad                            //
45 //                Institute of Geography                 //
46 //                University of Goettingen               //
47 //                Goldschmidtstr. 5                      //
48 //                37077 Goettingen                       //
49 //                Germany                                //
50 //                                                       //
51 ///////////////////////////////////////////////////////////
52 
53 //---------------------------------------------------------
54 
55 
56 ///////////////////////////////////////////////////////////
57 //														 //
58 //														 //
59 //														 //
60 ///////////////////////////////////////////////////////////
61 
62 //---------------------------------------------------------
63 #ifndef HEADER_INCLUDED__Grid_Profile_From_Lines_H
64 #define HEADER_INCLUDED__Grid_Profile_From_Lines_H
65 
66 //---------------------------------------------------------
67 #include "MLB_Interface.h"
68 
69 
70 ///////////////////////////////////////////////////////////
71 //														 //
72 //														 //
73 //														 //
74 ///////////////////////////////////////////////////////////
75 
76 //---------------------------------------------------------
77 class CGrid_Profile_From_Lines : public CSG_Tool_Grid
78 {
79 public:
80 	CGrid_Profile_From_Lines(void);
81 	virtual ~CGrid_Profile_From_Lines(void);
82 
83 
84 protected:
85 
86 	virtual bool				On_Execute(void);
87 
88 
89 private:
90 
91 	CSG_Shapes					*m_pProfile, *m_pLines;
92 
93 	CSG_Grid					*m_pDEM;
94 
95 	CSG_Parameter_Grid_List		*m_pValues;
96 
97 
98 	bool						Init_Profile	(CSG_Shapes *pPoints, const SG_Char *Name);
99 
100 	bool						Set_Profile		(int Line_ID, CSG_Shape *pLine);
101 	bool						Set_Profile		(int Line_ID, bool bStart, const TSG_Point &A, const TSG_Point &B, bool bLastPoint);
102 	bool						Add_Point		(int Line_ID, bool bStart, const TSG_Point &Point);
103 
104 };
105 
106 
107 ///////////////////////////////////////////////////////////
108 //														 //
109 //														 //
110 //														 //
111 ///////////////////////////////////////////////////////////
112 
113 //---------------------------------------------------------
114 #endif // #ifndef HEADER_INCLUDED__Grid_Profile_From_Lines_H
115