1 /********************************************************** 2 * Version $Id: Grid_Swath_Profile.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_Swath_Profile.h // 17 // // 18 // Copyright (C) 2005 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_Swath_Profile_H 64 #define HEADER_INCLUDED__Grid_Swath_Profile_H 65 66 //--------------------------------------------------------- 67 #include "MLB_Interface.h" 68 69 70 /////////////////////////////////////////////////////////// 71 // // 72 // // 73 // // 74 /////////////////////////////////////////////////////////// 75 76 //--------------------------------------------------------- 77 class CGrid_Swath_Profile : public CSG_Tool_Grid_Interactive 78 { 79 public: 80 CGrid_Swath_Profile(void); 81 82 83 protected: 84 85 virtual bool On_Execute (void); 86 virtual bool On_Execute_Finish (void); 87 virtual bool On_Execute_Position (CSG_Point ptWorld, TSG_Tool_Interactive_Mode Mode); 88 89 90 private: 91 92 bool m_bAdd; 93 94 double m_Width; 95 96 CSG_Shapes *m_pPoints, *m_pLine; 97 98 CSG_Grid *m_pDEM; 99 100 CSG_Parameter_Grid_List *m_pValues; 101 102 103 bool Set_Profile (void); 104 bool Set_Profile (CSG_Point A, CSG_Point B, CSG_Point Left, CSG_Point Right); 105 106 bool Add_Point (CSG_Point Point, CSG_Point Left, CSG_Point Right, CSG_Point Step); 107 bool Add_Swath (CSG_Shape *pPoint, int iEntry, CSG_Grid *pGrid, CSG_Point Left, CSG_Point Right, CSG_Point Step); 108 109 }; 110 111 112 /////////////////////////////////////////////////////////// 113 // // 114 // // 115 // // 116 /////////////////////////////////////////////////////////// 117 118 //--------------------------------------------------------- 119 #endif // #ifndef HEADER_INCLUDED__Grid_Swath_Profile_H 120