SAGA API  v9.2
api_core.h
Go to the documentation of this file.
1 
3 // //
4 // SAGA //
5 // //
6 // System for Automated Geoscientific Analyses //
7 // //
8 // Application Programming Interface //
9 // //
10 // Library: SAGA_API //
11 // //
12 //-------------------------------------------------------//
13 // //
14 // api_core.h //
15 // //
16 // Copyright (C) 2005 by Olaf Conrad //
17 // //
18 //-------------------------------------------------------//
19 // //
20 // This file is part of 'SAGA - System for Automated //
21 // Geoscientific Analyses'. //
22 // //
23 // This library is free software; you can redistribute //
24 // it and/or modify it under the terms of the GNU Lesser //
25 // General Public License as published by the Free //
26 // Software Foundation, either version 2.1 of the //
27 // License, or (at your option) any later version. //
28 // //
29 // This library is distributed in the hope that it will //
30 // be useful, but WITHOUT ANY WARRANTY; without even the //
31 // implied warranty of MERCHANTABILITY or FITNESS FOR A //
32 // PARTICULAR PURPOSE. See the GNU Lesser General Public //
33 // License for more details. //
34 // //
35 // You should have received a copy of the GNU Lesser //
36 // General Public License along with this program; if //
37 // not, see <http://www.gnu.org/licenses/>. //
38 // //
39 //-------------------------------------------------------//
40 // //
41 // contact: Olaf Conrad //
42 // Institute of Geography //
43 // University of Goettingen //
44 // Goldschmidtstr. 5 //
45 // 37077 Goettingen //
46 // Germany //
47 // //
48 // e-mail: oconrad@saga-gis.org //
49 // //
51 
52 //---------------------------------------------------------
53 #ifndef HEADER_INCLUDED__SAGA_API__api_core_H
54 #define HEADER_INCLUDED__SAGA_API__api_core_H
55 
56 
58 // //
59 // //
60 // //
62 
63 //---------------------------------------------------------
75 // //
77 // //
78 // //
80 
81 //---------------------------------------------------------
82 #ifdef _SAGA_MSW
83  #define _SAGA_DLL_EXPORT __declspec( dllexport )
84  #define _SAGA_DLL_IMPORT __declspec( dllimport )
85 #else
86  #define _SAGA_DLL_EXPORT
87  #define _SAGA_DLL_IMPORT
88 #endif
89 
90 //---------------------------------------------------------
91 #ifdef _SAGA_API_EXPORTS
92  #define SAGA_API_DLL_EXPORT _SAGA_DLL_EXPORT
93 #else
94  #define SAGA_API_DLL_EXPORT _SAGA_DLL_IMPORT
95 #endif
96 
97 
99 // //
100 // //
101 // //
103 
104 //---------------------------------------------------------
105 #ifndef SWIG
106 
107 #include <math.h>
108 #include <memory.h>
109 #include <stdlib.h>
110 #include <stdio.h>
111 #include <string.h>
112 #include <wchar.h>
113 #include <string>
114 
115 #endif // #ifdef SWIG
116 
117 
119 // //
120 // //
121 // //
123 
124 //---------------------------------------------------------
125 // this is defined by configure, but will not be on a normal application build
126 
127 #ifndef SIZEOF_LONG
128  #if defined(__alpha) || defined(__sparcv9) || defined(__LP64__) || (defined(__HOS_AIX__) && defined(_LP64))
129  #define SIZEOF_LONG 8
130  #else
131  #define SIZEOF_LONG 4
132  #endif
133 #endif
134 
135 //---------------------------------------------------------
136 #ifdef _TYPEDEF_BOOL
137  typedef unsigned int bool;
138  #define true ((bool)1)
139  #define false ((bool)0)
140 #endif // _TYPEDEF_BOOL
141 
142 //---------------------------------------------------------
143 #ifdef _TYPEDEF_BYTE
144  typedef unsigned char BYTE;
145 #endif // _TYPEDEF_BYTE
146 
147 //---------------------------------------------------------
148 #ifdef _TYPEDEF_WORD
149  typedef unsigned short WORD;
150  #if SIZEOF_LONG == 4
151  typedef unsigned long DWORD;
152  #else
153  typedef unsigned int DWORD;
154  #endif
155 #endif // _TYPEDEF_WORD
156 
157 //---------------------------------------------------------
158  typedef signed long long sLong;
159  typedef unsigned long long uLong;
160 
161 //---------------------------------------------------------
162 #if defined(_SAGA_MSW)
163  #include <float.h>
164  #define SG_is_NaN _isnan
165 #elif defined(isnan)
166  #define SG_is_NaN isnan
167 #else
168  #define SG_is_NaN(x) (x != x)
169 #endif
170 
171 
173 // //
174 // Parallelization //
175 // //
177 
178 //---------------------------------------------------------
183 
184 
186 // //
187 // Memory //
188 // //
190 
191 //---------------------------------------------------------
192 #define SG_GET_LONG(b0, b1, b2, b3) ((long) (((BYTE)(b0) | ((WORD)(b1) << 8)) | (((DWORD)(BYTE)(b2)) << 16) | (((DWORD)(BYTE)(b3)) << 24)))
193 
194 #define SG_GET_BYTE_0(vLong) ((BYTE) ((vLong) ))
195 #define SG_GET_BYTE_1(vLong) ((BYTE) ((vLong) >> 8))
196 #define SG_GET_BYTE_2(vLong) ((BYTE) ((vLong) >> 16))
197 #define SG_GET_BYTE_3(vLong) ((BYTE) ((vLong) >> 24))
198 
199 //---------------------------------------------------------
200 SAGA_API_DLL_EXPORT void * SG_Malloc (size_t size);
201 SAGA_API_DLL_EXPORT void * SG_Calloc (size_t num, size_t size);
202 SAGA_API_DLL_EXPORT void * SG_Realloc (void *memblock, size_t size);
203 SAGA_API_DLL_EXPORT void SG_Free (void *memblock);
204 
205 #define SG_FREE_SAFE(PTR) { if( PTR ) { SG_Free (PTR); PTR = NULL; } }
206 #define SG_DELETE_SAFE(PTR) { if( PTR ) { delete (PTR); PTR = NULL; } }
207 #define SG_DELETE_ARRAY(PTR) { if( PTR ) { delete[](PTR); PTR = NULL; } }
208 
209 //---------------------------------------------------------
210 SAGA_API_DLL_EXPORT void SG_Swap_Bytes (void *Buffer, int nBytes);
211 
212 SAGA_API_DLL_EXPORT int SG_Mem_Get_Int (const char *Buffer , bool bSwapBytes);
213 SAGA_API_DLL_EXPORT void SG_Mem_Set_Int (char *Buffer, int Value , bool bSwapBytes);
214 SAGA_API_DLL_EXPORT double SG_Mem_Get_Double (const char *Buffer , bool bSwapBytes);
215 SAGA_API_DLL_EXPORT void SG_Mem_Set_Double (char *Buffer, double Value, bool bSwapBytes);
216 
217 
219 // //
221 
222 //---------------------------------------------------------
224 {
225 public:
226 
227  CSG_Buffer (void);
228  bool Create (void);
229 
230  CSG_Buffer (const CSG_Buffer &Buffer);
231  bool Create (const CSG_Buffer &Buffer);
232 
233  CSG_Buffer (size_t Size);
234  bool Create (size_t Size);
235 
236  virtual ~CSG_Buffer (void);
237  void Destroy (void);
238 
239  bool Set_Size (size_t Size, bool bShrink = true);
240  bool Inc_Size (size_t Size) { return( Set_Size(m_Size + Size) ); }
241  size_t Get_Size (void) const { return( m_Size ); }
242 
243  bool Set_Data (const char *Data, size_t Size, bool bShrink = true);
244  char * Get_Data (int Offset = 0) const { return( m_Data + Offset ); }
245 
246  CSG_Buffer & operator = (const CSG_Buffer &Buffer) { Create(Buffer); return( *this ); }
247  char & operator [] (int Position) { return( m_Data[Position] ); }
248  char operator [] (int Position) const { return( m_Data[Position] ); }
249 
250  void Add_Value (char Value, bool bBigEndian = false) { if( Inc_Size(sizeof(Value)) ) Set_Value((int)m_Size - sizeof(Value), Value, bBigEndian); }
251  void Add_Value (short Value, bool bBigEndian = false) { if( Inc_Size(sizeof(Value)) ) Set_Value((int)m_Size - sizeof(Value), Value, bBigEndian); }
252  void Add_Value (int Value, bool bBigEndian = false) { if( Inc_Size(sizeof(Value)) ) Set_Value((int)m_Size - sizeof(Value), Value, bBigEndian); }
253  void Add_Value (float Value, bool bBigEndian = false) { if( Inc_Size(sizeof(Value)) ) Set_Value((int)m_Size - sizeof(Value), Value, bBigEndian); }
254  void Add_Value (double Value, bool bBigEndian = false) { if( Inc_Size(sizeof(Value)) ) Set_Value((int)m_Size - sizeof(Value), Value, bBigEndian); }
255 
256  CSG_Buffer & operator += (char Value) { Add_Value(Value); return( *this ); }
257  CSG_Buffer & operator += (short Value) { Add_Value(Value); return( *this ); }
258  CSG_Buffer & operator += (int Value) { Add_Value(Value); return( *this ); }
259  CSG_Buffer & operator += (float Value) { Add_Value(Value); return( *this ); }
260  CSG_Buffer & operator += (double Value) { Add_Value(Value); return( *this ); }
261 
262  void Set_Value (int Offset, char Value, bool bBigEndian = false) { m_Data[Offset] = Value; }
263  void Set_Value (int Offset, short Value, bool bBigEndian = false) { if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); *(short *)(m_Data + Offset) = Value; }
264  void Set_Value (int Offset, int Value, bool bBigEndian = false) { if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); *(int *)(m_Data + Offset) = Value; }
265  void Set_Value (int Offset, float Value, bool bBigEndian = false) { if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); *(float *)(m_Data + Offset) = Value; }
266  void Set_Value (int Offset, double Value, bool bBigEndian = false) { if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); *(double *)(m_Data + Offset) = Value; }
267 
268  short asShort (int Offset, bool bBigEndian = false) const { short Value = *(short *)(m_Data + Offset); if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); return( Value ); }
269  int asInt (int Offset, bool bBigEndian = false) const { int Value = *(int *)(m_Data + Offset); if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); return( Value ); }
270  float asFloat (int Offset, bool bBigEndian = false) const { float Value = *(float *)(m_Data + Offset); if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); return( Value ); }
271  double asDouble (int Offset, bool bBigEndian = false) const { double Value = *(double *)(m_Data + Offset); if( bBigEndian ) SG_Swap_Bytes(&Value, sizeof(Value)); return( Value ); }
272 
273 
274 private:
275 
276  char *m_Data;
277 
278  size_t m_Size;
279 
280 };
281 
282 
284 // //
285 // //
286 // //
288 
289 //---------------------------------------------------------
291 {
292  SG_ARRAY_GROWTH_0 = 0,
293  SG_ARRAY_GROWTH_1,
294  SG_ARRAY_GROWTH_2,
295  SG_ARRAY_GROWTH_3,
296  SG_ARRAY_GROWTH_FIX_8,
297  SG_ARRAY_GROWTH_FIX_16,
298  SG_ARRAY_GROWTH_FIX_32,
299  SG_ARRAY_GROWTH_FIX_64,
300  SG_ARRAY_GROWTH_FIX_128,
301  SG_ARRAY_GROWTH_FIX_256,
302  SG_ARRAY_GROWTH_FIX_512,
304 };
305 
306 //---------------------------------------------------------
308 {
309 public:
310  CSG_Array(void);
311  ~CSG_Array(void);
312 
313  CSG_Array (const CSG_Array &Array);
314  void * Create (const CSG_Array &Array);
315 
316  CSG_Array (size_t Value_Size, sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
317  void * Create (size_t Value_Size, sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
318 
319  bool Destroy (void);
320 
321  CSG_Array & operator = (const CSG_Array &Array) { Create(Array); return( *this ); }
322 
323  bool Set_Growth (TSG_Array_Growth Growth);
324  TSG_Array_Growth Get_Growth (void) const { return( m_Growth ); }
325 
326  size_t Get_Value_Size (void) const { return( m_Value_Size ); }
327  sLong Get_Size (void) const { return( m_nValues ); }
328  size_t Get_uSize (void) const { return( (size_t)m_nValues ); }
329 
331  void * Get_Entry (sLong Index) const { return( Index >= 0 && Index < m_nValues ? (char *)m_Values + Index * m_Value_Size : NULL ); }
332  void * operator [] (sLong Index) const { return( Get_Entry(Index) ); }
333 
334  bool Del_Entry (sLong Index, bool bShrink = true);
335 
336  void * Get_Array (void) const { return( m_Values ); }
337  void * Get_Array (sLong nValues) { Set_Array(nValues); return( m_Values ); }
338 
339  bool Set_Array (sLong nValues, bool bShrink = true);
340  bool Set_Array (sLong nValues, void **pArray, bool bShrink = true);
341 
342  bool Inc_Array (sLong nValues = 1);
343  bool Inc_Array (void **pArray);
344 
345  bool Dec_Array (bool bShrink = true);
346  bool Dec_Array (void **pArray, bool bShrink = true);
347 
348 
349 private:
350 
351  TSG_Array_Growth m_Growth;
352 
353  size_t m_Value_Size;
354 
355  sLong m_nValues, m_nBuffer;
356 
357  void *m_Values;
358 
359 };
360 
361 
363 // //
365 
366 //---------------------------------------------------------
368 {
369 public:
370  CSG_Array_Pointer (const CSG_Array_Pointer &Array) { Create(Array); }
371  void ** Create (const CSG_Array_Pointer &Array);
372 
373  CSG_Array_Pointer (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0) { Create(nValues, Growth); }
374  void ** Create (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
375 
376  void Destroy (void) { m_Array.Destroy(); }
377 
378  bool Set_Growth (TSG_Array_Growth Growth) { return( m_Array.Set_Growth(Growth) ); }
379  TSG_Array_Growth Get_Growth (void) const { return( m_Array.Get_Growth() ); }
380 
381  sLong Get_Size (void) const { return( m_Array.Get_Size() ); }
382  size_t Get_uSize (void) const { return( m_Array.Get_uSize() ); }
383 
384  void ** Get_Array (void) const { return( (void **)m_Array.Get_Array() ); }
385  void ** Get_Array (sLong nValues) { return( (void **)m_Array.Get_Array(nValues) ); }
386 
387  bool Set_Array (sLong nValues, bool bShrink = true) { return( m_Array.Set_Array(nValues, bShrink) ); }
388  bool Inc_Array (sLong nValues = 1) { return( m_Array.Inc_Array(nValues) ); }
389  bool Dec_Array ( bool bShrink = true) { return( m_Array.Dec_Array(bShrink) ); }
390 
391  bool Add (void *Value);
392  bool Add (const CSG_Array_Pointer &Array);
393  bool Set (sLong Index, void *Value) { if( !m_Array.Get_Entry(Index) ) return( false ); *((void **)m_Array.Get_Entry(Index)) = Value; return( true ); }
394  void *& Get (sLong Index) { return( *((void **)m_Array.Get_Entry(Index)) ); }
395  void * Get (sLong Index) const { return( *((void **)m_Array.Get_Entry(Index)) ); }
396  bool Del (sLong Index);
397  sLong Del (void *Value);
398 
399  CSG_Array_Pointer & operator = (const CSG_Array_Pointer &Array) { Create(Array); return( *this ); }
400 
401  void *& operator [] (sLong Index) { return( Get(Index) ); }
402  void * operator [] (sLong Index) const { return( Get(Index) ); }
403 
404  CSG_Array_Pointer & operator += (void *Value) { Add(Value); return( *this ); }
405  CSG_Array_Pointer & operator += (const CSG_Array_Pointer &Array) { Add(Array); return( *this ); }
406 
407 
408 private:
409 
410  CSG_Array m_Array;
411 
412 };
413 
414 
416 // //
418 
419 //---------------------------------------------------------
421 {
422 public:
423  CSG_Array_Int (const CSG_Array_Int &Array) { Create(Array); }
424  int * Create (const CSG_Array_Int &Array);
425 
426  CSG_Array_Int (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0) { Create(nValues, Growth); }
427  int * Create (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
428 
429  void Destroy (void) { m_Array.Destroy(); }
430 
431  bool Set_Growth (TSG_Array_Growth Growth) { return( m_Array.Set_Growth(Growth) ); }
432  TSG_Array_Growth Get_Growth (void) const { return( m_Array.Get_Growth() ); }
433 
434  sLong Get_Size (void) const { return( m_Array.Get_Size() ); }
435  size_t Get_uSize (void) const { return( m_Array.Get_uSize() ); }
436 
437  int * Get_Array (void) const { return( (int *)m_Array.Get_Array() ); }
438  int * Get_Array (sLong nValues) { return( (int *)m_Array.Get_Array(nValues) ); }
439 
440  bool Set_Array (sLong nValues, bool bShrink = true) { return( m_Array.Set_Array(nValues, bShrink) ); }
441  bool Inc_Array (sLong nValues = 1) { return( m_Array.Inc_Array(nValues) ); }
442  bool Dec_Array ( bool bShrink = true) { return( m_Array.Dec_Array(bShrink) ); }
443 
444  bool Add (int Value);
445  bool Add (const CSG_Array_Int &Array);
446  bool Set (sLong Index, int Value) { if( !m_Array.Get_Entry(Index) ) return( false ); *((int *)m_Array.Get_Entry(Index)) = Value; return( true ); }
447  int & Get (sLong Index) { return( *((int *)m_Array.Get_Entry(Index)) ); }
448  int Get (sLong Index) const { return( *((int *)m_Array.Get_Entry(Index)) ); }
449 
450  bool Assign (int Value);
451 
452  CSG_Array_Int & operator = (const CSG_Array_Int &Array) { Create(Array); return( *this ); }
453  CSG_Array_Int & operator = (int Value) { Assign(Value); return( *this ); }
454 
455  int & operator [] (sLong Index) { return( Get(Index) ); }
456  int operator [] (sLong Index) const { return( Get(Index) ); }
457 
458  CSG_Array_Int & operator += (int Value) { Add(Value); return( *this ); }
459  CSG_Array_Int & operator += (const CSG_Array_Int &Array) { Add(Array); return( *this ); }
460 
461 
462 private:
463 
464  CSG_Array m_Array;
465 
466 };
467 
468 
470 // //
472 
473 //---------------------------------------------------------
475 {
476 public:
477  CSG_Array_sLong (const CSG_Array_sLong &Array) { Create(Array); }
478  sLong * Create (const CSG_Array_sLong &Array);
479 
480  CSG_Array_sLong (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0) { Create(nValues, Growth); }
481  sLong * Create (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
482 
483  void Destroy (void) { m_Array.Destroy(); }
484 
485  bool Set_Growth (TSG_Array_Growth Growth) { return( m_Array.Set_Growth(Growth) ); }
486  TSG_Array_Growth Get_Growth (void) const { return( m_Array.Get_Growth() ); }
487 
488  sLong Get_Size (void) const { return( m_Array.Get_Size() ); }
489  size_t Get_uSize (void) const { return( m_Array.Get_uSize() ); }
490 
491  sLong * Get_Array (void) const { return( (sLong *)m_Array.Get_Array() ); }
492  sLong * Get_Array (sLong nValues) { return( (sLong *)m_Array.Get_Array(nValues) ); }
493 
494  bool Set_Array (sLong nValues, bool bShrink = true) { return( m_Array.Set_Array(nValues, bShrink) ); }
495  bool Inc_Array (sLong nValues = 1) { return( m_Array.Inc_Array(nValues) ); }
496  bool Dec_Array ( bool bShrink = true) { return( m_Array.Dec_Array(bShrink) ); }
497 
498  bool Add (sLong Value);
499  bool Add (const CSG_Array_sLong &Array);
500  bool Set (sLong Index, sLong Value) { if( !m_Array.Get_Entry(Index) ) return( false ); *((sLong *)m_Array.Get_Entry(Index)) = Value; return( true ); }
501  sLong & Get (sLong Index) { return( *((sLong *)m_Array.Get_Entry(Index)) ); }
502  sLong Get (sLong Index) const { return( *((sLong *)m_Array.Get_Entry(Index)) ); }
503 
504  bool Assign (sLong Value);
505 
506  CSG_Array_sLong & operator = (const CSG_Array_sLong &Array) { Create(Array); return( *this ); }
507  CSG_Array_sLong & operator = (sLong Value) { Assign(Value); return( *this ); }
508 
509  sLong & operator [] (sLong Index) { return( Get(Index) ); }
510  sLong operator [] (sLong Index) const { return( Get(Index) ); }
511 
512  CSG_Array_sLong & operator += (sLong Value) { Add(Value); return( *this ); }
513  CSG_Array_sLong & operator += (const CSG_Array_sLong &Array) { Add(Array); return( *this ); }
514 
515 
516 private:
517 
518  CSG_Array m_Array;
519 
520 };
521 
522 
524 // //
525 // String //
526 // //
528 
529 //---------------------------------------------------------
530 #define SG_Char wchar_t
531 #define SG_T(s) L ## s
532 #define SG_PRINTF SG_Printf
533 #define SG_FPRINTF SG_FPrintf
534 #define SG_SSCANF swscanf
535 #define SG_STR_CPY wcscpy
536 #define SG_STR_LEN wcslen
537 #define SG_STR_TOD wcstod
538 #define SG_STR_CMP(s1, s2) CSG_String(s1).Cmp(s2)
539 #define SG_STR_MBTOSG(s) CSG_String(s).w_str()
540 
541 //---------------------------------------------------------
542 typedef enum
543 {
552 }
554 
555 //---------------------------------------------------------
557 {
558 public:
559  CSG_String(void);
560  CSG_String(const CSG_String &String);
561  CSG_String(const char *String);
562  CSG_String(const wchar_t *String);
563  CSG_String(char Character, size_t nRepeat = 1);
564  CSG_String(wchar_t Character, size_t nRepeat = 1);
565 
566  CSG_String (const class wxString *pString);
567  bool Create (const class wxString *pString);
568 
569  virtual ~CSG_String(void);
570 
571  CSG_String & operator = (const CSG_String &String);
572  CSG_String & operator = (const char *String);
573  CSG_String & operator = (const wchar_t *String);
574  CSG_String & operator = (char Character);
575  CSG_String & operator = (wchar_t Character);
576 
577  size_t Length (void) const;
578 
579  bool is_Empty (void) const;
580 
581  SG_Char operator [] (int i) const;
582  SG_Char operator [] (size_t i) const;
583  SG_Char Get_Char (size_t i) const;
584 
585  void Set_Char (size_t i, char Character);
586  void Set_Char (size_t i, wchar_t Character);
587 
588  const char * b_str (void) const;
589  const wchar_t * w_str (void) const;
590  const SG_Char * c_str (void) const;
591 
592  operator const char * (void) const { return( b_str() ); }
593  operator const wchar_t * (void) const { return( w_str() ); }
594 
595  CSG_String & Prepend (const CSG_String &String);
596 
597  CSG_String & Append (const CSG_String &String);
598  CSG_String & Append (const char *String);
599  CSG_String & Append (const wchar_t *String);
600  CSG_String & Append (char Character, size_t nRepeat = 1);
601  CSG_String & Append (wchar_t Character, size_t nRepeat = 1);
602 
603  void operator += (const CSG_String &String);
604  void operator += (const char *String);
605  void operator += (const wchar_t *String);
606  void operator += (char Character);
607  void operator += (wchar_t Character);
608 
609  CSG_String operator + (const CSG_String &String) const;
610  CSG_String operator + (const char *String) const;
611  CSG_String operator + (const wchar_t *String) const;
612  CSG_String operator + (char Character) const;
613  CSG_String operator + (wchar_t Character) const;
614 
615  int Cmp (const CSG_String &String) const;
616  int CmpNoCase (const CSG_String &String) const;
617 
618  bool is_Same_As (const CSG_String &String, bool bCase = true) const;
619  bool is_Same_As (const char Character, bool bCase = true) const;
620  bool is_Same_As (const wchar_t Character, bool bCase = true) const;
621 
622  CSG_String & Make_Lower (void);
623  CSG_String & Make_Upper (void);
624 
625  void Clear (void);
626 
627  static CSG_String Format (const char *Format, ...);
628  static CSG_String Format (const wchar_t *Format, ...);
629  int Printf (const char *Format, ...);
630  int Printf (const wchar_t *Format, ...);
631 
632  size_t Replace (const CSG_String &sOld, const CSG_String &sNew, bool bReplaceAll = true);
633 
634  CSG_String & Remove (size_t pos);
635  CSG_String & Remove (size_t pos, size_t len);
636 
637  int Trim (bool fromRight = false);
638  int Trim_Both (void);
639 
640  int Find (char Character, bool fromEnd = false) const;
641  int Find (wchar_t Character, bool fromEnd = false) const;
642  int Find (const CSG_String &String) const;
643  bool Contains (const CSG_String &String) const;
644 
645  CSG_String AfterFirst (char Character) const;
646  CSG_String AfterFirst (wchar_t Character) const;
647  CSG_String AfterLast (char Character) const;
648  CSG_String AfterLast (wchar_t Character) const;
649  CSG_String BeforeFirst (char Character) const;
650  CSG_String BeforeFirst (wchar_t Character) const;
651  CSG_String BeforeLast (char Character) const;
652  CSG_String BeforeLast (wchar_t Character) const;
653 
654  CSG_String Right (size_t count) const;
655  CSG_String Mid (size_t first, size_t count = 0) const;
656  CSG_String Left (size_t count) const;
657 
658  bool is_Number (void) const;
659 
660  int asInt (void) const;
661  bool asInt (int &Value) const;
662  sLong asLongLong (void) const;
663  bool asLongLong (sLong &Value) const;
664 
665  double asDouble (void) const;
666  bool asDouble (double &Value) const;
667 
668  static CSG_String from_UTF8 (const char *String, size_t Length = 0);
669 
670  size_t to_UTF8 (char **pString) const;
671  CSG_Buffer to_UTF8 (void) const;
672  size_t to_MBChar (char **pString, int Encoding) const;
673  CSG_Buffer to_MBChar ( int Encoding) const;
674  bool to_ASCII (char **pString, char Replace = '_') const;
675  CSG_Buffer to_ASCII ( char Replace = '_') const;
676  std::string to_StdString (void) const;
677  std::wstring to_StdWstring (void) const;
678 
679 protected:
680 
681  class wxString *m_pString;
682 
683 };
684 
685 //---------------------------------------------------------
687 SAGA_API_DLL_EXPORT CSG_String operator + (const wchar_t *A, const CSG_String &B);
690 
691 //---------------------------------------------------------
693 {
694 public:
695  CSG_Strings(void);
696  CSG_Strings(const CSG_Strings &Strings);
697  CSG_Strings(int nStrings, const SG_Char **Strings);
698 
699  virtual ~CSG_Strings(void);
700 
701  bool Create (const CSG_Strings &Strings);
702  bool Destroy (void);
703 
704  bool Set_Count (int Count) { return( Set_Count((size_t)Count) ); }
705  bool Set_Count (size_t Count);
706  int Get_Count (void) const { return( (int)m_Strings.Get_Size() ); }
707  size_t Get_Size (void) const { return( m_Strings.Get_Size() ); }
708 
709  bool Add (const CSG_Strings &Strings);
710  bool Add (const CSG_String &String );
711  bool Ins (const CSG_String &String , int Index) { return( Ins(String, (size_t)Index) ); }
712  bool Ins (const CSG_String &String , size_t Index);
713  bool Del (int Index) { return( Del((size_t)Index) ); }
714  bool Del (size_t Index);
715 
716  CSG_String & Get_String (int Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
717  CSG_String & Get_String (size_t Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
718 
719  CSG_String & operator [] (int Index) const { return( Get_String(Index) ); }
720  CSG_String & operator [] (size_t Index) const { return( Get_String(Index) ); }
721 
722  CSG_Strings & operator = (const CSG_Strings &Strings) { Create(Strings); return( *this ); }
723  CSG_Strings & operator += (const CSG_Strings &Strings) { Add (Strings); return( *this ); }
724  CSG_Strings & operator += (const CSG_String &String ) { Add (String ); return( *this ); }
725 
726  bool Sort (bool Ascending = true);
727 
728  void Clear (void) { Destroy(); }
729  bool Assign (const CSG_Strings &Strings) { return( Create(Strings) ); }
730 
731 
732 protected:
733 
735 
736 };
737 
738 //---------------------------------------------------------
739 #define SG_DEFAULT_DELIMITERS " \t\r\n"
740 
741 typedef enum
742 {
749 }
751 
752 //---------------------------------------------------------
754 {
755 public:
756  CSG_String_Tokenizer(void);
758 
759  ~CSG_String_Tokenizer(void);
760 
761 
762  size_t Get_Tokens_Count (void) const;
763  SG_Char Get_Last_Delimiter (void) const;
764  CSG_String Get_Next_Token (void);
765  size_t Get_Position (void) const;
766  CSG_String Get_String (void) const;
767  bool Has_More_Tokens (void) const;
768  void Set_String (const CSG_String &String, const CSG_String &Delimiters = SG_DEFAULT_DELIMITERS, TSG_String_Tokenizer_Mode Mode = SG_TOKEN_DEFAULT);
769 
770 
771 private:
772 
773  class wxStringTokenizer *m_pTokenizer;
774 
775 };
776 
777 //---------------------------------------------------------
779 
780 //---------------------------------------------------------
781 SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric (int Character);
782 
784 
785 SAGA_API_DLL_EXPORT double SG_Degree_To_Double (const CSG_String &String);
787 
788 SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals (double Value, int maxDecimals = 6);
789 
791 
792 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (double Value, int Precision = -99);
793 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (int Value, int Precision = 0);
794 
795 
797 // //
798 // //
799 // //
801 
802 //---------------------------------------------------------
804 {
805 public:
806  CSG_Bytes (void);
807  bool Create (void);
808 
809  CSG_Bytes (const CSG_Bytes &Bytes);
810  bool Create (const CSG_Bytes &Bytes);
811 
812  CSG_Bytes (const BYTE *Bytes, int nBytes);
813  bool Create (const BYTE *Bytes, int nBytes);
814 
815  virtual ~CSG_Bytes(void);
816 
817  bool Destroy (void);
818  bool Clear (void);
819 
820  void Rewind (void) { m_Cursor = 0; }
821  bool is_EOF (void) { return( m_Cursor >= m_nBytes ); }
822 
823  int Get_Count (void) const { return( m_nBytes ); }
824  BYTE * Get_Bytes (void) const { return( m_Bytes ); }
825 
826  CSG_Bytes Get_Bytes (int i) const { if( i < 0 || i >= m_nBytes ) i = 0; return( CSG_Bytes(m_Bytes + i, m_nBytes - i) ); }
827  CSG_Bytes operator + (int i) const { return( Get_Bytes(i) ); }
828 
829  BYTE Get_Byte (int i) const { return( i >= 0 && i < m_nBytes ? m_Bytes[i] : 0 ); }
830  BYTE operator [] (int i) const { return( Get_Byte(i) ); }
831 
832  bool Assign (const CSG_Bytes &Bytes);
833  CSG_Bytes & operator = (const CSG_Bytes &Bytes) { Assign(Bytes); return( *this ); }
834 
835  bool Add (const CSG_Bytes &Bytes);
836  CSG_Bytes & operator += (const CSG_Bytes &Bytes) { Add(Bytes); return( *this ); }
837 
838  bool Add (void *Bytes, int nBytes, bool bSwapBytes);
839 
840  bool Add (BYTE Value) { return( Add(&Value, sizeof(Value), false) ); }
841  CSG_Bytes & operator += (BYTE Value) { Add(Value); return( *this ); }
842  bool Add (char Value) { return( Add(&Value, sizeof(Value), false) ); }
843  CSG_Bytes & operator += (char Value) { Add(Value); return( *this ); }
844  bool Add (short Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
845  CSG_Bytes & operator += (short Value) { Add(Value); return( *this ); }
846  bool Add (WORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
847  CSG_Bytes & operator += (WORD Value) { Add(Value); return( *this ); }
848  bool Add (int Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
849  CSG_Bytes & operator += (int Value) { Add(Value); return( *this ); }
850  bool Add (DWORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
851  CSG_Bytes & operator += (DWORD Value) { Add(Value); return( *this ); }
852  bool Add (float Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
853  CSG_Bytes & operator += (float Value) { Add(Value); return( *this ); }
854  bool Add (double Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
855  CSG_Bytes & operator += (double Value) { Add(Value); return( *this ); }
856 
857  BYTE asByte (int i) const { return( Get_Byte (i) ); }
858  char asChar (int i) const { return( (char)Get_Byte (i) ); }
859  short asShort (int i, bool bSwapBytes = false) const { short v = *((short *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
860  WORD asWord (int i, bool bSwapBytes = false) const { WORD v = *((WORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
861  int asInt (int i, bool bSwapBytes = false) const { int v = *((int *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
862  DWORD asDWord (int i, bool bSwapBytes = false) const { DWORD v = *((DWORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
863  float asFloat (int i, bool bSwapBytes = false) const { float v = *((float *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
864  double asDouble (int i, bool bSwapBytes = false) const { double v = *((double *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
865 
866  BYTE Read_Byte (void) { BYTE v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
867  char Read_Char (void) { char v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
868  short Read_Short (bool bSwapBytes = false) { short v = asShort (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
869  WORD Read_Word (bool bSwapBytes = false) { WORD v = asWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
870  int Read_Int (bool bSwapBytes = false) { int v = asInt (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
871  DWORD Read_DWord (bool bSwapBytes = false) { DWORD v = asDWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
872  float Read_Float (bool bSwapBytes = false) { float v = asFloat (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
873  double Read_Double (bool bSwapBytes = false) { double v = asDouble(m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
874 
875  CSG_String toHexString (void) const;
876  bool fromHexString (const CSG_String &HexString);
877 
878 
879 private:
880 
881  int m_nBytes, m_nBuffer, m_Cursor;
882 
883  BYTE *m_Bytes;
884 
885 
886  bool _Inc_Array (int nBytes);
887 
888 };
889 
890 //---------------------------------------------------------
892 {
893 public:
894  CSG_Bytes_Array(void);
895  virtual ~CSG_Bytes_Array(void);
896 
897  bool Destroy (void);
898 
899  int Get_Count (void) const { return( m_nBytes ); }
900  CSG_Bytes * Get_Bytes (int i) { return( i >= 0 && i < m_nBytes ? m_pBytes[i] : NULL ); }
901  CSG_Bytes & operator [] (int i) { return( *Get_Bytes(i) ); }
902 
903  CSG_Bytes * Add (void);
904 
905 
906 private:
907 
908  int m_nBytes, m_nBuffer;
909 
910  CSG_Bytes **m_pBytes;
911 
912 };
913 
914 
916 // //
917 // //
918 // //
920 
921 //---------------------------------------------------------
923 {
924 public:
925  CSG_Stack(size_t RecordSize)
926  {
927  m_Stack.Create(RecordSize, 1, TSG_Array_Growth::SG_ARRAY_GROWTH_FIX_256);
928  }
929 
930  virtual ~CSG_Stack(void) {}
931 
932  bool Destroy (void) { return( m_Stack.Set_Array(1) ); }
933 
934  size_t Get_RecordSize (void) const { return( m_Stack.Get_Value_Size() ); }
935  size_t Get_Size (void) const { return( m_Stack.Get_uSize() - 1 ); }
936 
937  bool Clear (bool bFreeMemory = false)
938  {
939  return( m_Stack.Set_Array(1, bFreeMemory) );
940  }
941 
942 
943 protected:
944 
945  void * Get_Record (size_t i) const
946  {
947  return( m_Stack.Get_Entry((sLong)(i + 1)) );
948  }
949 
950  void * Get_Record_Push (void)
951  {
952  return( m_Stack.Inc_Array() ? m_Stack.Get_Entry(m_Stack.Get_Size() - 1) : NULL );
953  }
954 
955  void * Get_Record_Pop (void)
956  {
957  if( m_Stack.Get_Size() > 0 )
958  {
959  memcpy(m_Stack.Get_Array(), m_Stack.Get_Entry(m_Stack.Get_Size() - 1), m_Stack.Get_Value_Size());
960 
961  m_Stack.Dec_Array(true);
962 
963  return( m_Stack.Get_Array() );
964  }
965 
966  return( NULL );
967  }
968 
969 
970 private:
971 
972  CSG_Array m_Stack;
973 
974 };
975 
976 
978 // //
979 // Data Types //
980 // //
982 
983 //---------------------------------------------------------
984 typedef enum
985 {
1004 
1005 //---------------------------------------------------------
1006 #define SG_DATATYPES_Undefined 0x0000
1007 #define SG_DATATYPES_Bit 0x0001
1008 #define SG_DATATYPES_Byte 0x0002
1009 #define SG_DATATYPES_Char 0x0004
1010 #define SG_DATATYPES_Word 0x0008
1011 #define SG_DATATYPES_Short 0x0010
1012 #define SG_DATATYPES_DWord 0x0020
1013 #define SG_DATATYPES_Int 0x0040
1014 #define SG_DATATYPES_ULong 0x0080
1015 #define SG_DATATYPES_Long 0x0100
1016 #define SG_DATATYPES_Float 0x0200
1017 #define SG_DATATYPES_Double 0x0400
1018 #define SG_DATATYPES_String 0x0800
1019 #define SG_DATATYPES_Date 0x1000
1020 #define SG_DATATYPES_Color 0x2000
1021 #define SG_DATATYPES_Binary 0x4000
1022 #define SG_DATATYPES_Standard 0xFFFF // all flags set
1023 #define SG_DATATYPES_SInteger (SG_DATATYPES_Char|SG_DATATYPES_Short|SG_DATATYPES_Int |SG_DATATYPES_Long)
1024 #define SG_DATATYPES_UInteger (SG_DATATYPES_Byte|SG_DATATYPES_Word |SG_DATATYPES_DWord|SG_DATATYPES_ULong)
1025 #define SG_DATATYPES_Integer (SG_DATATYPES_SInteger|SG_DATATYPES_UInteger)
1026 #define SG_DATATYPES_Real (SG_DATATYPES_Float|SG_DATATYPES_Double)
1027 #define SG_DATATYPES_Numeric (SG_DATATYPES_Integer|SG_DATATYPES_Real)
1028 #define SG_DATATYPES_Table (SG_DATATYPES_String|SG_DATATYPES_Date|SG_DATATYPES_Color|SG_DATATYPES_Numeric|SG_DATATYPES_Binary)
1029 
1030 //---------------------------------------------------------
1031 const char gSG_Data_Type_Identifier[][32] =
1032 {
1033  "BIT",
1034  "BYTE_UNSIGNED",
1035  "BYTE",
1036  "SHORTINT_UNSIGNED",
1037  "SHORTINT",
1038  "INTEGER_UNSIGNED",
1039  "INTEGER",
1040  "LONGINT_UNSIGNED",
1041  "LONGINT",
1042  "FLOAT",
1043  "DOUBLE",
1044  "STRING",
1045  "DATE",
1046  "COLOR",
1047  "BINARY",
1048  "UNDEFINED"
1049 };
1050 
1051 //---------------------------------------------------------
1053 {
1054  switch( Type )
1055  {
1056  case SG_DATATYPE_Bit : return( 0 );
1057  case SG_DATATYPE_Byte : return( sizeof(unsigned char) );
1058  case SG_DATATYPE_Char : return( sizeof(char) );
1059  case SG_DATATYPE_Word : return( sizeof(unsigned short int) );
1060  case SG_DATATYPE_Short : return( sizeof(short int) );
1061  case SG_DATATYPE_DWord : return( sizeof(unsigned int) );
1062  case SG_DATATYPE_Int : return( sizeof(int) );
1063  case SG_DATATYPE_ULong : return( sizeof(uLong) );
1064  case SG_DATATYPE_Long : return( sizeof(sLong) );
1065  case SG_DATATYPE_Float : return( sizeof(float) );
1066  case SG_DATATYPE_Double: return( sizeof(double) );
1067  case SG_DATATYPE_String: return( 0 );
1068  case SG_DATATYPE_Date : return( 0 );
1069  case SG_DATATYPE_Color : return( sizeof(unsigned int) );
1070  case SG_DATATYPE_Binary: return( 0 );
1071  default : return( 0 );
1072  }
1073 }
1074 
1075 //---------------------------------------------------------
1082 
1083 
1085 // //
1086 // File //
1087 // //
1089 
1090 //---------------------------------------------------------
1091 typedef enum
1092 {
1097 
1098 //---------------------------------------------------------
1100 {
1103  SG_FILE_RW
1104 };
1105 
1106 //---------------------------------------------------------
1108 {
1111  SG_FILE_END
1112 };
1113 
1114 //---------------------------------------------------------
1116 {
1117 public:
1118 
1119  CSG_File(void);
1120  virtual ~CSG_File(void);
1121 
1122  CSG_File (const CSG_String &FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1123  virtual bool Open (const CSG_String &FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1124 
1125  virtual bool Close (void);
1126 
1127  virtual const CSG_String & Get_File_Name (void) const { return( m_FileName ); }
1128  virtual TSG_File_Type Get_File_Type (void) const { return( SG_FILE_TYPE_NORMAL ); }
1129 
1130  class wxStreamBase * Get_Stream (void) const { return( (class wxStreamBase *)m_pStream ); }
1131 
1132  bool Set_Encoding (int Encoding);
1133  int Get_Encoding (void) const { return( m_Encoding ); }
1134 
1135  bool is_Open (void) const { return( m_pStream != NULL ); }
1136  bool is_Reading (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_W ); }
1137  bool is_Writing (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_R ); }
1138  bool is_EOF (void) const;
1139 
1140  sLong Length (void) const;
1141 
1142  bool Seek (sLong Offset, int Origin = SG_FILE_START) const;
1143  bool Seek_Start (void) const;
1144  bool Seek_End (void) const;
1145 
1146  sLong Tell (void) const;
1147 
1148  int Printf (const char *Format, ...);
1149  int Printf (const wchar_t *Format, ...);
1150 
1151  size_t Read (void *Buffer, size_t Size, size_t Count = 1) const;
1152  size_t Write (void *Buffer, size_t Size, size_t Count = 1) const;
1153  size_t Read ( CSG_String &Buffer, size_t Size) const;
1154  size_t Write (const CSG_String &Buffer) const;
1155 
1156  bool Read_Line (CSG_String &sLine) const;
1157 
1158  int Read_Char (void) const;
1159  int Read_Int ( bool bBigEndian = false) const;
1160  bool Write_Int (int Value, bool bBigEndian = false);
1161  double Read_Double ( bool bBigEndian = false) const;
1162  bool Write_Double (double Value, bool bBigEndian = false);
1163 
1164  bool Scan (int &Value) const;
1165  bool Scan (double &Value) const;
1166  bool Scan (CSG_String &Value, SG_Char Separator) const;
1167 
1168  int Scan_Int (void) const;
1169  double Scan_Double (void) const;
1170  CSG_String Scan_String (SG_Char Separator) const;
1171 
1172 
1173 protected:
1174 
1175  int m_Mode, m_Encoding;
1176 
1178 
1179  void *m_pStream, *m_pConvert;
1180 
1181 
1182  void On_Construction (void);
1183 
1184 };
1185 
1186 //---------------------------------------------------------
1188 {
1189 public:
1190 
1191  CSG_File_Zip(void);
1192  virtual ~CSG_File_Zip(void);
1193 
1194  CSG_File_Zip (const CSG_String &FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1195  virtual bool Open (const CSG_String &FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1196 
1197  virtual bool Close (void);
1198 
1199  virtual TSG_File_Type Get_File_Type (void) const { return( SG_FILE_TYPE_ZIP ); }
1200 
1201  bool Add_Directory (const CSG_String &Name);
1202  bool Add_File (const CSG_String &Name, bool bBinary = true);
1203 
1204  size_t Get_File_Count (void) { return( m_Files.Get_Size() ); }
1205  bool Get_File (const CSG_String &Name);
1206  bool Get_File (size_t Index);
1207  virtual CSG_String Get_File_Name (size_t Index);
1208  bool is_Directory (size_t Index);
1209 
1210 
1211 protected:
1212 
1214 
1215 };
1216 
1217 //---------------------------------------------------------
1218 SAGA_API_DLL_EXPORT bool SG_Dir_Exists (const CSG_String &Directory);
1219 SAGA_API_DLL_EXPORT bool SG_Dir_Create (const CSG_String &Directory, bool bFullPath = false);
1220 SAGA_API_DLL_EXPORT bool SG_Dir_Delete (const CSG_String &Directory, bool bRecursive = false);
1224 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory);
1225 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory, const CSG_String &Extension);
1226 
1227 SAGA_API_DLL_EXPORT bool SG_File_Exists (const CSG_String &FileName);
1228 SAGA_API_DLL_EXPORT bool SG_File_Delete (const CSG_String &FileName);
1231 SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name (const CSG_String &full_Path, bool bExtension);
1235 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name);
1236 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name, const CSG_String &Extension);
1237 SAGA_API_DLL_EXPORT bool SG_File_Cmp_Extension (const CSG_String &FileName, const CSG_String &Extension);
1239 SAGA_API_DLL_EXPORT bool SG_File_Set_Extension ( CSG_String &FileName, const CSG_String &Extension);
1240 
1241 //---------------------------------------------------------
1242 SAGA_API_DLL_EXPORT bool SG_Get_Environment (const CSG_String &Variable, CSG_String *Value = NULL);
1243 SAGA_API_DLL_EXPORT bool SG_Set_Environment (const CSG_String &Variable, const CSG_String &Value);
1244 
1245 
1247 // //
1248 // Colors //
1249 // //
1251 
1252 //---------------------------------------------------------
1253 #define SG_GET_RGB( r, g, b ) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16)))
1254 #define SG_GET_RGBA(r, g, b, a) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16) | (((DWORD)(BYTE)(a)) << 24)))
1255 
1256 #define SG_GET_R(rgb) ((BYTE) ((rgb) ))
1257 #define SG_GET_G(rgb) ((BYTE) ((rgb) >> 8))
1258 #define SG_GET_B(rgb) ((BYTE) ((rgb) >> 16))
1259 #define SG_GET_A(rgb) ((BYTE) ((rgb) >> 24))
1260 
1261 //---------------------------------------------------------
1262 #define SG_COLOR_BLACK SG_GET_RGB( 0, 0, 0)
1263 #define SG_COLOR_GREY SG_GET_RGB(128, 128, 128)
1264 #define SG_COLOR_GREY_LIGHT SG_GET_RGB(192, 192, 192)
1265 #define SG_COLOR_WHITE SG_GET_RGB(255, 255, 255)
1266 #define SG_COLOR_RED SG_GET_RGB(255, 0, 0)
1267 #define SG_COLOR_RED_DARK SG_GET_RGB(128, 0, 0)
1268 #define SG_COLOR_YELLOW SG_GET_RGB(255, 255, 0)
1269 #define SG_COLOR_YELLOW_DARK SG_GET_RGB(128, 128, 0)
1270 #define SG_COLOR_GREEN SG_GET_RGB( 0, 255, 0)
1271 #define SG_COLOR_GREEN_DARK SG_GET_RGB( 0, 128, 0)
1272 #define SG_COLOR_GREEN_LIGHT SG_GET_RGB( 0, 255, 0)
1273 #define SG_COLOR_BLUE SG_GET_RGB( 0, 0, 255)
1274 #define SG_COLOR_BLUE_DARK SG_GET_RGB( 0, 0, 128)
1275 #define SG_COLOR_BLUE_LIGHT SG_GET_RGB( 0, 255, 255)
1276 #define SG_COLOR_BLUE_GREEN SG_GET_RGB( 0, 128, 128)
1277 #define SG_COLOR_PURPLE SG_GET_RGB(128, 0, 128)
1278 #define SG_COLOR_PINK SG_GET_RGB(255, 0, 255)
1279 #define SG_COLOR_NONE -1
1280 #define SG_COLOR_RANDOM -2
1281 
1282 //---------------------------------------------------------
1284 {
1317 };
1318 
1319 //---------------------------------------------------------
1321 
1323 
1324 SAGA_API_DLL_EXPORT bool SG_Color_From_Text (const CSG_String &Text, long &Color);
1325 SAGA_API_DLL_EXPORT CSG_String SG_Color_To_Text (long Color, bool bHexadecimal = true);
1326 
1327 //---------------------------------------------------------
1329 {
1330 public:
1331  CSG_Colors (void);
1332  bool Create (void);
1333 
1334  CSG_Colors (const CSG_Colors &Colors);
1335  bool Create (const CSG_Colors &Colors);
1336 
1337  CSG_Colors (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1338  bool Create (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1339 
1340  virtual ~CSG_Colors(void);
1341 
1342  void Destroy (void);
1343 
1344  bool Set_Count (int nColors);
1345  int Get_Count (void) const { return( m_nColors ); }
1346 
1347  CSG_Colors & operator = (const CSG_Colors &Colors);
1348  long & operator [] (int Index) { return( m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] ); }
1349 
1350  bool Set_Color (int Index, long Color);
1351  bool Set_Color (int Index, int Red, int Green, int Blue);
1352  bool Set_Red (int Index, int Value);
1353  bool Set_Green (int Index, int Value);
1354  bool Set_Blue (int Index, int Value);
1355  bool Set_Brightness (int Index, int Value);
1356 
1357  long Get_Color (int Index) const { return( m_nColors > 0 ? m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] : 0 ); }
1358  long Get_Red (int Index) const { return( SG_GET_R(Get_Color(Index)) ); }
1359  long Get_Green (int Index) const { return( SG_GET_G(Get_Color(Index)) ); }
1360  long Get_Blue (int Index) const { return( SG_GET_B(Get_Color(Index)) ); }
1361  long Get_Brightness (int Index) const { return( (Get_Red(Index) + Get_Green(Index) + Get_Blue(Index)) / 3 ); }
1362 
1363  long Get_Interpolated (double Index) const
1364  {
1365  if( m_nColors <= 0 ) return( 0 );
1366  if( Index <= 0. ) return( m_Colors[0] );
1367  if( Index >= m_nColors - 1. ) return( m_Colors[m_nColors - 1] );
1368 
1369  int i = (int)Index; Index -= i;
1370  int r = (int)(Get_Red (i) + Index * ((double)Get_Red (i + 1) - Get_Red (i)));
1371  int g = (int)(Get_Green(i) + Index * ((double)Get_Green(i + 1) - Get_Green(i)));
1372  int b = (int)(Get_Blue (i) + Index * ((double)Get_Blue (i + 1) - Get_Blue (i)));
1373 
1374  return( SG_GET_RGB(r, g, b) );
1375  }
1376 
1377  static int Get_Predefined_Count(void);
1378  static CSG_String Get_Predefined_Name (int Identifier);
1379  bool Set_Predefined (int Index, bool bRevert = false, int nColors = 11);
1380  bool Set_Palette (int Index, bool bRevert = false, int nColors = 11) { return( Set_Predefined(Index, bRevert, nColors) ); }
1381  bool Set_Default (int nColors = 11);
1382  bool Set_Ramp (long Color_A, long Color_B);
1383  bool Set_Ramp (long Color_A, long Color_B, int iColor_A, int iColor_B);
1384  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B);
1385  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B, int iColor_A, int iColor_B);
1386 
1387  bool Random (void);
1388  bool Invert (void);
1389  bool Revert (void);
1390  bool Greyscale (void);
1391 
1392  bool Assign (const CSG_Colors &Colors);
1393  bool Assign (CSG_Colors *pSource);
1394 
1395  bool Load (const CSG_String &File_Name);
1396  bool Save (const CSG_String &File_Name, bool bBinary);
1397 
1398  bool Serialize (CSG_File &Stream, bool bSave, bool bBinary);
1399 
1400  bool to_Text ( CSG_String &String);
1401  bool from_Text (const CSG_String &String);
1402 
1403 
1404 private:
1405 
1406  int m_nColors;
1407 
1408  long *m_Colors;
1409 
1410 
1411  void _Set_Brightness (double &a, double &b, double &c, int Pass = 0);
1412 
1413 };
1414 
1415 
1417 // //
1418 // Translator //
1419 // //
1421 
1422 //---------------------------------------------------------
1424 {
1425 public:
1426  CSG_Translator(void);
1427  virtual ~CSG_Translator(void);
1428 
1429  CSG_Translator (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1430  bool Create (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1431 
1432  CSG_Translator (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1433  bool Create (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1434 
1435  void Destroy (void);
1436 
1437  bool is_CaseSensitive (void) const { return( !m_bCmpNoCase ); }
1438 
1439  int Get_Count (void) const { return( m_nTranslations ); }
1440  const SG_Char * Get_Text (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Text : SG_T("") ); }
1441  const SG_Char * Get_Translation (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Translation : SG_T("") ); }
1442 
1443  const SG_Char * Get_Translation (const SG_Char *Text, bool bReturnNullOnNotFound = false) const;
1444  bool Get_Translation (const SG_Char *Text, CSG_String &Translation) const;
1445 
1446 
1447 private:
1448 
1449  class CSG_Translation
1450  {
1451  public:
1452  CSG_Translation(const CSG_String &Text, const CSG_String &Translation)
1453  {
1454  m_Text = Text;
1455  m_Translation = Translation;
1456  }
1457 
1458  CSG_String m_Text, m_Translation;
1459  };
1460 
1461 
1462 private:
1463 
1464  bool m_bCmpNoCase;
1465 
1466  int m_nTranslations;
1467 
1468  CSG_Translation **m_Translations;
1469 
1470 
1471  int _Get_Index (const CSG_String &Text) const;
1472 
1473 };
1474 
1475 //---------------------------------------------------------
1477 
1478 SAGA_API_DLL_EXPORT const SG_Char * SG_Translate (const CSG_String &Text);
1479 
1480 #define _TL(s) SG_Translate(L ## s)
1481 #define _TW(s) SG_Translate(CSG_String(s))
1482 
1483 
1485 // //
1486 // UI Callback //
1487 // //
1489 
1490 //---------------------------------------------------------
1491 typedef enum
1492 {
1505 
1506 //---------------------------------------------------------
1507 typedef enum
1508 {
1516 
1517 //---------------------------------------------------------
1518 typedef enum
1519 {
1524 TSG_UI_Maps;
1525 
1526 //---------------------------------------------------------
1527 typedef enum
1528 {
1540 
1541 //---------------------------------------------------------
1542 typedef enum
1543 {
1550 
1552 
1557 
1559 
1563 
1568 
1573 
1575 
1577 
1579 
1581 
1586 
1587 //---------------------------------------------------------
1589 {
1590 public:
1591  CSG_UI_Parameter(void) : Boolean(false), Number( 0. ), Pointer(NULL) {}
1592  CSG_UI_Parameter(bool Value) : Boolean(Value), Number( 0. ), Pointer(NULL) {}
1593  CSG_UI_Parameter(int Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1594  CSG_UI_Parameter(double Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1595  CSG_UI_Parameter(const CSG_String &Value) : Boolean(false), Number( 0. ), Pointer(NULL), String(Value) {}
1596  CSG_UI_Parameter(void *Value) : Boolean(false), Number( 0. ), Pointer(Value) {}
1597  CSG_UI_Parameter(const CSG_UI_Parameter &Copy);
1598 
1599  bool Boolean;
1600 
1601  double Number;
1602 
1603  void *Pointer;
1604 
1606 
1607 };
1608 
1609 //---------------------------------------------------------
1611 
1612 //---------------------------------------------------------
1615 
1616 //---------------------------------------------------------
1619 
1620 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const char *Text, SG_Char End = '\n', bool bFlush = true);
1621 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1622 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1623 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const char *Text, SG_Char End = '\n', bool bFlush = true);
1624 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1625 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1626 
1627 //---------------------------------------------------------
1630 SAGA_API_DLL_EXPORT bool SG_UI_Process_Get_Okay (bool bBlink = false);
1631 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Okay (bool bOkay = true);
1632 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Busy (bool bOn = true, const CSG_String &Message = "");
1633 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (int Position, int Range);
1635 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (double Position, double Range);
1638 
1639 SAGA_API_DLL_EXPORT bool SG_UI_Stop_Execution (bool bDialog);
1640 
1641 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Message (const CSG_String &Message, const CSG_String &Caption);
1642 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Continue (const CSG_String &Message, const CSG_String &Caption);
1643 SAGA_API_DLL_EXPORT int SG_UI_Dlg_Error (const CSG_String &Message, const CSG_String &Caption);
1644 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Info (const CSG_String &Message, const CSG_String &Caption);
1645 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Parameters (class CSG_Parameters *pParameters, const CSG_String &Caption);
1646 
1647 SAGA_API_DLL_EXPORT int SG_UI_Msg_Lock (bool bOn);
1649 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add (const char *Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1650 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add (const wchar_t *Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1651 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add (const CSG_String &Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1652 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Execution (const char *Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1653 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Execution (const wchar_t *Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1654 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Execution (const CSG_String &Message, bool bNewLine = true, TSG_UI_MSG_STYLE Style = SG_UI_MSG_STYLE_NORMAL);
1655 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const char *Message);
1656 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const wchar_t *Message);
1657 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const CSG_String &Message);
1659 
1662 
1663 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Add (class CSG_Data_Object *pDataObject, int Show);
1664 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Update (class CSG_Data_Object *pDataObject, int Show, class CSG_Parameters *pParameters);
1665 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Show (class CSG_Data_Object *pDataObject, int Show);
1666 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_asImage (class CSG_Data_Object *pDataObject, class CSG_Grid *pGrid);
1667 
1668 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Get (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1669 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Set (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1670 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Get (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1671 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Set (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1672 
1673 SAGA_API_DLL_EXPORT bool SG_UI_Set_Map_Extent (double xMin, double yMin, double xMax, double yMax, int Maps = SG_UI_MAP_ACTIVE);
1674 
1675 SAGA_API_DLL_EXPORT bool SG_UI_Diagram_Show (class CSG_Table *pTable, class CSG_Parameters *pParameters);
1676 
1677 SAGA_API_DLL_EXPORT bool SG_UI_ODBC_Update (const CSG_String &Server);
1678 
1679 SAGA_API_DLL_EXPORT int SG_UI_Window_Arrange (int Arrange);
1680 
1683 
1684 
1686 // //
1687 // Environment //
1688 // //
1690 
1691 //---------------------------------------------------------
1692 SAGA_API_DLL_EXPORT bool SG_Initialize_Environment (bool bLibraries = true, bool bProjections = true, const SG_Char *Directory = NULL, bool bInitializeWX = true);
1694 
1695 
1697 // //
1698 // //
1699 // //
1701 
1702 //---------------------------------------------------------
1703 #endif // #ifndef HEADER_INCLUDED__SAGA_API__api_core_H
SG_Data_Type_Range_Check
SAGA_API_DLL_EXPORT bool SG_Data_Type_Range_Check(TSG_Data_Type Type, double &Value)
Definition: api_core.cpp:223
CSG_Array_Int::Get_Array
int * Get_Array(sLong nValues)
Definition: api_core.h:438
SG_DATATYPE_Color
@ SG_DATATYPE_Color
Definition: api_core.h:999
SG_DATATYPE_Int
@ SG_DATATYPE_Int
Definition: api_core.h:992
CSG_Bytes_Array::Get_Count
int Get_Count(void) const
Definition: api_core.h:899
SG_TOKEN_DEFAULT
@ SG_TOKEN_DEFAULT
Definition: api_core.h:744
CSG_Array_sLong::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_core.h:494
CSG_Array::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_memory.cpp:310
CSG_File::Open
virtual bool Open(const CSG_String &FileName, int Mode=SG_FILE_R, bool bBinary=true, int Encoding=SG_FILE_ENCODING_ANSI)
Definition: api_file.cpp:111
SG_TOKEN_INVALID
@ SG_TOKEN_INVALID
Definition: api_core.h:743
SG_UI_Dlg_Continue
SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Continue(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:380
SG_UI_WINDOW_ARRANGE_MDI_CASCADE
@ SG_UI_WINDOW_ARRANGE_MDI_CASCADE
Definition: api_core.h:1529
SG_File_Get_Path
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Path(const CSG_String &full_Path)
Definition: api_file.cpp:875
CSG_Translator
Definition: api_core.h:1424
SG_DATATYPE_Undefined
@ SG_DATATYPE_Undefined
Definition: api_core.h:1001
CSG_Bytes::Read_DWord
DWORD Read_DWord(bool bSwapBytes=false)
Definition: api_core.h:871
CSG_Array_sLong::Get
sLong & Get(sLong Index)
Definition: api_core.h:501
SG_GET_RGB
#define SG_GET_RGB(r, g, b)
Definition: api_core.h:1253
SG_COLORS_RED_BLUE_GREEN
@ SG_COLORS_RED_BLUE_GREEN
Definition: api_core.h:1305
SG_T
#define SG_T(s)
Definition: api_core.h:531
CSG_Buffer::Set_Value
void Set_Value(int Offset, int Value, bool bBigEndian=false)
Definition: api_core.h:264
CSG_Array_sLong::Inc_Array
bool Inc_Array(sLong nValues=1)
Definition: api_core.h:495
CSG_Bytes::asWord
WORD asWord(int i, bool bSwapBytes=false) const
Definition: api_core.h:860
CSG_Array_Int::Get
int & Get(sLong Index)
Definition: api_core.h:447
TSG_Array_Growth
TSG_Array_Growth
Definition: api_core.h:291
CSG_Array::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:324
CSG_Buffer::Set_Value
void Set_Value(int Offset, short Value, bool bBigEndian=false)
Definition: api_core.h:263
SG_UI_Process_Set_Ready
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Ready(void)
Definition: api_callback.cpp:299
SG_UI_Msg_Add_Execution
SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Execution(const char *Message, bool bNewLine=true, TSG_UI_MSG_STYLE Style=SG_UI_MSG_STYLE_NORMAL)
Definition: api_callback.cpp:517
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(bool Value)
Definition: api_core.h:1592
CSG_Bytes::asFloat
float asFloat(int i, bool bSwapBytes=false) const
Definition: api_core.h:863
CALLBACK_DLG_CONTINUE
@ CALLBACK_DLG_CONTINUE
Definition: api_core.h:1554
CALLBACK_PROCESS_SET_BUSY
@ CALLBACK_PROCESS_SET_BUSY
Definition: api_core.h:1546
SG_DATATYPE_String
@ SG_DATATYPE_String
Definition: api_core.h:997
SG_DATATYPE_DWord
@ SG_DATATYPE_DWord
Definition: api_core.h:991
SG_Dir_List_Subdirectories
SAGA_API_DLL_EXPORT bool SG_Dir_List_Subdirectories(CSG_Strings &List, const CSG_String &Directory)
Definition: api_file.cpp:771
CSG_Bytes::Read_Int
int Read_Int(bool bSwapBytes=false)
Definition: api_core.h:870
SG_DATATYPE_Binary
@ SG_DATATYPE_Binary
Definition: api_core.h:1000
CSG_Array::Get_Array
void * Get_Array(sLong nValues)
Definition: api_core.h:337
SG_GET_B
#define SG_GET_B(rgb)
Definition: api_core.h:1258
CSG_Array::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:327
SG_Data_Type_Get_Type
SAGA_API_DLL_EXPORT TSG_Data_Type SG_Data_Type_Get_Type(const CSG_String &Identifier)
Definition: api_core.cpp:152
CALLBACK_DATAOBJECT_COLORS_GET
@ CALLBACK_DATAOBJECT_COLORS_GET
Definition: api_core.h:1569
SG_Swap_Bytes
SAGA_API_DLL_EXPORT void SG_Swap_Bytes(void *Buffer, int nBytes)
Definition: api_memory.cpp:154
CSG_Array_Pointer::Get_Array
void ** Get_Array(sLong nValues)
Definition: api_core.h:385
CSG_File::Get_Stream
class wxStreamBase * Get_Stream(void) const
Definition: api_core.h:1130
CSG_Buffer::Add_Value
void Add_Value(float Value, bool bBigEndian=false)
Definition: api_core.h:253
CSG_Array_sLong::Get_uSize
size_t Get_uSize(void) const
Definition: api_core.h:489
CSG_File::m_FileName
CSG_String m_FileName
Definition: api_core.h:1177
CSG_Translator::Get_Text
const SG_Char * Get_Text(int i) const
Definition: api_core.h:1440
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void)
Definition: api_core.h:1591
CSG_Stack::Get_RecordSize
size_t Get_RecordSize(void) const
Definition: api_core.h:934
CSG_Strings::Del
bool Del(int Index)
Definition: api_core.h:713
SG_COLORS_GREEN_BLUE
@ SG_COLORS_GREEN_BLUE
Definition: api_core.h:1300
ESG_File_Flags_Open
ESG_File_Flags_Open
Definition: api_core.h:1100
CSG_Bytes::asByte
BYTE asByte(int i) const
Definition: api_core.h:857
CALLBACK_STOP_EXECUTION
@ CALLBACK_STOP_EXECUTION
Definition: api_core.h:1551
SG_Degree_To_Double
SAGA_API_DLL_EXPORT double SG_Degree_To_Double(const CSG_String &String)
Definition: api_string.cpp:1240
SG_TOKEN_RET_EMPTY_ALL
@ SG_TOKEN_RET_EMPTY_ALL
Definition: api_core.h:746
SG_Dir_Exists
SAGA_API_DLL_EXPORT bool SG_Dir_Exists(const CSG_String &Directory)
Definition: api_file.cpp:727
A
#define A
SG_UI_DataObject_Params_Get
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Get(class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:684
CALLBACK_DIAGRAM_SHOW
@ CALLBACK_DIAGRAM_SHOW
Definition: api_core.h:1576
SG_COLORS_RED_GREY_BLUE
@ SG_COLORS_RED_GREY_BLUE
Definition: api_core.h:1301
SG_UI_Console_Get_UTF8
SAGA_API_DLL_EXPORT bool SG_UI_Console_Get_UTF8(void)
Definition: api_callback.cpp:74
SG_UI_MSG_STYLE_NORMAL
@ SG_UI_MSG_STYLE_NORMAL
Definition: api_core.h:1493
CSG_Array_Pointer::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:381
CSG_Colors::Get_Blue
long Get_Blue(int Index) const
Definition: api_core.h:1360
SG_UI_MAP_LAST
@ SG_UI_MAP_LAST
Definition: api_core.h:1521
CSG_Stack::Get_Record_Pop
void * Get_Record_Pop(void)
Definition: api_core.h:955
CSG_Stack
Definition: api_core.h:923
SG_UI_MSG_STYLE_SUCCESS
@ SG_UI_MSG_STYLE_SUCCESS
Definition: api_core.h:1496
SG_Get_String
SAGA_API_DLL_EXPORT CSG_String SG_Get_String(double Value, int Precision=-99)
Definition: api_string.cpp:1337
CALLBACK_DLG_INFO
@ CALLBACK_DLG_INFO
Definition: api_core.h:1556
CSG_Bytes::Get_Count
int Get_Count(void) const
Definition: api_core.h:823
TSG_File_Type
TSG_File_Type
Definition: api_core.h:1092
CALLBACK_DATABASE_UPDATE
@ CALLBACK_DATABASE_UPDATE
Definition: api_core.h:1578
SG_File_Cmp_Extension
SAGA_API_DLL_EXPORT bool SG_File_Cmp_Extension(const CSG_String &FileName, const CSG_String &Extension)
Definition: api_file.cpp:928
CSG_Bytes::Read_Word
WORD Read_Word(bool bSwapBytes=false)
Definition: api_core.h:869
SG_COLORS_BLACK_BLUE
@ SG_COLORS_BLACK_BLUE
Definition: api_core.h:1290
SG_UI_DATAOBJECT_SHOW_MAP_LAST
@ SG_UI_DATAOBJECT_SHOW_MAP_LAST
Definition: api_core.h:1513
SG_UI_ODBC_Update
SAGA_API_DLL_EXPORT bool SG_UI_ODBC_Update(const CSG_String &Server)
Definition: api_callback.cpp:736
SG_Malloc
SAGA_API_DLL_EXPORT void * SG_Malloc(size_t size)
Definition: api_memory.cpp:65
CSG_Strings::Ins
bool Ins(const CSG_String &String, int Index)
Definition: api_core.h:711
SG_UI_Msg_Lock
SAGA_API_DLL_EXPORT int SG_UI_Msg_Lock(bool bOn)
Definition: api_callback.cpp:465
CSG_Array_Int::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:434
CSG_File_Zip::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1199
SG_UI_DATAOBJECT_SHOW_MAP_NEW
@ SG_UI_DATAOBJECT_SHOW_MAP_NEW
Definition: api_core.h:1512
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_BOTTOM
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_BOTTOM
Definition: api_core.h:1537
SG_DEFAULT_DELIMITERS
#define SG_DEFAULT_DELIMITERS
Definition: api_core.h:739
SG_Data_Type_Get_Size
size_t SG_Data_Type_Get_Size(TSG_Data_Type Type)
Definition: api_core.h:1052
SG_DATATYPE_Byte
@ SG_DATATYPE_Byte
Definition: api_core.h:987
SG_UI_Stop_Execution
SAGA_API_DLL_EXPORT bool SG_UI_Stop_Execution(bool bDialog)
Definition: api_callback.cpp:342
CSG_File::Get_Encoding
int Get_Encoding(void) const
Definition: api_core.h:1133
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
Definition: api_core.h:1534
SG_Get_UI_Callback
SAGA_API_DLL_EXPORT TSG_PFNC_UI_Callback SG_Get_UI_Callback(void)
Definition: api_callback.cpp:145
CSG_Buffer::asDouble
double asDouble(int Offset, bool bBigEndian=false) const
Definition: api_core.h:271
SG_Translate
SAGA_API_DLL_EXPORT const SG_Char * SG_Translate(const CSG_String &Text)
Definition: api_translator.cpp:93
SG_Color_To_Text
SAGA_API_DLL_EXPORT CSG_String SG_Color_To_Text(long Color, bool bHexadecimal=true)
Definition: api_colors.cpp:138
SG_UI_Dlg_Message
SAGA_API_DLL_EXPORT void SG_UI_Dlg_Message(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:362
SG_UI_Get_Window_Main
SAGA_API_DLL_EXPORT void * SG_UI_Get_Window_Main(void)
Definition: api_callback.cpp:771
SG_Dir_Get_Temp
SAGA_API_DLL_EXPORT CSG_String SG_Dir_Get_Temp(void)
Definition: api_file.cpp:763
SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
Definition: api_core.h:1531
SG_COLORS_TOPOGRAPHY
@ SG_COLORS_TOPOGRAPHY
Definition: api_core.h:1309
SG_FILE_ENCODING_UTF32BE
@ SG_FILE_ENCODING_UTF32BE
Definition: api_core.h:550
CALLBACK_PROCESS_SET_OKAY
@ CALLBACK_PROCESS_SET_OKAY
Definition: api_core.h:1545
SG_FILE_TYPE_NORMAL
@ SG_FILE_TYPE_NORMAL
Definition: api_core.h:1093
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(const CSG_String &Value)
Definition: api_core.h:1595
CALLBACK_PROCESS_SET_PROGRESS
@ CALLBACK_PROCESS_SET_PROGRESS
Definition: api_core.h:1547
SG_COLORS_WHITE_GREEN
@ SG_COLORS_WHITE_GREEN
Definition: api_core.h:1292
CSG_Bytes::Get_Byte
BYTE Get_Byte(int i) const
Definition: api_core.h:829
SG_COLORS_RAINBOW
@ SG_COLORS_RAINBOW
Definition: api_core.h:1307
CSG_Buffer::Set_Value
void Set_Value(int Offset, char Value, bool bBigEndian=false)
Definition: api_core.h:262
SG_COLORS_BLACK_RED
@ SG_COLORS_BLACK_RED
Definition: api_core.h:1288
CSG_Array_Int::Get_Array
int * Get_Array(void) const
Definition: api_core.h:437
SG_UI_Console_Print_StdOut
SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut(const char *Text, SG_Char End='\n', bool bFlush=true)
Definition: api_callback.cpp:77
SG_File_Delete
SAGA_API_DLL_EXPORT bool SG_File_Delete(const CSG_String &FileName)
Definition: api_file.cpp:840
SG_Free
SAGA_API_DLL_EXPORT void SG_Free(void *memblock)
Definition: api_memory.cpp:83
SG_UI_DataObject_asImage
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_asImage(class CSG_Data_Object *pDataObject, class CSG_Grid *pGrid)
Definition: api_callback.cpp:645
SG_Mem_Set_Double
SAGA_API_DLL_EXPORT void SG_Mem_Set_Double(char *Buffer, double Value, bool bSwapBytes)
Definition: api_memory.cpp:212
SG_FILE_R
@ SG_FILE_R
Definition: api_core.h:1101
CSG_File::m_Mode
int m_Mode
Definition: api_core.h:1175
SG_is_Character_Numeric
SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric(int Character)
Definition: api_string.cpp:1150
CALLBACK_GET_APP_PATH
@ CALLBACK_GET_APP_PATH
Definition: api_core.h:1583
SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
Definition: api_core.h:1532
SG_Uninitialize_Environment
SAGA_API_DLL_EXPORT bool SG_Uninitialize_Environment(void)
Definition: api_core.cpp:533
CSG_Colors::Get_Red
long Get_Red(int Index) const
Definition: api_core.h:1358
TSG_UI_DataObject_Update
TSG_UI_DataObject_Update
Definition: api_core.h:1508
SG_COLORS_ASPECT_2
@ SG_COLORS_ASPECT_2
Definition: api_core.h:1314
CSG_Array_Int::Set
bool Set(sLong Index, int Value)
Definition: api_core.h:446
CSG_Array_sLong::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:488
SG_FILE_END
@ SG_FILE_END
Definition: api_core.h:1111
CSG_Array_Int::Get
int Get(sLong Index) const
Definition: api_core.h:448
CSG_Bytes::asShort
short asShort(int i, bool bSwapBytes=false) const
Definition: api_core.h:859
SG_UI_Process_Set_Busy
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Busy(bool bOn=true, const CSG_String &Message="")
Definition: api_callback.cpp:236
CSG_Array_Int::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_core.h:440
CSG_UI_Parameter::String
CSG_String String
Definition: api_core.h:1605
CSG_Array_Pointer::Get
void * Get(sLong Index) const
Definition: api_core.h:395
CSG_Array_sLong::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_core.h:496
SG_Dir_Get_Current
SAGA_API_DLL_EXPORT CSG_String SG_Dir_Get_Current(void)
Definition: api_file.cpp:755
SG_UI_MSG_STYLE_02
@ SG_UI_MSG_STYLE_02
Definition: api_core.h:1501
CSG_Stack::Get_Record
void * Get_Record(size_t i) const
Definition: api_core.h:945
CSG_Array_Pointer::Set_Growth
bool Set_Growth(TSG_Array_Growth Growth)
Definition: api_core.h:378
CSG_Array_Pointer::Inc_Array
bool Inc_Array(sLong nValues=1)
Definition: api_core.h:388
SG_Calloc
SAGA_API_DLL_EXPORT void * SG_Calloc(size_t num, size_t size)
Definition: api_memory.cpp:71
CSG_File
Definition: api_core.h:1116
CSG_Array_Int::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:432
SG_UI_Process_Set_Text
SAGA_API_DLL_EXPORT void SG_UI_Process_Set_Text(const CSG_String &Text)
Definition: api_callback.cpp:317
SG_FILE_ENCODING_UTF7
@ SG_FILE_ENCODING_UTF7
Definition: api_core.h:545
SG_UI_Dlg_Parameters
SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Parameters(class CSG_Parameters *pParameters, const CSG_String &Caption)
Definition: api_callback.cpp:442
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(int Value)
Definition: api_core.h:1593
SG_Set_Environment
SAGA_API_DLL_EXPORT bool SG_Set_Environment(const CSG_String &Variable, const CSG_String &Value)
Definition: api_file.cpp:988
CSG_Bytes::Get_Bytes
CSG_Bytes Get_Bytes(int i) const
Definition: api_core.h:826
SG_GET_R
#define SG_GET_R(rgb)
Definition: api_core.h:1256
SG_COLORS_NEON
@ SG_COLORS_NEON
Definition: api_core.h:1308
SG_Get_Environment
SAGA_API_DLL_EXPORT bool SG_Get_Environment(const CSG_String &Variable, CSG_String *Value=NULL)
Definition: api_file.cpp:968
SG_UI_MSG_STYLE_FAILURE
@ SG_UI_MSG_STYLE_FAILURE
Definition: api_core.h:1497
SG_UI_DATAOBJECT_UPDATE
@ SG_UI_DATAOBJECT_UPDATE
Definition: api_core.h:1509
SG_FILE_RW
@ SG_FILE_RW
Definition: api_core.h:1103
SG_File_Get_Name
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name(const CSG_String &full_Path, bool bExtension)
Definition: api_file.cpp:862
SG_COLORS_YELLOW_BLUE
@ SG_COLORS_YELLOW_BLUE
Definition: api_core.h:1296
SG_Data_Type_is_Numeric
SAGA_API_DLL_EXPORT bool SG_Data_Type_is_Numeric(TSG_Data_Type Type)
Definition: api_core.cpp:197
CSG_Bytes::Rewind
void Rewind(void)
Definition: api_core.h:820
SG_File_Exists
SAGA_API_DLL_EXPORT bool SG_File_Exists(const CSG_String &FileName)
Definition: api_file.cpp:834
SG_COLORS_BLACK_WHITE
@ SG_COLORS_BLACK_WHITE
Definition: api_core.h:1287
SG_COLORS_YELLOW_RED
@ SG_COLORS_YELLOW_RED
Definition: api_core.h:1294
CSG_Strings::Clear
void Clear(void)
Definition: api_core.h:728
CSG_Array_Int::CSG_Array_Int
CSG_Array_Int(const CSG_Array_Int &Array)
Definition: api_core.h:423
SG_DATATYPE_Long
@ SG_DATATYPE_Long
Definition: api_core.h:994
CSG_Colors::Get_Count
int Get_Count(void) const
Definition: api_core.h:1345
CSG_Buffer::Add_Value
void Add_Value(int Value, bool bBigEndian=false)
Definition: api_core.h:252
CSG_Bytes::Add
bool Add(float Value, bool bSwapBytes=false)
Definition: api_core.h:852
SG_UI_Dlg_Error
SAGA_API_DLL_EXPORT int SG_UI_Dlg_Error(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:396
CSG_Buffer
Definition: api_core.h:224
TSG_PFNC_UI_Callback
int(* TSG_PFNC_UI_Callback)(TSG_UI_Callback_ID ID, CSG_UI_Parameter &Param_1, CSG_UI_Parameter &Param_2)
Definition: api_core.h:1610
SG_COLORS_YELLOW_GREEN
@ SG_COLORS_YELLOW_GREEN
Definition: api_core.h:1295
SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
@ SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
Definition: api_core.h:1511
SG_UI_Process_Set_Okay
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Okay(bool bOkay=true)
Definition: api_callback.cpp:223
CSG_Buffer::asInt
int asInt(int Offset, bool bBigEndian=false) const
Definition: api_core.h:269
CSG_Array_sLong::Get
sLong Get(sLong Index) const
Definition: api_core.h:502
SG_UI_MSG_STYLE_SMALL
@ SG_UI_MSG_STYLE_SMALL
Definition: api_core.h:1499
CSG_Data_Object
Definition: dataobject.h:180
SG_File_Get_Path_Relative
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Path_Relative(const CSG_String &Directory, const CSG_String &full_Path)
Definition: api_file.cpp:893
CSG_Colors::Set_Palette
bool Set_Palette(int Index, bool bRevert=false, int nColors=11)
Definition: api_core.h:1380
ESG_Colors
ESG_Colors
Definition: api_core.h:1284
CSG_Buffer::Set_Value
void Set_Value(int Offset, float Value, bool bBigEndian=false)
Definition: api_core.h:265
CSG_Array_Int::CSG_Array_Int
CSG_Array_Int(sLong nValues=0, TSG_Array_Growth Growth=TSG_Array_Growth::SG_ARRAY_GROWTH_0)
Definition: api_core.h:426
CSG_Array_sLong::CSG_Array_sLong
CSG_Array_sLong(sLong nValues=0, TSG_Array_Growth Growth=TSG_Array_Growth::SG_ARRAY_GROWTH_0)
Definition: api_core.h:480
CALLBACK_SET_MAP_EXTENT
@ CALLBACK_SET_MAP_EXTENT
Definition: api_core.h:1574
CSG_Translator::is_CaseSensitive
bool is_CaseSensitive(void) const
Definition: api_core.h:1437
SG_UI_MAP_ALL
@ SG_UI_MAP_ALL
Definition: api_core.h:1522
SG_FILE_ENCODING_UNDEFINED
@ SG_FILE_ENCODING_UNDEFINED
Definition: api_core.h:551
CSG_Stack::CSG_Stack
CSG_Stack(size_t RecordSize)
Definition: api_core.h:925
SG_Dir_Create
SAGA_API_DLL_EXPORT bool SG_Dir_Create(const CSG_String &Directory, bool bFullPath=false)
Definition: api_file.cpp:733
CSG_Colors::Get_Color
long Get_Color(int Index) const
Definition: api_core.h:1357
CSG_Array_Int::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_core.h:442
CALLBACK_DATAOBJECT_UPDATE
@ CALLBACK_DATAOBJECT_UPDATE
Definition: api_core.h:1565
SG_GET_G
#define SG_GET_G(rgb)
Definition: api_core.h:1257
SG_COLORS_DEFAULT
@ SG_COLORS_DEFAULT
Definition: api_core.h:1285
CSG_Strings::m_Strings
CSG_Array_Pointer m_Strings
Definition: api_core.h:734
CSG_Strings::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:707
CALLBACK_DLG_PARAMETERS
@ CALLBACK_DLG_PARAMETERS
Definition: api_core.h:1558
SG_OMP_Get_Thread_Num
SAGA_API_DLL_EXPORT int SG_OMP_Get_Thread_Num(void)
Definition: api_core.cpp:111
CSG_Array_Pointer::Get_uSize
size_t Get_uSize(void) const
Definition: api_core.h:382
SG_UI_Progress_Lock
SAGA_API_DLL_EXPORT int SG_UI_Progress_Lock(bool bOn)
Definition: api_callback.cpp:176
CALLBACK_PROCESS_SET_READY
@ CALLBACK_PROCESS_SET_READY
Definition: api_core.h:1548
SG_TOKEN_RET_EMPTY
@ SG_TOKEN_RET_EMPTY
Definition: api_core.h:745
CSG_Array_Int::Set_Growth
bool Set_Growth(TSG_Array_Growth Growth)
Definition: api_core.h:431
CSG_File::is_Writing
bool is_Writing(void) const
Definition: api_core.h:1137
SG_UI_Get_Application_Path
SAGA_API_DLL_EXPORT CSG_String SG_UI_Get_Application_Path(bool bPathOnly=false)
Definition: api_callback.cpp:786
SG_UI_Process_Set_Progress
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress(int Position, int Range)
Definition: api_callback.cpp:249
SG_UI_MAP_ACTIVE
@ SG_UI_MAP_ACTIVE
Definition: api_core.h:1520
CSG_Bytes::Read_Byte
BYTE Read_Byte(void)
Definition: api_core.h:866
CSG_File_Zip::Get_File_Count
size_t Get_File_Count(void)
Definition: api_core.h:1204
CSG_Array_sLong::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:486
SG_UI_DataObject_Colors_Get
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Get(class CSG_Data_Object *pDataObject, class CSG_Colors *pColors)
Definition: api_callback.cpp:658
CSG_Array::Get_Value_Size
size_t Get_Value_Size(void) const
Definition: api_core.h:326
CSG_Array_sLong::Destroy
void Destroy(void)
Definition: api_core.h:483
SG_COLORS_ASPECT_1
@ SG_COLORS_ASPECT_1
Definition: api_core.h:1313
SG_Get_CurrentTimeStr
SAGA_API_DLL_EXPORT CSG_String SG_Get_CurrentTimeStr(bool bWithDate=true)
Definition: api_string.cpp:1184
CALLBACK_DATAOBJECT_ADD
@ CALLBACK_DATAOBJECT_ADD
Definition: api_core.h:1564
sLong
signed long long sLong
Definition: api_core.h:158
CALLBACK_DATAOBJECT_SHOW
@ CALLBACK_DATAOBJECT_SHOW
Definition: api_core.h:1566
CSG_UI_Parameter::Number
double Number
Definition: api_core.h:1601
TSG_UI_Window_Arrange
TSG_UI_Window_Arrange
Definition: api_core.h:1528
SG_COLORS_WHITE_BLUE
@ SG_COLORS_WHITE_BLUE
Definition: api_core.h:1293
CSG_Array_Pointer::CSG_Array_Pointer
CSG_Array_Pointer(sLong nValues=0, TSG_Array_Growth Growth=TSG_Array_Growth::SG_ARRAY_GROWTH_0)
Definition: api_core.h:373
CSG_Bytes::Add
bool Add(short Value, bool bSwapBytes=false)
Definition: api_core.h:844
CSG_Array_Pointer::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_core.h:389
SG_UI_MSG_STYLE_03
@ SG_UI_MSG_STYLE_03
Definition: api_core.h:1502
SG_UI_Progress_Reset
SAGA_API_DLL_EXPORT int SG_UI_Progress_Reset(void)
Definition: api_callback.cpp:191
CSG_Stack::Clear
bool Clear(bool bFreeMemory=false)
Definition: api_core.h:937
SG_Set_UI_Callback
SAGA_API_DLL_EXPORT bool SG_Set_UI_Callback(TSG_PFNC_UI_Callback Function)
Definition: api_callback.cpp:137
CSG_Colors::Get_Interpolated
long Get_Interpolated(double Index) const
Definition: api_core.h:1363
SG_Dir_Delete
SAGA_API_DLL_EXPORT bool SG_Dir_Delete(const CSG_String &Directory, bool bRecursive=false)
Definition: api_file.cpp:744
SG_COLORS_GREEN_RED
@ SG_COLORS_GREEN_RED
Definition: api_core.h:1297
CSG_Buffer::Inc_Size
bool Inc_Size(size_t Size)
Definition: api_core.h:240
SG_Get_Translator
SAGA_API_DLL_EXPORT CSG_Translator & SG_Get_Translator(void)
Definition: api_translator.cpp:80
SG_FILE_ENCODING_UTF32LE
@ SG_FILE_ENCODING_UTF32LE
Definition: api_core.h:549
CSG_Buffer::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:241
SG_DATATYPE_Float
@ SG_DATATYPE_Float
Definition: api_core.h:995
SG_Mem_Get_Int
SAGA_API_DLL_EXPORT int SG_Mem_Get_Int(const char *Buffer, bool bSwapBytes)
Definition: api_memory.cpp:177
CSG_File_Zip::m_Files
CSG_Array_Pointer m_Files
Definition: api_core.h:1213
SG_Get_Significant_Decimals
SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals(double Value, int maxDecimals=6)
Definition: api_string.cpp:1274
CALLBACK_DATAOBJECT_PARAMS_SET
@ CALLBACK_DATAOBJECT_PARAMS_SET
Definition: api_core.h:1572
SG_String_Tokenize
SAGA_API_DLL_EXPORT CSG_Strings SG_String_Tokenize(const CSG_String &String, const CSG_String &Delimiters=SG_DEFAULT_DELIMITERS, TSG_String_Tokenizer_Mode Mode=SG_TOKEN_DEFAULT)
Definition: api_string.cpp:1493
SG_COLORS_DEFAULT_BRIGHT
@ SG_COLORS_DEFAULT_BRIGHT
Definition: api_core.h:1286
CSG_Translator::Get_Translation
const SG_Char * Get_Translation(int i) const
Definition: api_core.h:1441
CSG_Array_Int
Definition: api_core.h:421
SG_OMP_Set_Max_Num_Threads
SAGA_API_DLL_EXPORT void SG_OMP_Set_Max_Num_Threads(int iCores)
Definition: api_core.cpp:108
CALLBACK_DLG_ERROR
@ CALLBACK_DLG_ERROR
Definition: api_core.h:1555
CSG_UI_Parameter::Pointer
void * Pointer
Definition: api_core.h:1603
CSG_Bytes::Get_Bytes
BYTE * Get_Bytes(void) const
Definition: api_core.h:824
SG_FILE_CURRENT
@ SG_FILE_CURRENT
Definition: api_core.h:1110
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(double Value)
Definition: api_core.h:1594
CSG_Bytes::asDouble
double asDouble(int i, bool bSwapBytes=false) const
Definition: api_core.h:864
SG_UI_Window_Arrange
SAGA_API_DLL_EXPORT int SG_UI_Window_Arrange(int Arrange)
Definition: api_callback.cpp:756
CSG_Stack::Get_Record_Push
void * Get_Record_Push(void)
Definition: api_core.h:950
CSG_Bytes::Add
bool Add(DWORD Value, bool bSwapBytes=false)
Definition: api_core.h:850
SAGA_API_DLL_EXPORT
#define SAGA_API_DLL_EXPORT
Definition: api_core.h:94
CSG_File::Close
virtual bool Close(void)
Definition: api_file.cpp:154
CSG_Bytes::Add
bool Add(BYTE Value)
Definition: api_core.h:840
CSG_Array_sLong::Set
bool Set(sLong Index, sLong Value)
Definition: api_core.h:500
CSG_Array::Get_uSize
size_t Get_uSize(void) const
Definition: api_core.h:328
SG_File_Get_Extension
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Extension(const CSG_String &FileName)
Definition: api_file.cpp:953
SG_UI_MSG_STYLE_BOLD
@ SG_UI_MSG_STYLE_BOLD
Definition: api_core.h:1494
CSG_Array::Create
void * Create(const CSG_Array &Array)
Definition: api_memory.cpp:250
CALLBACK_MESSAGE_ADD_EXECUTION
@ CALLBACK_MESSAGE_ADD_EXECUTION
Definition: api_core.h:1562
CSG_Buffer::Add_Value
void Add_Value(char Value, bool bBigEndian=false)
Definition: api_core.h:250
SG_FILE_W
@ SG_FILE_W
Definition: api_core.h:1102
SG_UI_Msg_Flush
SAGA_API_DLL_EXPORT void SG_UI_Msg_Flush(void)
Definition: api_callback.cpp:564
CSG_Bytes::asChar
char asChar(int i) const
Definition: api_core.h:858
SG_UI_Dlg_Info
SAGA_API_DLL_EXPORT void SG_UI_Dlg_Info(const CSG_String &Message, const CSG_String &Caption)
Definition: api_callback.cpp:417
CSG_Strings
Definition: api_core.h:693
CSG_Array::Get_Array
void * Get_Array(void) const
Definition: api_core.h:336
SG_Data_Type_Get_Identifier
SAGA_API_DLL_EXPORT CSG_String SG_Data_Type_Get_Identifier(TSG_Data_Type Type)
Definition: api_core.cpp:146
SG_Color_Get_Random
SAGA_API_DLL_EXPORT long SG_Color_Get_Random(void)
Definition: api_colors.cpp:73
CSG_File::is_Open
bool is_Open(void) const
Definition: api_core.h:1135
CSG_Array_Pointer::Set
bool Set(sLong Index, void *Value)
Definition: api_core.h:393
CSG_Strings::Assign
bool Assign(const CSG_Strings &Strings)
Definition: api_core.h:729
CSG_Bytes_Array
Definition: api_core.h:892
SG_DATATYPE_Date
@ SG_DATATYPE_Date
Definition: api_core.h:998
SG_DATATYPE_Word
@ SG_DATATYPE_Word
Definition: api_core.h:989
TSG_File_Flags_Encoding
TSG_File_Flags_Encoding
Definition: api_core.h:543
CSG_Strings::Set_Count
bool Set_Count(int Count)
Definition: api_core.h:704
SG_UI_ProgressAndMsg_Lock
SAGA_API_DLL_EXPORT void SG_UI_ProgressAndMsg_Lock(bool bOn)
Definition: api_callback.cpp:577
CSG_Buffer::Get_Data
char * Get_Data(int Offset=0) const
Definition: api_core.h:244
SG_UI_Set_Map_Extent
SAGA_API_DLL_EXPORT bool SG_UI_Set_Map_Extent(double xMin, double yMin, double xMax, double yMax, int Maps=SG_UI_MAP_ACTIVE)
Definition: api_callback.cpp:710
CALLBACK_PROCESS_SET_TEXT
@ CALLBACK_PROCESS_SET_TEXT
Definition: api_core.h:1549
CSG_UI_Parameter
Definition: api_core.h:1589
CSG_Bytes
Definition: api_core.h:804
SG_COLORS_BLACK_GREEN
@ SG_COLORS_BLACK_GREEN
Definition: api_core.h:1289
SG_UI_ProgressAndMsg_Reset
SAGA_API_DLL_EXPORT void SG_UI_ProgressAndMsg_Reset(void)
Definition: api_callback.cpp:584
SG_Dir_List_Files
SAGA_API_DLL_EXPORT bool SG_Dir_List_Files(CSG_Strings &List, const CSG_String &Directory)
Definition: api_file.cpp:795
CSG_Array_Pointer::CSG_Array_Pointer
CSG_Array_Pointer(const CSG_Array_Pointer &Array)
Definition: api_core.h:370
CSG_Strings::Get_String
CSG_String & Get_String(int Index) const
Definition: api_core.h:716
SG_COLORS_GREEN_GREY_BLUE
@ SG_COLORS_GREEN_GREY_BLUE
Definition: api_core.h:1303
SG_UI_DataObject_Add
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Add(class CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:598
CSG_Stack::Destroy
bool Destroy(void)
Definition: api_core.h:932
CSG_Array_sLong::Set_Growth
bool Set_Growth(TSG_Array_Growth Growth)
Definition: api_core.h:485
SG_FILE_ENCODING_UTF16LE
@ SG_FILE_ENCODING_UTF16LE
Definition: api_core.h:547
SG_COLORS_TOPOGRAPHY_3
@ SG_COLORS_TOPOGRAPHY_3
Definition: api_core.h:1311
gSG_Data_Type_Identifier
const char gSG_Data_Type_Identifier[][32]
Definition: api_core.h:1031
CSG_Table
Definition: table.h:283
SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
Definition: api_core.h:1533
CALLBACK_MESSAGE_ADD_ERROR
@ CALLBACK_MESSAGE_ADD_ERROR
Definition: api_core.h:1561
CSG_Array_Int::Inc_Array
bool Inc_Array(sLong nValues=1)
Definition: api_core.h:441
SG_UI_MSG_STYLE_ITALIC
@ SG_UI_MSG_STYLE_ITALIC
Definition: api_core.h:1495
SG_Double_To_Degree
SAGA_API_DLL_EXPORT CSG_String SG_Double_To_Degree(double Value)
Definition: api_string.cpp:1210
SG_File_Set_Extension
SAGA_API_DLL_EXPORT bool SG_File_Set_Extension(CSG_String &FileName, const CSG_String &Extension)
Definition: api_file.cpp:934
SG_COLORS_ASPECT_3
@ SG_COLORS_ASPECT_3
Definition: api_core.h:1315
SG_COLORS_RED_GREY_GREEN
@ SG_COLORS_RED_GREY_GREEN
Definition: api_core.h:1302
SG_File_Get_Path_Absolute
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Path_Absolute(const CSG_String &full_Path)
Definition: api_file.cpp:883
ESG_File_Flags_Seek
ESG_File_Flags_Seek
Definition: api_core.h:1108
SG_TOKEN_STRTOK
@ SG_TOKEN_STRTOK
Definition: api_core.h:748
CSG_Bytes::asDWord
DWORD asDWord(int i, bool bSwapBytes=false) const
Definition: api_core.h:862
SG_UI_Console_Print_StdErr
SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr(const char *Text, SG_Char End='\n', bool bFlush=true)
Definition: api_callback.cpp:102
CSG_Array_Pointer::Destroy
void Destroy(void)
Definition: api_core.h:376
CSG_Translator::Get_Count
int Get_Count(void) const
Definition: api_core.h:1439
SG_Char
#define SG_Char
Definition: api_core.h:530
CSG_Array::Inc_Array
bool Inc_Array(sLong nValues=1)
Definition: api_memory.cpp:414
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_RIGHT
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_RIGHT
Definition: api_core.h:1535
CSG_Colors::Get_Brightness
long Get_Brightness(int Index) const
Definition: api_core.h:1361
CSG_Array
Definition: api_core.h:308
B
#define B
SG_UI_DATAOBJECT_SHOW_MAP
@ SG_UI_DATAOBJECT_SHOW_MAP
Definition: api_core.h:1510
CSG_String
Definition: api_core.h:557
CSG_Array_Pointer
Definition: api_core.h:368
SG_Data_Type_Get_Name
SAGA_API_DLL_EXPORT CSG_String SG_Data_Type_Get_Name(TSG_Data_Type Type, bool bShort=false)
Definition: api_core.cpp:122
CSG_File::m_pStream
void * m_pStream
Definition: api_core.h:1179
SG_Color_From_Text
SAGA_API_DLL_EXPORT bool SG_Color_From_Text(const CSG_String &Text, long &Color)
Definition: api_colors.cpp:79
CSG_Array::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_memory.cpp:425
SG_UI_Msg_Add_Error
SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error(const char *Message)
Definition: api_callback.cpp:544
CSG_Colors::Get_Green
long Get_Green(int Index) const
Definition: api_core.h:1359
CSG_Stack::~CSG_Stack
virtual ~CSG_Stack(void)
Definition: api_core.h:930
SG_Data_Type_Get_Flag
SAGA_API_DLL_EXPORT int SG_Data_Type_Get_Flag(TSG_Data_Type Type)
Definition: api_core.cpp:173
CALLBACK_GET_APP_WINDOW
@ CALLBACK_GET_APP_WINDOW
Definition: api_core.h:1582
CSG_Bytes::Add
bool Add(int Value, bool bSwapBytes=false)
Definition: api_core.h:848
SG_UI_Msg_Reset
SAGA_API_DLL_EXPORT int SG_UI_Msg_Reset(void)
Definition: api_callback.cpp:480
SG_FILE_ENCODING_UTF16BE
@ SG_FILE_ENCODING_UTF16BE
Definition: api_core.h:548
SG_Colors_Get_Name
SAGA_API_DLL_EXPORT CSG_String SG_Colors_Get_Name(int Index)
Definition: api_colors.cpp:67
CSG_Bytes::Add
bool Add(char Value)
Definition: api_core.h:842
SG_COLORS_COUNT
@ SG_COLORS_COUNT
Definition: api_core.h:1316
CSG_Array_Pointer::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_core.h:387
CALLBACK_WINDOW_ARRANGE
@ CALLBACK_WINDOW_ARRANGE
Definition: api_core.h:1580
SG_Flip_Decimal_Separators
SAGA_API_DLL_EXPORT void SG_Flip_Decimal_Separators(CSG_String &String)
Definition: api_string.cpp:1304
SG_TOKEN_RET_DELIMS
@ SG_TOKEN_RET_DELIMS
Definition: api_core.h:747
TSG_String_Tokenizer_Mode
TSG_String_Tokenizer_Mode
Definition: api_core.h:742
TSG_Array_Growth::SG_ARRAY_GROWTH_0
@ SG_ARRAY_GROWTH_0
CSG_Bytes::Read_Char
char Read_Char(void)
Definition: api_core.h:867
SG_DATATYPE_Short
@ SG_DATATYPE_Short
Definition: api_core.h:990
SG_COLORS_RED_BLUE
@ SG_COLORS_RED_BLUE
Definition: api_core.h:1299
CSG_Strings::Get_String
CSG_String & Get_String(size_t Index) const
Definition: api_core.h:717
CSG_Array_sLong::Get_Array
sLong * Get_Array(void) const
Definition: api_core.h:491
CALLBACK_MESSAGE_ADD
@ CALLBACK_MESSAGE_ADD
Definition: api_core.h:1560
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void *Value)
Definition: api_core.h:1596
CSG_Stack::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:935
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
Definition: api_core.h:1536
TSG_UI_Maps
TSG_UI_Maps
Definition: api_core.h:1519
CSG_Bytes::Read_Float
float Read_Float(bool bSwapBytes=false)
Definition: api_core.h:872
CSG_Array_Pointer::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:379
CSG_Grid
Definition: grid.h:473
CSG_Array_Pointer::Get_Array
void ** Get_Array(void) const
Definition: api_core.h:384
SG_DATATYPE_Bit
@ SG_DATATYPE_Bit
Definition: api_core.h:986
CSG_Bytes::Add
bool Add(WORD Value, bool bSwapBytes=false)
Definition: api_core.h:846
CALLBACK_DATAOBJECT_PARAMS_GET
@ CALLBACK_DATAOBJECT_PARAMS_GET
Definition: api_core.h:1571
CSG_File::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1128
SG_COLORS_WHITE_RED
@ SG_COLORS_WHITE_RED
Definition: api_core.h:1291
SG_UI_DataObject_Colors_Set
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Set(class CSG_Data_Object *pDataObject, class CSG_Colors *pColors)
Definition: api_callback.cpp:671
SG_Mem_Set_Int
SAGA_API_DLL_EXPORT void SG_Mem_Set_Int(char *Buffer, int Value, bool bSwapBytes)
Definition: api_memory.cpp:189
CSG_Array_sLong::CSG_Array_sLong
CSG_Array_sLong(const CSG_Array_sLong &Array)
Definition: api_core.h:477
CSG_Array_Pointer::Get
void *& Get(sLong Index)
Definition: api_core.h:394
SG_COLORS_RED_GREEN_BLUE
@ SG_COLORS_RED_GREEN_BLUE
Definition: api_core.h:1304
CSG_Buffer::Add_Value
void Add_Value(short Value, bool bBigEndian=false)
Definition: api_core.h:251
CALLBACK_PROCESS_GET_OKAY
@ CALLBACK_PROCESS_GET_OKAY
Definition: api_core.h:1544
CSG_String::m_pString
class wxString * m_pString
Definition: api_core.h:681
SG_UI_MSG_STYLE_01
@ SG_UI_MSG_STYLE_01
Definition: api_core.h:1500
CALLBACK_DLG_MESSAGE
@ CALLBACK_DLG_MESSAGE
Definition: api_core.h:1553
CSG_Buffer::asFloat
float asFloat(int Offset, bool bBigEndian=false) const
Definition: api_core.h:270
SG_UI_DataObject_Params_Set
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Set(class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:697
CSG_Bytes::asInt
int asInt(int i, bool bSwapBytes=false) const
Definition: api_core.h:861
SG_File_Get_Name_Temp
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name_Temp(const CSG_String &Prefix)
Definition: api_file.cpp:846
SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
Definition: api_core.h:1530
SG_UI_Process_Get_Okay
SAGA_API_DLL_EXPORT bool SG_UI_Process_Get_Okay(bool bBlink=false)
Definition: api_callback.cpp:201
SG_File_Make_Path
SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path(const CSG_String &Directory, const CSG_String &Name)
Definition: api_file.cpp:903
SG_OMP_Get_Max_Num_Threads
SAGA_API_DLL_EXPORT int SG_OMP_Get_Max_Num_Threads(void)
Definition: api_core.cpp:109
SG_COLORS_PRECIPITATION
@ SG_COLORS_PRECIPITATION
Definition: api_core.h:1312
CSG_Bytes_Array::Get_Bytes
CSG_Bytes * Get_Bytes(int i)
Definition: api_core.h:900
CSG_Bytes::Read_Short
short Read_Short(bool bSwapBytes=false)
Definition: api_core.h:868
SG_Initialize_Environment
SAGA_API_DLL_EXPORT bool SG_Initialize_Environment(bool bLibraries=true, bool bProjections=true, const SG_Char *Directory=NULL, bool bInitializeWX=true)
Definition: api_core.cpp:392
CSG_Strings::Get_Count
int Get_Count(void) const
Definition: api_core.h:706
TSG_UI_MSG_STYLE
TSG_UI_MSG_STYLE
Definition: api_core.h:1492
CSG_Bytes::is_EOF
bool is_EOF(void)
Definition: api_core.h:821
CSG_UI_Parameter::Boolean
bool Boolean
Definition: api_core.h:1599
CSG_Parameters
Definition: parameters.h:1650
TSG_Data_Type
TSG_Data_Type
Definition: api_core.h:985
CSG_Array_sLong
Definition: api_core.h:475
CSG_Array_Int::Get_uSize
size_t Get_uSize(void) const
Definition: api_core.h:435
SG_Realloc
SAGA_API_DLL_EXPORT void * SG_Realloc(void *memblock, size_t size)
Definition: api_memory.cpp:77
CSG_Buffer::Set_Value
void Set_Value(int Offset, double Value, bool bBigEndian=false)
Definition: api_core.h:266
SG_UI_MSG_STYLE_BIG
@ SG_UI_MSG_STYLE_BIG
Definition: api_core.h:1498
SG_FILE_START
@ SG_FILE_START
Definition: api_core.h:1109
SG_FILE_TYPE_ZIP
@ SG_FILE_TYPE_ZIP
Definition: api_core.h:1094
SG_OMP_Get_Max_Num_Procs
SAGA_API_DLL_EXPORT int SG_OMP_Get_Max_Num_Procs(void)
Definition: api_core.cpp:110
SG_COLORS_RED_GREEN
@ SG_COLORS_RED_GREEN
Definition: api_core.h:1298
CSG_String_Tokenizer
Definition: api_core.h:754
SG_COLORS_GREEN_RED_BLUE
@ SG_COLORS_GREEN_RED_BLUE
Definition: api_core.h:1306
TSG_UI_Callback_ID
TSG_UI_Callback_ID
Definition: api_core.h:1543
SG_FILE_ENCODING_ANSI
@ SG_FILE_ENCODING_ANSI
Definition: api_core.h:544
CALLBACK_DATAOBJECT_ASIMAGE
@ CALLBACK_DATAOBJECT_ASIMAGE
Definition: api_core.h:1567
CSG_Bytes::Read_Double
double Read_Double(bool bSwapBytes=false)
Definition: api_core.h:873
CSG_Array_Int::Destroy
void Destroy(void)
Definition: api_core.h:429
SG_FILE_ENCODING_UTF8
@ SG_FILE_ENCODING_UTF8
Definition: api_core.h:546
CSG_Array_sLong::Get_Array
sLong * Get_Array(sLong nValues)
Definition: api_core.h:492
SG_Mem_Get_Double
SAGA_API_DLL_EXPORT double SG_Mem_Get_Double(const char *Buffer, bool bSwapBytes)
Definition: api_memory.cpp:200
uLong
unsigned long long uLong
Definition: api_core.h:159
SG_DATATYPE_Char
@ SG_DATATYPE_Char
Definition: api_core.h:988
SG_UI_DataObject_Show
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Show(class CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:632
SG_UI_Console_Set_UTF8
SAGA_API_DLL_EXPORT void SG_UI_Console_Set_UTF8(bool bOn)
Definition: api_callback.cpp:73
SG_UI_Msg_Add
SAGA_API_DLL_EXPORT void SG_UI_Msg_Add(const char *Message, bool bNewLine=true, TSG_UI_MSG_STYLE Style=SG_UI_MSG_STYLE_NORMAL)
Definition: api_callback.cpp:490
CSG_Bytes::Add
bool Add(double Value, bool bSwapBytes=false)
Definition: api_core.h:854
CSG_File::is_Reading
bool is_Reading(void) const
Definition: api_core.h:1136
CSG_File_Zip
Definition: api_core.h:1188
SG_DATATYPE_ULong
@ SG_DATATYPE_ULong
Definition: api_core.h:993
CSG_Array::Get_Entry
void * Get_Entry(sLong Index) const
Returns a pointer to the memory address of the requested variable. You have to type cast and derefere...
Definition: api_core.h:331
CSG_Buffer::Add_Value
void Add_Value(double Value, bool bBigEndian=false)
Definition: api_core.h:254
CSG_File::Get_File_Name
virtual const CSG_String & Get_File_Name(void) const
Definition: api_core.h:1127
SG_COLORS_TOPOGRAPHY_2
@ SG_COLORS_TOPOGRAPHY_2
Definition: api_core.h:1310
CALLBACK_DATAOBJECT_COLORS_SET
@ CALLBACK_DATAOBJECT_COLORS_SET
Definition: api_core.h:1570
CSG_Colors
Definition: api_core.h:1329
SG_UI_DataObject_Update
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Update(class CSG_Data_Object *pDataObject, int Show, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:611
SG_UI_Diagram_Show
SAGA_API_DLL_EXPORT bool SG_UI_Diagram_Show(class CSG_Table *pTable, class CSG_Parameters *pParameters)
Definition: api_callback.cpp:723
CSG_Buffer::asShort
short asShort(int Offset, bool bBigEndian=false) const
Definition: api_core.h:268
SG_DATATYPE_Double
@ SG_DATATYPE_Double
Definition: api_core.h:996
operator+
SAGA_API_DLL_EXPORT CSG_String operator+(const char *A, const CSG_String &B)
Definition: api_string.cpp:473