1 2 /////////////////////////////////////////////////////////// 3 // // 4 // SAGA // 5 // // 6 // System for Automated Geoscientific Analyses // 7 // // 8 // Tool Library // 9 // Grid_Calculus // 10 // // 11 //-------------------------------------------------------// 12 // // 13 // TLB_Interface.cpp // 14 // // 15 // Copyright (C) 2003 by // 16 // SAGA User Group Associaton // 17 // // 18 //-------------------------------------------------------// 19 // // 20 // This file is part of 'SAGA - System for Automated // 21 // Geoscientific Analyses'. SAGA is free software; you // 22 // can redistribute it and/or modify it under the terms // 23 // of the GNU General Public License as published by the // 24 // Free Software Foundation, either version 2 of the // 25 // License, or (at your option) any later version. // 26 // // 27 // SAGA is distributed in the hope that it will be // 28 // useful, but WITHOUT ANY WARRANTY; without even the // 29 // implied warranty of MERCHANTABILITY or FITNESS FOR A // 30 // PARTICULAR PURPOSE. See the GNU General Public // 31 // License for more details. // 32 // // 33 // You should have received a copy of the GNU General // 34 // Public License along with this program; if not, see // 35 // <http://www.gnu.org/licenses/>. // 36 // // 37 //-------------------------------------------------------// 38 // // 39 // e-mail: oconrad@saga-gis.org // 40 // // 41 // contact: SAGA User Group Associaton // 42 // Institute of Geography // 43 // University of Goettingen // 44 // Goldschmidtstr. 5 // 45 // 37077 Goettingen // 46 // Germany // 47 // // 48 /////////////////////////////////////////////////////////// 49 50 //--------------------------------------------------------- 51 52 53 /////////////////////////////////////////////////////////// 54 // // 55 // The Tool Link Library Interface // 56 // // 57 /////////////////////////////////////////////////////////// 58 59 //--------------------------------------------------------- 60 // 1. Include the appropriate SAGA-API header... 61 62 #include <saga_api/saga_api.h> 63 64 65 //--------------------------------------------------------- 66 // 2. Place general tool library informations here... 67 Get_Info(int i)68CSG_String Get_Info(int i) 69 { 70 switch( i ) 71 { 72 case TLB_INFO_Name: default: 73 return( _TL("Calculus") ); 74 75 case TLB_INFO_Category: 76 return( _TL("Grid") ); 77 78 case TLB_INFO_Author: 79 return( "O. Conrad, A. Ringeler, V. Olaya, J. Engels (c) 2001-2018" ); 80 81 case TLB_INFO_Description: 82 return( _TL("Grid based or related calculations.") ); 83 84 case TLB_INFO_Version: 85 return( _TL("1.0") ); 86 87 case TLB_INFO_Menu_Path: 88 return( _TL("Grid|Calculus" )); 89 } 90 } 91 92 93 //--------------------------------------------------------- 94 // 3. Include the headers of your tools here... 95 96 #include "Grid_Normalise.h" 97 #include "Grid_Calculator.h" 98 #include "Grid_Volume.h" 99 #include "grid_difference.h" 100 #include "Grid_Plotter.h" 101 #include "Grid_Geometric_Figures.h" 102 #include "Grid_Random_Terrain.h" 103 #include "Grid_Random_Field.h" 104 105 #include "Fuzzify.h" 106 #include "FuzzyAND.h" 107 #include "FuzzyOR.h" 108 109 #include "grid_metric_conversion.h" 110 #include "gradient_cartes_polar.h" 111 112 #include "kff_synth.h" 113 114 #include "grid_histogram_match.h" 115 116 117 //--------------------------------------------------------- 118 // 4. Allow your tools to be created here... 119 Create_Tool(int i)120CSG_Tool * Create_Tool(int i) 121 { 122 switch( i ) 123 { 124 case 1: return( new CGrid_Calculator ); 125 case 2: return( new CGrid_Volume ); 126 127 case 4: return( new CGrid_Plotter ); 128 case 5: return( new CGrid_Geometric_Figures ); 129 case 6: return( new CGrid_Random_Terrain ); 130 case 7: return( new CGrid_Random_Field ); 131 case 17: return( new CGrid_Fractal_Brownian_Noise ); 132 133 case 0: return( new CGrid_Normalise ); 134 case 10: return( new CGrid_Standardise ); 135 136 case 3: return( new CGrid_Difference ); 137 case 18: return( new CGrid_Division ); 138 case 8: return( new CGrids_Sum ); 139 case 9: return( new CGrids_Product ); 140 141 case 11: return( new CFuzzify ); 142 case 12: return( new CFuzzyAND ); 143 case 13: return( new CFuzzyOR ); 144 145 case 14: return( new CGrid_Metric_Conversion ); 146 147 case 15: return( new CGradient_Cartes_To_Polar ); 148 case 16: return( new CGradient_Polar_To_Cartes ); 149 150 case 19: return( new Ckff_synthesis ); 151 152 case 20: return( new CGrids_Calculator ); 153 154 case 21: return( new CGrid_Histogram_Match ); 155 156 //----------------------------------------------------- 157 case 22: return( NULL ); 158 default: return( TLB_INTERFACE_SKIP_TOOL ); 159 } 160 } 161 162 163 /////////////////////////////////////////////////////////// 164 // // 165 // // 166 // // 167 /////////////////////////////////////////////////////////// 168 169 //--------------------------------------------------------- 170 //{{AFX_SAGA 171 172 TLB_INTERFACE 173 174 //}}AFX_SAGA 175