SAGA API  v9.7
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 #ifndef SWIG
395  void *& Get (sLong Index) { return( *((void **)m_Array.Get_Entry(Index)) ); }
396 #endif
397  void * Get (sLong Index) const { return( *((void **)m_Array.Get_Entry(Index)) ); }
398  bool Del (sLong Index);
399  sLong Del (void *Value);
400 
401  CSG_Array_Pointer & operator = (const CSG_Array_Pointer &Array) { Create(Array); return( *this ); }
402 
403  void *& operator [] (sLong Index) { return( Get(Index) ); }
404  void * operator [] (sLong Index) const { return( Get(Index) ); }
405 
406  CSG_Array_Pointer & operator += (void *Value) { Add(Value); return( *this ); }
407  CSG_Array_Pointer & operator += (const CSG_Array_Pointer &Array) { Add(Array); return( *this ); }
408 
409 
410 private:
411 
412  CSG_Array m_Array;
413 
414 };
415 
416 
418 // //
420 
421 //---------------------------------------------------------
423 {
424 public:
425  CSG_Array_Int (const CSG_Array_Int &Array) { Create(Array); }
426  int * Create (const CSG_Array_Int &Array);
427 
428  CSG_Array_Int (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0) { Create(nValues, Growth); }
429  int * Create (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
430 
431  void Destroy (void) { m_Array.Destroy(); }
432 
433  bool Set_Growth (TSG_Array_Growth Growth) { return( m_Array.Set_Growth(Growth) ); }
434  TSG_Array_Growth Get_Growth (void) const { return( m_Array.Get_Growth() ); }
435 
436  sLong Get_Size (void) const { return( m_Array.Get_Size() ); }
437  size_t Get_uSize (void) const { return( m_Array.Get_uSize() ); }
438 
439  int * Get_Array (void) const { return( (int *)m_Array.Get_Array() ); }
440  int * Get_Array (sLong nValues) { return( (int *)m_Array.Get_Array(nValues) ); }
441 
442  bool Set_Array (sLong nValues, bool bShrink = true) { return( m_Array.Set_Array(nValues, bShrink) ); }
443  bool Inc_Array (sLong nValues = 1) { return( m_Array.Inc_Array(nValues) ); }
444  bool Dec_Array ( bool bShrink = true) { return( m_Array.Dec_Array(bShrink) ); }
445 
446  bool Add (int Value);
447  bool Add (const CSG_Array_Int &Array);
448  bool Set (sLong Index, int Value) { if( !m_Array.Get_Entry(Index) ) return( false ); *((int *)m_Array.Get_Entry(Index)) = Value; return( true ); }
449 #ifndef SWIG
450  int & Get (sLong Index) { return( *((int *)m_Array.Get_Entry(Index)) ); }
451 #endif
452  int Get (sLong Index) const { return( *((int *)m_Array.Get_Entry(Index)) ); }
453 
454  bool Assign (int Value);
455 
456  CSG_Array_Int & operator = (const CSG_Array_Int &Array) { Create(Array); return( *this ); }
457  CSG_Array_Int & operator = (int Value) { Assign(Value); return( *this ); }
458 
459  int & operator [] (sLong Index) { return( Get(Index) ); }
460  int operator [] (sLong Index) const { return( Get(Index) ); }
461 
462  CSG_Array_Int & operator += (int Value) { Add(Value); return( *this ); }
463  CSG_Array_Int & operator += (const CSG_Array_Int &Array) { Add(Array); return( *this ); }
464 
465 
466 private:
467 
468  CSG_Array m_Array;
469 
470 };
471 
472 
474 // //
476 
477 //---------------------------------------------------------
479 {
480 public:
481  CSG_Array_sLong (const CSG_Array_sLong &Array) { Create(Array); }
482  sLong * Create (const CSG_Array_sLong &Array);
483 
484  CSG_Array_sLong (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0) { Create(nValues, Growth); }
485  sLong * Create (sLong nValues = 0, TSG_Array_Growth Growth = TSG_Array_Growth::SG_ARRAY_GROWTH_0);
486 
487  void Destroy (void) { m_Array.Destroy(); }
488 
489  bool Set_Growth (TSG_Array_Growth Growth) { return( m_Array.Set_Growth(Growth) ); }
490  TSG_Array_Growth Get_Growth (void) const { return( m_Array.Get_Growth() ); }
491 
492  sLong Get_Size (void) const { return( m_Array.Get_Size() ); }
493  size_t Get_uSize (void) const { return( m_Array.Get_uSize() ); }
494 
495  sLong * Get_Array (void) const { return( (sLong *)m_Array.Get_Array() ); }
496  sLong * Get_Array (sLong nValues) { return( (sLong *)m_Array.Get_Array(nValues) ); }
497 
498  bool Set_Array (sLong nValues, bool bShrink = true) { return( m_Array.Set_Array(nValues, bShrink) ); }
499  bool Inc_Array (sLong nValues = 1) { return( m_Array.Inc_Array(nValues) ); }
500  bool Dec_Array ( bool bShrink = true) { return( m_Array.Dec_Array(bShrink) ); }
501 
502  bool Add (sLong Value);
503  bool Add (const CSG_Array_sLong &Array);
504  bool Set (sLong Index, sLong Value) { if( !m_Array.Get_Entry(Index) ) return( false ); *((sLong *)m_Array.Get_Entry(Index)) = Value; return( true ); }
505 #ifndef SWIG
506  sLong & Get (sLong Index) { return( *((sLong *)m_Array.Get_Entry(Index)) ); }
507 #endif
508  sLong Get (sLong Index) const { return( *((sLong *)m_Array.Get_Entry(Index)) ); }
509 
510  bool Assign (sLong Value);
511 
512  CSG_Array_sLong & operator = (const CSG_Array_sLong &Array) { Create(Array); return( *this ); }
513  CSG_Array_sLong & operator = (sLong Value) { Assign(Value); return( *this ); }
514 
515  sLong & operator [] (sLong Index) { return( Get(Index) ); }
516  sLong operator [] (sLong Index) const { return( Get(Index) ); }
517 
518  CSG_Array_sLong & operator += (sLong Value) { Add(Value); return( *this ); }
519  CSG_Array_sLong & operator += (const CSG_Array_sLong &Array) { Add(Array); return( *this ); }
520 
521 
522 private:
523 
524  CSG_Array m_Array;
525 
526 };
527 
528 
530 // //
531 // String //
532 // //
534 
535 //---------------------------------------------------------
536 #define SG_Char wchar_t
537 #define SG_T(s) L ## s
538 #define SG_PRINTF wprintf
539 #define SG_FPRINTF fwprintf
540 #define SG_SSCANF swscanf
541 #define SG_STR_CPY wcscpy
542 #define SG_STR_LEN wcslen
543 #define SG_STR_TOD wcstod
544 #define SG_STR_CMP(s1, s2) CSG_String(s1).Cmp(s2)
545 #define SG_STR_MBTOSG(s) CSG_String(s).w_str()
546 
547 //---------------------------------------------------------
548 typedef enum
549 {
558 }
560 
561 //---------------------------------------------------------
563 {
564 public:
565  CSG_String(void);
566  CSG_String(const CSG_String &String);
567  CSG_String(const char *String);
568  CSG_String(const wchar_t *String);
569  CSG_String(char Character, size_t nRepeat = 1);
570  CSG_String(wchar_t Character, size_t nRepeat = 1);
571 
572  CSG_String (const class wxString *pString);
573  bool Create (const class wxString *pString);
574 
575  virtual ~CSG_String(void);
576 
577  CSG_String & operator = (const CSG_String &String);
578  CSG_String & operator = (const char *String);
579  CSG_String & operator = (const wchar_t *String);
580  CSG_String & operator = (char Character);
581  CSG_String & operator = (wchar_t Character);
582 
583  size_t Length (void) const;
584 
585  bool is_Empty (void) const;
586 
587  SG_Char operator [] (int i) const;
588  SG_Char operator [] (size_t i) const;
589  SG_Char Get_Char (size_t i) const;
590 
591  void Set_Char (size_t i, char Character);
592  void Set_Char (size_t i, wchar_t Character);
593 
594  const char * b_str (void) const;
595  const wchar_t * w_str (void) const;
596  const SG_Char * c_str (void) const;
597 
598  operator const char * (void) const { return( b_str() ); }
599  operator const wchar_t * (void) const { return( w_str() ); }
600 
601  CSG_String & Prepend (const CSG_String &String);
602 
603  CSG_String & Append (const CSG_String &String);
604  CSG_String & Append (const char *String);
605  CSG_String & Append (const wchar_t *String);
606  CSG_String & Append (char Character, size_t nRepeat = 1);
607  CSG_String & Append (wchar_t Character, size_t nRepeat = 1);
608 
609  void operator += (const CSG_String &String);
610  void operator += (const char *String);
611  void operator += (const wchar_t *String);
612  void operator += (char Character);
613  void operator += (wchar_t Character);
614 
615  CSG_String operator + (const CSG_String &String) const;
616  CSG_String operator + (const char *String) const;
617  CSG_String operator + (const wchar_t *String) const;
618  CSG_String operator + (char Character) const;
619  CSG_String operator + (wchar_t Character) const;
620 
621  int Cmp (const CSG_String &String) const;
622  int CmpNoCase (const CSG_String &String) const;
623 
624  bool is_Same_As (const CSG_String &String, bool bCase = true) const;
625  bool is_Same_As (const char Character, bool bCase = true) const;
626  bool is_Same_As (const wchar_t Character, bool bCase = true) const;
627 
628  CSG_String & Make_Lower (void);
629  CSG_String & Make_Upper (void);
630 
631  void Clear (void);
632 
633  static CSG_String Format (const char *Format, ...);
634  static CSG_String Format (const wchar_t *Format, ...);
635  int Printf (const char *Format, ...);
636  int Printf (const wchar_t *Format, ...);
637 
638  size_t Replace (const CSG_String &Old, const CSG_String &New, bool bReplaceAll = true);
639  size_t Replace_Single_Char (SG_Char Old, SG_Char New, bool bReplaceAll = true);
640 
641  CSG_String & Remove (size_t pos);
642  CSG_String & Remove (size_t pos, size_t len);
643 
644  int Trim (bool fromRight = false);
645  int Trim_Both (void);
646 
647  int Find (char Character, bool fromEnd = false) const;
648  int Find (wchar_t Character, bool fromEnd = false) const;
649  int Find (const CSG_String &String) const;
650  bool Contains (const CSG_String &String) const;
651 
652  CSG_String AfterFirst (char Character) const;
653  CSG_String AfterFirst (wchar_t Character) const;
654  CSG_String AfterLast (char Character) const;
655  CSG_String AfterLast (wchar_t Character) const;
656  CSG_String BeforeFirst (char Character) const;
657  CSG_String BeforeFirst (wchar_t Character) const;
658  CSG_String BeforeLast (char Character) const;
659  CSG_String BeforeLast (wchar_t Character) const;
660 
661  CSG_String Right (size_t count) const;
662  CSG_String Mid (size_t first, size_t count = 0) const;
663  CSG_String Left (size_t count) const;
664 
665  bool is_Number (void) const;
666 
667  int asInt (void) const;
668  bool asInt (int &Value) const;
669  sLong asLongLong (void) const;
670  bool asLongLong (sLong &Value) const;
671 
672  double asDouble (void) const;
673  bool asDouble (double &Value) const;
674 
675  static CSG_String from_UTF8 (const char *String, size_t Length = 0);
676 
677  size_t to_UTF8 (char **pString) const;
678  CSG_Buffer to_UTF8 (void) const;
679  size_t to_MBChar (char **pString, int Encoding) const;
680  CSG_Buffer to_MBChar ( int Encoding) const;
681  bool to_ASCII (char **pString, char Replace = '_') const;
682  CSG_Buffer to_ASCII ( char Replace = '_') const;
683  std::string to_StdString (void) const;
684  std::wstring to_StdWstring (void) const;
685 
686 protected:
687 
688  class wxString *m_pString;
689 
690 };
691 
692 //---------------------------------------------------------
694 SAGA_API_DLL_EXPORT CSG_String operator + (const wchar_t *A, const CSG_String &B);
697 
698 //---------------------------------------------------------
700 {
701 public:
702  CSG_Strings(void);
703  CSG_Strings(const CSG_Strings &Strings);
704  CSG_Strings(int nStrings, const SG_Char **Strings);
705 
706  virtual ~CSG_Strings(void);
707 
708  bool Create (const CSG_Strings &Strings);
709  bool Destroy (void);
710 
711  bool Set_Count (int Count) { return( Set_Count((size_t)Count) ); }
712  bool Set_Count (size_t Count);
713  int Get_Count (void) const { return( (int)m_Strings.Get_Size() ); }
714  size_t Get_Size (void) const { return( m_Strings.Get_Size() ); }
715 
716  bool Add (const CSG_Strings &Strings);
717  bool Add (const CSG_String &String );
718  bool Ins (const CSG_String &String , int Index) { return( Ins(String, (size_t)Index) ); }
719  bool Ins (const CSG_String &String , size_t Index);
720  bool Del (int Index) { return( Del((size_t)Index) ); }
721  bool Del (size_t Index);
722 
723  CSG_String & Get_String (int Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
724  CSG_String & Get_String (size_t Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
725 
726  CSG_String & operator [] (int Index) const { return( Get_String(Index) ); }
727  CSG_String & operator [] (size_t Index) const { return( Get_String(Index) ); }
728 
729  CSG_Strings & operator = (const CSG_Strings &Strings) { Create(Strings); return( *this ); }
730  CSG_Strings & operator += (const CSG_Strings &Strings) { Add (Strings); return( *this ); }
731  CSG_Strings & operator += (const CSG_String &String ) { Add (String ); return( *this ); }
732 
733  bool Sort (bool Ascending = true);
734 
735  void Clear (void) { Destroy(); }
736  bool Assign (const CSG_Strings &Strings) { return( Create(Strings) ); }
737 
738 
739 protected:
740 
742 
743 };
744 
745 //---------------------------------------------------------
746 #define SG_DEFAULT_DELIMITERS " \t\r\n"
747 
748 typedef enum
749 {
756 }
758 
759 //---------------------------------------------------------
761 {
762 public:
763  CSG_String_Tokenizer(void);
765 
766  ~CSG_String_Tokenizer(void);
767 
768 
769  size_t Get_Tokens_Count (void) const;
770  SG_Char Get_Last_Delimiter (void) const;
771  CSG_String Get_Next_Token (void);
772  size_t Get_Position (void) const;
773  CSG_String Get_String (void) const;
774  bool Has_More_Tokens (void) const;
775  void Set_String (const CSG_String &String, const CSG_String &Delimiters = SG_DEFAULT_DELIMITERS, TSG_String_Tokenizer_Mode Mode = SG_TOKEN_DEFAULT);
776 
777 
778 private:
779 
780  class wxStringTokenizer *m_pTokenizer;
781 
782 };
783 
784 //---------------------------------------------------------
786 
787 //---------------------------------------------------------
788 SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric (int Character);
789 
791 
792 SAGA_API_DLL_EXPORT double SG_Degree_To_Double (const CSG_String &String);
794 
795 SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals (double Value, int maxDecimals = 6);
796 
798 
799 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (double Value, int Precision = -99);
800 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (int Value, int Precision = 0);
801 
803 
804 
806 // //
807 // //
808 // //
810 
811 //---------------------------------------------------------
813 {
814 public:
815  CSG_Bytes (void);
816  bool Create (void);
817 
818  CSG_Bytes (const CSG_Bytes &Bytes);
819  bool Create (const CSG_Bytes &Bytes);
820 
821  CSG_Bytes (const BYTE *Bytes, int nBytes);
822  bool Create (const BYTE *Bytes, int nBytes);
823 
824  virtual ~CSG_Bytes(void);
825 
826  bool Destroy (void);
827  bool Clear (void);
828 
829  void Rewind (void) { m_Cursor = 0; }
830  bool is_EOF (void) { return( m_Cursor >= m_nBytes ); }
831 
832  int Get_Count (void) const { return( m_nBytes ); }
833  BYTE * Get_Bytes (void) const { return( m_Bytes ); }
834 
835  CSG_Bytes Get_Bytes (int i) const { if( i < 0 || i >= m_nBytes ) i = 0; return( CSG_Bytes(m_Bytes + i, m_nBytes - i) ); }
836  CSG_Bytes operator + (int i) const { return( Get_Bytes(i) ); }
837 
838  BYTE Get_Byte (int i) const { return( i >= 0 && i < m_nBytes ? m_Bytes[i] : 0 ); }
839  BYTE operator [] (int i) const { return( Get_Byte(i) ); }
840 
841  bool Assign (const CSG_Bytes &Bytes);
842  CSG_Bytes & operator = (const CSG_Bytes &Bytes) { Assign(Bytes); return( *this ); }
843 
844  bool Add (const CSG_Bytes &Bytes);
845  CSG_Bytes & operator += (const CSG_Bytes &Bytes) { Add(Bytes); return( *this ); }
846 
847  bool Add (void *Bytes, int nBytes, bool bSwapBytes);
848 
849  bool Add (BYTE Value) { return( Add(&Value, sizeof(Value), false) ); }
850  CSG_Bytes & operator += (BYTE Value) { Add(Value); return( *this ); }
851  bool Add (char Value) { return( Add(&Value, sizeof(Value), false) ); }
852  CSG_Bytes & operator += (char Value) { Add(Value); return( *this ); }
853  bool Add (short Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
854  CSG_Bytes & operator += (short Value) { Add(Value); return( *this ); }
855  bool Add (WORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
856  CSG_Bytes & operator += (WORD Value) { Add(Value); return( *this ); }
857  bool Add (int Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
858  CSG_Bytes & operator += (int Value) { Add(Value); return( *this ); }
859  bool Add (DWORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
860  CSG_Bytes & operator += (DWORD Value) { Add(Value); return( *this ); }
861  bool Add (float Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
862  CSG_Bytes & operator += (float Value) { Add(Value); return( *this ); }
863  bool Add (double Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
864  CSG_Bytes & operator += (double Value) { Add(Value); return( *this ); }
865 
866  BYTE asByte (int i) const { return( Get_Byte (i) ); }
867  char asChar (int i) const { return( (char)Get_Byte (i) ); }
868  short asShort (int i, bool bSwapBytes = false) const { short v = *((short *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
869  WORD asWord (int i, bool bSwapBytes = false) const { WORD v = *((WORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
870  int asInt (int i, bool bSwapBytes = false) const { int v = *((int *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
871  DWORD asDWord (int i, bool bSwapBytes = false) const { DWORD v = *((DWORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
872  float asFloat (int i, bool bSwapBytes = false) const { float v = *((float *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
873  double asDouble (int i, bool bSwapBytes = false) const { double v = *((double *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
874 
875  BYTE Read_Byte (void) { BYTE v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
876  char Read_Char (void) { char v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
877  short Read_Short (bool bSwapBytes = false) { short v = asShort (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
878  WORD Read_Word (bool bSwapBytes = false) { WORD v = asWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
879  int Read_Int (bool bSwapBytes = false) { int v = asInt (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
880  DWORD Read_DWord (bool bSwapBytes = false) { DWORD v = asDWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
881  float Read_Float (bool bSwapBytes = false) { float v = asFloat (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
882  double Read_Double (bool bSwapBytes = false) { double v = asDouble(m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
883 
884  CSG_String toHexString (void) const;
885  bool fromHexString (const CSG_String &HexString);
886 
887 
888 private:
889 
890  int m_nBytes, m_nBuffer, m_Cursor;
891 
892  BYTE *m_Bytes;
893 
894 
895  bool _Inc_Array (int nBytes);
896 
897 };
898 
899 //---------------------------------------------------------
901 {
902 public:
903  CSG_Bytes_Array(void);
904  virtual ~CSG_Bytes_Array(void);
905 
906  bool Destroy (void);
907 
908  int Get_Count (void) const { return( m_nBytes ); }
909  CSG_Bytes * Get_Bytes (int i) { return( i >= 0 && i < m_nBytes ? m_pBytes[i] : NULL ); }
910  CSG_Bytes & operator [] (int i) { return( *Get_Bytes(i) ); }
911 
912  CSG_Bytes * Add (void);
913 
914 
915 private:
916 
917  int m_nBytes, m_nBuffer;
918 
919  CSG_Bytes **m_pBytes;
920 
921 };
922 
923 
925 // //
926 // //
927 // //
929 
930 //---------------------------------------------------------
932 {
933 public:
934  CSG_Stack(size_t RecordSize)
935  {
936  m_Stack.Create(RecordSize, 1, TSG_Array_Growth::SG_ARRAY_GROWTH_FIX_256);
937  }
938 
939  virtual ~CSG_Stack(void) {}
940 
941  bool Destroy (void) { return( m_Stack.Set_Array(1) ); }
942 
943  size_t Get_RecordSize (void) const { return( m_Stack.Get_Value_Size() ); }
944  size_t Get_Size (void) const { return( m_Stack.Get_uSize() - 1 ); }
945 
946  bool Clear (bool bFreeMemory = false)
947  {
948  return( m_Stack.Set_Array(1, bFreeMemory) );
949  }
950 
951 
952 protected:
953 
954  void * Get_Record (size_t i) const
955  {
956  return( m_Stack.Get_Entry((sLong)(i + 1)) );
957  }
958 
959  void * Get_Record_Push (void)
960  {
961  return( m_Stack.Inc_Array() ? m_Stack.Get_Entry(m_Stack.Get_Size() - 1) : NULL );
962  }
963 
964  void * Get_Record_Pop (void)
965  {
966  if( m_Stack.Get_Size() > 1 )
967  {
968  memcpy(m_Stack.Get_Array(), m_Stack.Get_Entry(m_Stack.Get_Size() - 1), m_Stack.Get_Value_Size());
969 
970  m_Stack.Dec_Array(true);
971 
972  return( m_Stack.Get_Array() );
973  }
974 
975  return( NULL );
976  }
977 
978 
979 private:
980 
981  CSG_Array m_Stack;
982 
983 };
984 
985 
987 // //
988 // Data Types //
989 // //
991 
992 //---------------------------------------------------------
993 typedef enum
994 {
1013 
1014 //---------------------------------------------------------
1015 #define SG_DATATYPES_Undefined 0x0000
1016 #define SG_DATATYPES_Bit 0x0001
1017 #define SG_DATATYPES_Byte 0x0002
1018 #define SG_DATATYPES_Char 0x0004
1019 #define SG_DATATYPES_Word 0x0008
1020 #define SG_DATATYPES_Short 0x0010
1021 #define SG_DATATYPES_DWord 0x0020
1022 #define SG_DATATYPES_Int 0x0040
1023 #define SG_DATATYPES_ULong 0x0080
1024 #define SG_DATATYPES_Long 0x0100
1025 #define SG_DATATYPES_Float 0x0200
1026 #define SG_DATATYPES_Double 0x0400
1027 #define SG_DATATYPES_String 0x0800
1028 #define SG_DATATYPES_Date 0x1000
1029 #define SG_DATATYPES_Color 0x2000
1030 #define SG_DATATYPES_Binary 0x4000
1031 #define SG_DATATYPES_Standard 0xFFFF // all flags set
1032 #define SG_DATATYPES_SInteger (SG_DATATYPES_Char|SG_DATATYPES_Short|SG_DATATYPES_Int |SG_DATATYPES_Long)
1033 #define SG_DATATYPES_UInteger (SG_DATATYPES_Byte|SG_DATATYPES_Word |SG_DATATYPES_DWord|SG_DATATYPES_ULong)
1034 #define SG_DATATYPES_Integer (SG_DATATYPES_SInteger|SG_DATATYPES_UInteger)
1035 #define SG_DATATYPES_Real (SG_DATATYPES_Float|SG_DATATYPES_Double)
1036 #define SG_DATATYPES_Numeric (SG_DATATYPES_Integer|SG_DATATYPES_Real)
1037 #define SG_DATATYPES_Table (SG_DATATYPES_String|SG_DATATYPES_Date|SG_DATATYPES_Color|SG_DATATYPES_Numeric|SG_DATATYPES_Binary)
1038 
1039 //---------------------------------------------------------
1040 const char gSG_Data_Type_Identifier[][32] =
1041 {
1042  "BIT",
1043  "BYTE_UNSIGNED",
1044  "BYTE",
1045  "SHORTINT_UNSIGNED",
1046  "SHORTINT",
1047  "INTEGER_UNSIGNED",
1048  "INTEGER",
1049  "LONGINT_UNSIGNED",
1050  "LONGINT",
1051  "FLOAT",
1052  "DOUBLE",
1053  "STRING",
1054  "DATE",
1055  "COLOR",
1056  "BINARY",
1057  "UNDEFINED"
1058 };
1059 
1060 //---------------------------------------------------------
1062 {
1063  switch( Type )
1064  {
1065  case SG_DATATYPE_Bit : return( 0 );
1066  case SG_DATATYPE_Byte : return( sizeof(unsigned char) );
1067  case SG_DATATYPE_Char : return( sizeof(char) );
1068  case SG_DATATYPE_Word : return( sizeof(unsigned short int) );
1069  case SG_DATATYPE_Short : return( sizeof(short int) );
1070  case SG_DATATYPE_DWord : return( sizeof(unsigned int) );
1071  case SG_DATATYPE_Int : return( sizeof(int) );
1072  case SG_DATATYPE_ULong : return( sizeof(uLong) );
1073  case SG_DATATYPE_Long : return( sizeof(sLong) );
1074  case SG_DATATYPE_Float : return( sizeof(float) );
1075  case SG_DATATYPE_Double: return( sizeof(double) );
1076  case SG_DATATYPE_String: return( 0 );
1077  case SG_DATATYPE_Date : return( 0 );
1078  case SG_DATATYPE_Color : return( sizeof(unsigned int) );
1079  case SG_DATATYPE_Binary: return( 0 );
1080  default : return( 0 );
1081  }
1082 }
1083 
1084 //---------------------------------------------------------
1091 
1092 
1094 // //
1095 // File //
1096 // //
1098 
1099 //---------------------------------------------------------
1100 typedef enum
1101 {
1107 
1108 //---------------------------------------------------------
1110 {
1113  SG_FILE_RW
1114 };
1115 
1116 //---------------------------------------------------------
1118 {
1121  SG_FILE_END
1122 };
1123 
1124 //---------------------------------------------------------
1126 {
1127 public:
1128 
1129  CSG_File(void);
1130  virtual ~CSG_File(void);
1131 
1132  CSG_File (const SG_Char *FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1133  virtual bool Open (const SG_Char *FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1134 
1135  virtual bool Close (void);
1136 
1137  virtual const CSG_String & Get_File_Name (void) const { return( m_FileName ); }
1138  virtual TSG_File_Type Get_File_Type (void) const { return( SG_FILE_TYPE_NORMAL ); }
1139 
1140  class wxStreamBase * Get_Stream (void) const { return( (class wxStreamBase *)m_pStream ); }
1141 
1142  bool Set_Encoding (int Encoding);
1143  int Get_Encoding (void) const { return( m_Encoding ); }
1144 
1145  bool is_Open (void) const { return( m_pStream != NULL ); }
1146  bool is_Reading (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_W ); }
1147  bool is_Writing (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_R ); }
1148  bool is_EOF (void) const;
1149 
1150  sLong Length (void) const;
1151 
1152  bool Seek (sLong Offset, int Origin = SG_FILE_START) const;
1153  bool Seek_Start (void) const;
1154  bool Seek_End (void) const;
1155 
1156  sLong Tell (void) const;
1157 
1158  bool Flush (void);
1159 
1160  int Printf (const char *Format, ...);
1161  int Printf (const wchar_t *Format, ...);
1162 
1163  size_t Read (void *Buffer, size_t Size, size_t Count = 1) const;
1164  size_t Write (void *Buffer, size_t Size, size_t Count = 1) const;
1165  size_t Read ( CSG_String &Buffer, size_t Size) const;
1166  size_t Write (const CSG_String &Buffer) const;
1167 
1168  bool Read_Line (CSG_String &Line) const;
1169 
1170  int Read_Char (void) const;
1171  int Read_Int ( bool bBigEndian = false) const;
1172  bool Write_Int (int Value, bool bBigEndian = false);
1173  double Read_Double ( bool bBigEndian = false) const;
1174  bool Write_Double (double Value, bool bBigEndian = false);
1175 
1176  bool Scan (int &Value) const;
1177  bool Scan (double &Value) const;
1178  bool Scan (CSG_String &Value, SG_Char Separator) const;
1179 
1180  int Scan_Int (void) const;
1181  double Scan_Double (void) const;
1182  CSG_String Scan_String (SG_Char Separator) const;
1183 
1184 
1185 protected:
1186 
1187  int m_Mode, m_Encoding;
1188 
1190 
1191  void *m_pStream, *m_pConvert;
1192 
1193 
1194  void On_Construction (void);
1195 
1196 };
1197 
1198 //---------------------------------------------------------
1200 {
1201 public:
1202 
1203  CSG_Archive(void);
1204  virtual ~CSG_Archive(void);
1205 
1206  CSG_Archive (const SG_Char *FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1207  virtual bool Open (const SG_Char *FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1208  virtual bool Open (const SG_Char *FileName, int Mode, bool bBinary, int Encoding) { return( Open(FileName, Mode, Encoding) ); }
1209 
1210  virtual bool Close (void);
1211 
1212  virtual const CSG_String & Get_Archive (void) const { return( m_Archive ); }
1213  virtual TSG_File_Type Get_File_Type (void) const { return( m_Type ); }
1214  bool is_Zip (void) const { return( m_Type == SG_FILE_TYPE_ZIP ); }
1215  bool is_Tar (void) const { return( m_Type == SG_FILE_TYPE_TAR ); }
1216 
1217  bool Add_Directory (const SG_Char *Name);
1218  bool Add_File (const SG_Char *Name, bool bBinary = true);
1219 
1220  size_t Get_File_Count (void) { return( m_Files.Get_Size() ); }
1221  bool Get_File (const SG_Char *Name);
1222  bool Get_File (size_t Index);
1223  virtual CSG_String Get_File_Name (size_t Index);
1224  bool is_Directory (size_t Index);
1225 
1226  bool Extract_All (const SG_Char *toDirectory = NULL);
1227  bool Extract (const SG_Char *File, const SG_Char *toFile = NULL);
1228 
1229 
1230 protected:
1231 
1233 
1235 
1237 
1238 };
1239 
1240 //---------------------------------------------------------
1241 #define CSG_File_Zip CSG_Archive // for backward compatibility
1242 
1243 //---------------------------------------------------------
1244 SAGA_API_DLL_EXPORT bool SG_Dir_Exists (const CSG_String &Directory);
1245 SAGA_API_DLL_EXPORT bool SG_Dir_Create (const CSG_String &Directory, bool bFullPath = false);
1246 SAGA_API_DLL_EXPORT bool SG_Dir_Delete (const CSG_String &Directory, bool bRecursive = false);
1250 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory);
1251 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory, const CSG_String &Extension);
1252 
1253 SAGA_API_DLL_EXPORT bool SG_File_Exists (const CSG_String &FileName);
1254 SAGA_API_DLL_EXPORT bool SG_File_Delete (const CSG_String &FileName);
1257 SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name (const CSG_String &full_Path, bool bExtension);
1261 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name);
1262 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name, const CSG_String &Extension);
1263 SAGA_API_DLL_EXPORT bool SG_File_Cmp_Path (const CSG_String &Path1, const CSG_String &Path2);
1264 SAGA_API_DLL_EXPORT bool SG_File_Cmp_Extension (const CSG_String &FileName, const CSG_String &Extension);
1266 SAGA_API_DLL_EXPORT bool SG_File_Set_Extension ( CSG_String &FileName, const CSG_String &Extension);
1267 
1268 //---------------------------------------------------------
1269 SAGA_API_DLL_EXPORT bool SG_Get_Environment (const CSG_String &Variable, CSG_String *Value = NULL);
1270 SAGA_API_DLL_EXPORT bool SG_Set_Environment (const CSG_String &Variable, const CSG_String &Value);
1271 
1272 
1274 // //
1275 // Colors //
1276 // //
1278 
1279 //---------------------------------------------------------
1280 #define SG_GET_RGB( r, g, b ) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16)))
1281 #define SG_GET_RGBA(r, g, b, a) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16) | (((DWORD)(BYTE)(a)) << 24)))
1282 
1283 #define SG_GET_R(rgb) ((BYTE) ((rgb) ))
1284 #define SG_GET_G(rgb) ((BYTE) ((rgb) >> 8))
1285 #define SG_GET_B(rgb) ((BYTE) ((rgb) >> 16))
1286 #define SG_GET_A(rgb) ((BYTE) ((rgb) >> 24))
1287 
1288 //---------------------------------------------------------
1289 #define SG_COLOR_BLACK SG_GET_RGB( 0, 0, 0)
1290 #define SG_COLOR_GREY SG_GET_RGB(128, 128, 128)
1291 #define SG_COLOR_GREY_LIGHT SG_GET_RGB(192, 192, 192)
1292 #define SG_COLOR_WHITE SG_GET_RGB(255, 255, 255)
1293 #define SG_COLOR_RED SG_GET_RGB(255, 0, 0)
1294 #define SG_COLOR_RED_DARK SG_GET_RGB(128, 0, 0)
1295 #define SG_COLOR_YELLOW SG_GET_RGB(255, 255, 0)
1296 #define SG_COLOR_YELLOW_DARK SG_GET_RGB(128, 128, 0)
1297 #define SG_COLOR_GREEN SG_GET_RGB( 0, 255, 0)
1298 #define SG_COLOR_GREEN_DARK SG_GET_RGB( 0, 128, 0)
1299 #define SG_COLOR_GREEN_LIGHT SG_GET_RGB( 0, 255, 0)
1300 #define SG_COLOR_BLUE SG_GET_RGB( 0, 0, 255)
1301 #define SG_COLOR_BLUE_DARK SG_GET_RGB( 0, 0, 128)
1302 #define SG_COLOR_BLUE_LIGHT SG_GET_RGB( 0, 255, 255)
1303 #define SG_COLOR_BLUE_GREEN SG_GET_RGB( 0, 128, 128)
1304 #define SG_COLOR_PURPLE SG_GET_RGB(128, 0, 128)
1305 #define SG_COLOR_PINK SG_GET_RGB(255, 0, 255)
1306 #define SG_COLOR_NONE -1
1307 #define SG_COLOR_RANDOM -2
1308 
1309 //---------------------------------------------------------
1311 {
1344 };
1345 
1346 //---------------------------------------------------------
1348 
1350 SAGA_API_DLL_EXPORT long SG_Color_From_RGB (int Red, int Green, int Blue, int Alpha = 0);
1351 SAGA_API_DLL_EXPORT bool SG_Color_From_Text (const CSG_String &Text, long &Color);
1352 SAGA_API_DLL_EXPORT CSG_String SG_Color_To_Text (long Color, bool bHexadecimal = true);
1353 
1354 //---------------------------------------------------------
1356 {
1357 public:
1358  CSG_Colors (void);
1359  bool Create (void);
1360 
1361  CSG_Colors (const CSG_Colors &Colors);
1362  bool Create (const CSG_Colors &Colors);
1363 
1364  CSG_Colors (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1365  bool Create (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1366 
1367  virtual ~CSG_Colors(void);
1368 
1369  void Destroy (void);
1370 
1371  bool Set_Count (int nColors);
1372  int Get_Count (void) const { return( m_nColors ); }
1373 
1374  CSG_Colors & operator = (const CSG_Colors &Colors);
1375  long & operator [] (int Index) { return( m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] ); }
1376 
1377  bool Set_Color (int Index, long Color);
1378  bool Set_Color (int Index, int Red, int Green, int Blue);
1379  bool Set_Red (int Index, int Value);
1380  bool Set_Green (int Index, int Value);
1381  bool Set_Blue (int Index, int Value);
1382  bool Set_Brightness (int Index, int Value);
1383 
1384  long Get_Color (int Index) const { return( m_nColors > 0 ? m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] : 0 ); }
1385  long Get_Red (int Index) const { return( SG_GET_R(Get_Color(Index)) ); }
1386  long Get_Green (int Index) const { return( SG_GET_G(Get_Color(Index)) ); }
1387  long Get_Blue (int Index) const { return( SG_GET_B(Get_Color(Index)) ); }
1388  long Get_Brightness (int Index) const { return( (Get_Red(Index) + Get_Green(Index) + Get_Blue(Index)) / 3 ); }
1389 
1390  long Get_Interpolated (double Index) const
1391  {
1392  if( m_nColors <= 0 ) return( 0 );
1393  if( Index <= 0. ) return( m_Colors[0] );
1394  if( Index >= m_nColors - 1. ) return( m_Colors[m_nColors - 1] );
1395 
1396  int i = (int)Index; Index -= i;
1397  int r = (int)(Get_Red (i) + Index * ((double)Get_Red (i + 1) - Get_Red (i)));
1398  int g = (int)(Get_Green(i) + Index * ((double)Get_Green(i + 1) - Get_Green(i)));
1399  int b = (int)(Get_Blue (i) + Index * ((double)Get_Blue (i + 1) - Get_Blue (i)));
1400 
1401  return( SG_GET_RGB(r, g, b) );
1402  }
1403 
1404  static int Get_Predefined_Count(void);
1405  static CSG_String Get_Predefined_Name (int Identifier);
1406  bool Set_Predefined (int Index, bool bRevert = false, int nColors = 11);
1407  bool Set_Palette (int Index, bool bRevert = false, int nColors = 11) { return( Set_Predefined(Index, bRevert, nColors) ); }
1408  bool Set_Default (int nColors = 11);
1409  bool Set_Ramp (long Color_A, long Color_B);
1410  bool Set_Ramp (long Color_A, long Color_B, int iColor_A, int iColor_B);
1411  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B);
1412  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B, int iColor_A, int iColor_B);
1413 
1414  bool Random (void);
1415  bool Invert (void);
1416  bool Revert (void);
1417  bool Greyscale (void);
1418 
1419  bool Assign (const CSG_Colors &Colors);
1420  bool Assign (CSG_Colors *pSource);
1421 
1422  bool Load (const CSG_String &File_Name);
1423  bool Save (const CSG_String &File_Name, bool bBinary);
1424 
1425  bool Serialize (CSG_File &Stream, bool bSave, bool bBinary);
1426 
1427  bool to_Text ( CSG_String &String);
1428  bool from_Text (const CSG_String &String);
1429 
1430 
1431 private:
1432 
1433  int m_nColors;
1434 
1435  long *m_Colors;
1436 
1437 
1438  void _Set_Brightness (double &a, double &b, double &c, int Pass = 0);
1439 
1440 };
1441 
1442 
1444 // //
1445 // Translator //
1446 // //
1448 
1449 //---------------------------------------------------------
1451 {
1452 public:
1453  CSG_Translator(void);
1454  virtual ~CSG_Translator(void);
1455 
1456  CSG_Translator (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1457  bool Create (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1458 
1459  CSG_Translator (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1460  bool Create (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1461 
1462  void Destroy (void);
1463 
1464  bool is_CaseSensitive (void) const { return( !m_bCmpNoCase ); }
1465 
1466  int Get_Count (void) const { return( m_nTranslations ); }
1467  const SG_Char * Get_Text (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Text : SG_T("") ); }
1468  const SG_Char * Get_Translation (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Translation : SG_T("") ); }
1469 
1470  const SG_Char * Get_Translation (const SG_Char *Text, bool bReturnNullOnNotFound = false) const;
1471  bool Get_Translation (const SG_Char *Text, CSG_String &Translation) const;
1472 
1473 
1474 private:
1475 
1476  class CSG_Translation
1477  {
1478  public:
1479  CSG_Translation(const CSG_String &Text, const CSG_String &Translation)
1480  {
1481  m_Text = Text;
1482  m_Translation = Translation;
1483  }
1484 
1485  CSG_String m_Text, m_Translation;
1486  };
1487 
1488 
1489 private:
1490 
1491  bool m_bCmpNoCase;
1492 
1493  int m_nTranslations;
1494 
1495  CSG_Translation **m_Translations;
1496 
1497 
1498  int _Get_Index (const CSG_String &Text) const;
1499 
1500 };
1501 
1502 //---------------------------------------------------------
1504 
1505 SAGA_API_DLL_EXPORT const SG_Char * SG_Translate (const CSG_String &Text);
1506 
1507 #define _TL(s) SG_Translate(L ## s)
1508 #define _TW(s) SG_Translate(CSG_String(s))
1509 
1510 
1512 // //
1513 // UI Callback //
1514 // //
1516 
1517 //---------------------------------------------------------
1518 typedef enum
1519 {
1532 
1533 //---------------------------------------------------------
1534 typedef enum
1535 {
1543 
1544 //---------------------------------------------------------
1545 typedef enum
1546 {
1551 TSG_UI_Maps;
1552 
1553 //---------------------------------------------------------
1554 typedef enum
1555 {
1567 
1568 //---------------------------------------------------------
1569 typedef enum
1570 {
1577 
1579 
1584 
1586 
1590 
1596 
1601 
1603 
1605 
1607 
1609 
1614 
1615 //---------------------------------------------------------
1617 {
1618 public:
1619  CSG_UI_Parameter(void) : Boolean(false), Number( 0. ), Pointer(NULL) {}
1620  CSG_UI_Parameter(bool Value) : Boolean(Value), Number( 0. ), Pointer(NULL) {}
1621  CSG_UI_Parameter(int Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1622  CSG_UI_Parameter(double Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1623  CSG_UI_Parameter(const CSG_String &Value) : Boolean(false), Number( 0. ), Pointer(NULL), String(Value) {}
1624  CSG_UI_Parameter(void *Value) : Boolean(false), Number( 0. ), Pointer(Value) {}
1625  CSG_UI_Parameter(const CSG_UI_Parameter &Copy);
1626 
1627  bool Boolean;
1628 
1629  double Number;
1630 
1631  void *Pointer;
1632 
1634 
1635 };
1636 
1637 //---------------------------------------------------------
1639 
1640 //---------------------------------------------------------
1643 
1644 //---------------------------------------------------------
1647 
1648 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const char *Text, SG_Char End = '\n', bool bFlush = true);
1649 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1650 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1651 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const char *Text, SG_Char End = '\n', bool bFlush = true);
1652 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1653 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1654 
1655 //---------------------------------------------------------
1659 SAGA_API_DLL_EXPORT bool SG_UI_Process_Get_Okay (bool bBlink = false);
1660 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Okay (bool bOkay = true);
1661 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Busy (bool bOn = true, const CSG_String &Message = "");
1662 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (int Position, int Range);
1664 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (double Position, double Range);
1667 
1668 SAGA_API_DLL_EXPORT bool SG_UI_Stop_Execution (bool bDialog);
1669 
1670 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Message (const CSG_String &Message, const CSG_String &Caption);
1671 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Continue (const CSG_String &Message, const CSG_String &Caption);
1672 SAGA_API_DLL_EXPORT int SG_UI_Dlg_Error (const CSG_String &Message, const CSG_String &Caption);
1673 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Info (const CSG_String &Message, const CSG_String &Caption);
1674 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Parameters (class CSG_Parameters *pParameters, const CSG_String &Caption);
1675 
1676 SAGA_API_DLL_EXPORT int SG_UI_Msg_Lock (bool bOn);
1679 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);
1680 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);
1681 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);
1682 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);
1683 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);
1684 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);
1685 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const char *Message);
1686 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const wchar_t *Message);
1687 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const CSG_String &Message);
1689 
1692 
1693 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Add (class CSG_Data_Object *pDataObject, int Show);
1694 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Del (class CSG_Data_Object *pDataObject, bool bConfirm);
1695 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Update (class CSG_Data_Object *pDataObject, int Show, class CSG_Parameters *pParameters);
1696 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Show (class CSG_Data_Object *pDataObject, int Show);
1697 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_asImage (class CSG_Data_Object *pDataObject, class CSG_Grid *pGrid);
1698 
1699 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Get (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1700 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Set (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1701 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Get (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1702 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Set (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1703 
1704 SAGA_API_DLL_EXPORT bool SG_UI_Set_Map_Extent (double xMin, double yMin, double xMax, double yMax, int Maps = SG_UI_MAP_ACTIVE);
1705 
1706 SAGA_API_DLL_EXPORT bool SG_UI_Diagram_Show (class CSG_Table *pTable, class CSG_Parameters *pParameters);
1707 
1708 SAGA_API_DLL_EXPORT bool SG_UI_ODBC_Update (const CSG_String &Server);
1709 
1710 SAGA_API_DLL_EXPORT int SG_UI_Window_Arrange (int Arrange);
1711 
1717 
1718 
1720 // //
1721 // Environment //
1722 // //
1724 
1725 //---------------------------------------------------------
1726 SAGA_API_DLL_EXPORT bool SG_Initialize_Environment (bool bLibraries = true, bool bProjections = true, const SG_Char *SAGA_Path = NULL, bool bInitializeWX = true);
1728 
1729 
1731 // //
1732 // //
1733 // //
1735 
1736 //---------------------------------------------------------
1737 #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:224
CSG_Array_Int::Get_Array
int * Get_Array(sLong nValues)
Definition: api_core.h:440
SG_DATATYPE_Color
@ SG_DATATYPE_Color
Definition: api_core.h:1008
SG_DATATYPE_Int
@ SG_DATATYPE_Int
Definition: api_core.h:1001
CSG_Bytes_Array::Get_Count
int Get_Count(void) const
Definition: api_core.h:908
SG_TOKEN_DEFAULT
@ SG_TOKEN_DEFAULT
Definition: api_core.h:751
CSG_Array_sLong::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_core.h:498
CSG_Array::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_memory.cpp:310
SG_TOKEN_INVALID
@ SG_TOKEN_INVALID
Definition: api_core.h:750
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:386
SG_Initialize_Environment
SAGA_API_DLL_EXPORT bool SG_Initialize_Environment(bool bLibraries=true, bool bProjections=true, const SG_Char *SAGA_Path=NULL, bool bInitializeWX=true)
Definition: api_core.cpp:452
SG_UI_WINDOW_ARRANGE_MDI_CASCADE
@ SG_UI_WINDOW_ARRANGE_MDI_CASCADE
Definition: api_core.h:1556
SG_File_Get_Path
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Path(const CSG_String &full_Path)
Definition: api_file.cpp:1030
CSG_Translator
Definition: api_core.h:1451
SG_DATATYPE_Undefined
@ SG_DATATYPE_Undefined
Definition: api_core.h:1010
CSG_Bytes::Read_DWord
DWORD Read_DWord(bool bSwapBytes=false)
Definition: api_core.h:880
CSG_Array_sLong::Get
sLong & Get(sLong Index)
Definition: api_core.h:506
SG_GET_RGB
#define SG_GET_RGB(r, g, b)
Definition: api_core.h:1280
SG_COLORS_RED_BLUE_GREEN
@ SG_COLORS_RED_BLUE_GREEN
Definition: api_core.h:1332
SG_UI_Progress_is_Locked
SAGA_API_DLL_EXPORT bool SG_UI_Progress_is_Locked(void)
Definition: api_callback.cpp:191
SG_T
#define SG_T(s)
Definition: api_core.h:537
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:499
CSG_Bytes::asWord
WORD asWord(int i, bool bSwapBytes=false) const
Definition: api_core.h:869
CSG_Array_Int::Get
int & Get(sLong Index)
Definition: api_core.h:450
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:305
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:529
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(bool Value)
Definition: api_core.h:1620
CSG_Bytes::asFloat
float asFloat(int i, bool bSwapBytes=false) const
Definition: api_core.h:872
CALLBACK_DLG_CONTINUE
@ CALLBACK_DLG_CONTINUE
Definition: api_core.h:1581
CALLBACK_PROCESS_SET_BUSY
@ CALLBACK_PROCESS_SET_BUSY
Definition: api_core.h:1573
SG_DATATYPE_String
@ SG_DATATYPE_String
Definition: api_core.h:1006
SG_DATATYPE_DWord
@ SG_DATATYPE_DWord
Definition: api_core.h:1000
SG_Dir_List_Subdirectories
SAGA_API_DLL_EXPORT bool SG_Dir_List_Subdirectories(CSG_Strings &List, const CSG_String &Directory)
Definition: api_file.cpp:926
CSG_Bytes::Read_Int
int Read_Int(bool bSwapBytes=false)
Definition: api_core.h:879
SG_DATATYPE_Binary
@ SG_DATATYPE_Binary
Definition: api_core.h:1009
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:1285
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:153
CALLBACK_DATAOBJECT_COLORS_GET
@ CALLBACK_DATAOBJECT_COLORS_GET
Definition: api_core.h:1597
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:1140
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:493
SG_HTML_Tag_Replacer
SAGA_API_DLL_EXPORT CSG_String SG_HTML_Tag_Replacer(const CSG_String &Text)
Definition: api_string.cpp:1413
CSG_File::m_FileName
CSG_String m_FileName
Definition: api_core.h:1189
CSG_Translator::Get_Text
const SG_Char * Get_Text(int i) const
Definition: api_core.h:1467
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void)
Definition: api_core.h:1619
CSG_Stack::Get_RecordSize
size_t Get_RecordSize(void) const
Definition: api_core.h:943
CSG_Strings::Del
bool Del(int Index)
Definition: api_core.h:720
CSG_Archive::Get_Archive
virtual const CSG_String & Get_Archive(void) const
Definition: api_core.h:1212
SG_COLORS_GREEN_BLUE
@ SG_COLORS_GREEN_BLUE
Definition: api_core.h:1327
ESG_File_Flags_Open
ESG_File_Flags_Open
Definition: api_core.h:1110
CSG_Archive::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1213
CSG_Bytes::asByte
BYTE asByte(int i) const
Definition: api_core.h:866
CALLBACK_STOP_EXECUTION
@ CALLBACK_STOP_EXECUTION
Definition: api_core.h:1578
SG_Degree_To_Double
SAGA_API_DLL_EXPORT double SG_Degree_To_Double(const CSG_String &String)
Definition: api_string.cpp:1250
SG_TOKEN_RET_EMPTY_ALL
@ SG_TOKEN_RET_EMPTY_ALL
Definition: api_core.h:753
SG_Dir_Exists
SAGA_API_DLL_EXPORT bool SG_Dir_Exists(const CSG_String &Directory)
Definition: api_file.cpp:882
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:709
CALLBACK_DIAGRAM_SHOW
@ CALLBACK_DIAGRAM_SHOW
Definition: api_core.h:1604
CSG_Archive::m_Archive
CSG_String m_Archive
Definition: api_core.h:1234
SG_COLORS_RED_GREY_BLUE
@ SG_COLORS_RED_GREY_BLUE
Definition: api_core.h:1328
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:1520
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:1387
SG_UI_MAP_LAST
@ SG_UI_MAP_LAST
Definition: api_core.h:1548
CSG_Stack::Get_Record_Pop
void * Get_Record_Pop(void)
Definition: api_core.h:964
CSG_Stack
Definition: api_core.h:932
SG_UI_MSG_STYLE_SUCCESS
@ SG_UI_MSG_STYLE_SUCCESS
Definition: api_core.h:1523
SG_Get_String
SAGA_API_DLL_EXPORT CSG_String SG_Get_String(double Value, int Precision=-99)
Definition: api_string.cpp:1342
CALLBACK_DLG_INFO
@ CALLBACK_DLG_INFO
Definition: api_core.h:1583
CSG_Bytes::Get_Count
int Get_Count(void) const
Definition: api_core.h:832
TSG_File_Type
TSG_File_Type
Definition: api_core.h:1101
CALLBACK_DATABASE_UPDATE
@ CALLBACK_DATABASE_UPDATE
Definition: api_core.h:1606
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:1091
CSG_Bytes::Read_Word
WORD Read_Word(bool bSwapBytes=false)
Definition: api_core.h:878
SG_COLORS_BLACK_BLUE
@ SG_COLORS_BLACK_BLUE
Definition: api_core.h:1317
SG_UI_DATAOBJECT_SHOW_MAP_LAST
@ SG_UI_DATAOBJECT_SHOW_MAP_LAST
Definition: api_core.h:1540
SG_UI_ODBC_Update
SAGA_API_DLL_EXPORT bool SG_UI_ODBC_Update(const CSG_String &Server)
Definition: api_callback.cpp:761
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:718
SG_UI_Msg_Lock
SAGA_API_DLL_EXPORT int SG_UI_Msg_Lock(bool bOn)
Definition: api_callback.cpp:471
CSG_Array_Int::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:436
SG_UI_DATAOBJECT_SHOW_MAP_NEW
@ SG_UI_DATAOBJECT_SHOW_MAP_NEW
Definition: api_core.h:1539
SG_Color_From_RGB
SAGA_API_DLL_EXPORT long SG_Color_From_RGB(int Red, int Green, int Blue, int Alpha=0)
Definition: api_colors.cpp:79
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_BOTTOM
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_BOTTOM
Definition: api_core.h:1564
SG_DEFAULT_DELIMITERS
#define SG_DEFAULT_DELIMITERS
Definition: api_core.h:746
SG_Data_Type_Get_Size
size_t SG_Data_Type_Get_Size(TSG_Data_Type Type)
Definition: api_core.h:1061
SG_File_Cmp_Path
SAGA_API_DLL_EXPORT bool SG_File_Cmp_Path(const CSG_String &Path1, const CSG_String &Path2)
Definition: api_file.cpp:1083
SG_DATATYPE_Byte
@ SG_DATATYPE_Byte
Definition: api_core.h:996
CSG_Archive
Definition: api_core.h:1200
SG_UI_Stop_Execution
SAGA_API_DLL_EXPORT bool SG_UI_Stop_Execution(bool bDialog)
Definition: api_callback.cpp:348
CSG_File::Get_Encoding
int Get_Encoding(void) const
Definition: api_core.h:1143
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
Definition: api_core.h:1561
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:144
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:368
SG_UI_Get_Window_Main
SAGA_API_DLL_EXPORT void * SG_UI_Get_Window_Main(void)
Definition: api_callback.cpp:796
SG_Dir_Get_Temp
SAGA_API_DLL_EXPORT CSG_String SG_Dir_Get_Temp(void)
Definition: api_file.cpp:918
SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
Definition: api_core.h:1558
SG_COLORS_TOPOGRAPHY
@ SG_COLORS_TOPOGRAPHY
Definition: api_core.h:1336
SG_FILE_ENCODING_UTF32BE
@ SG_FILE_ENCODING_UTF32BE
Definition: api_core.h:556
CALLBACK_PROCESS_SET_OKAY
@ CALLBACK_PROCESS_SET_OKAY
Definition: api_core.h:1572
SG_FILE_TYPE_NORMAL
@ SG_FILE_TYPE_NORMAL
Definition: api_core.h:1102
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(const CSG_String &Value)
Definition: api_core.h:1623
CALLBACK_PROCESS_SET_PROGRESS
@ CALLBACK_PROCESS_SET_PROGRESS
Definition: api_core.h:1574
SG_COLORS_WHITE_GREEN
@ SG_COLORS_WHITE_GREEN
Definition: api_core.h:1319
CSG_Archive::Open
virtual bool Open(const SG_Char *FileName, int Mode, bool bBinary, int Encoding)
Definition: api_core.h:1208
CSG_Bytes::Get_Byte
BYTE Get_Byte(int i) const
Definition: api_core.h:838
SG_COLORS_RAINBOW
@ SG_COLORS_RAINBOW
Definition: api_core.h:1334
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:1315
CSG_Array_Int::Get_Array
int * Get_Array(void) const
Definition: api_core.h:439
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:995
SG_UI_Get_Application_Name
SAGA_API_DLL_EXPORT CSG_String SG_UI_Get_Application_Name(void)
Definition: api_core.cpp:378
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:670
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:1111
CSG_File::m_Mode
int m_Mode
Definition: api_core.h:1187
SG_is_Character_Numeric
SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric(int Character)
Definition: api_string.cpp:1174
CALLBACK_GET_APP_PATH
@ CALLBACK_GET_APP_PATH
Definition: api_core.h:1611
SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
Definition: api_core.h:1559
SG_Uninitialize_Environment
SAGA_API_DLL_EXPORT bool SG_Uninitialize_Environment(void)
Definition: api_core.cpp:528
CSG_Colors::Get_Red
long Get_Red(int Index) const
Definition: api_core.h:1385
TSG_UI_DataObject_Update
TSG_UI_DataObject_Update
Definition: api_core.h:1535
SG_COLORS_ASPECT_2
@ SG_COLORS_ASPECT_2
Definition: api_core.h:1341
CSG_Array_Int::Set
bool Set(sLong Index, int Value)
Definition: api_core.h:448
CSG_Array_sLong::Get_Size
sLong Get_Size(void) const
Definition: api_core.h:492
SG_FILE_END
@ SG_FILE_END
Definition: api_core.h:1121
CSG_Array_Int::Get
int Get(sLong Index) const
Definition: api_core.h:452
CSG_Bytes::asShort
short asShort(int i, bool bSwapBytes=false) const
Definition: api_core.h:868
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:242
CSG_Array_Int::Set_Array
bool Set_Array(sLong nValues, bool bShrink=true)
Definition: api_core.h:442
CSG_UI_Parameter::String
CSG_String String
Definition: api_core.h:1633
CSG_Array_Pointer::Get
void * Get(sLong Index) const
Definition: api_core.h:397
CSG_Array_sLong::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_core.h:500
SG_Dir_Get_Current
SAGA_API_DLL_EXPORT CSG_String SG_Dir_Get_Current(void)
Definition: api_file.cpp:910
SG_UI_MSG_STYLE_02
@ SG_UI_MSG_STYLE_02
Definition: api_core.h:1528
CSG_Stack::Get_Record
void * Get_Record(size_t i) const
Definition: api_core.h:954
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:1126
CSG_Array_Int::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:434
SG_UI_Process_Set_Text
SAGA_API_DLL_EXPORT void SG_UI_Process_Set_Text(const CSG_String &Text)
Definition: api_callback.cpp:323
SG_FILE_ENCODING_UTF7
@ SG_FILE_ENCODING_UTF7
Definition: api_core.h:551
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:448
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(int Value)
Definition: api_core.h:1621
SG_Set_Environment
SAGA_API_DLL_EXPORT bool SG_Set_Environment(const CSG_String &Variable, const CSG_String &Value)
Definition: api_file.cpp:1151
CSG_Bytes::Get_Bytes
CSG_Bytes Get_Bytes(int i) const
Definition: api_core.h:835
SG_GET_R
#define SG_GET_R(rgb)
Definition: api_core.h:1283
CSG_Archive::is_Tar
bool is_Tar(void) const
Definition: api_core.h:1215
SG_COLORS_NEON
@ SG_COLORS_NEON
Definition: api_core.h:1335
SG_Get_Environment
SAGA_API_DLL_EXPORT bool SG_Get_Environment(const CSG_String &Variable, CSG_String *Value=NULL)
Definition: api_file.cpp:1131
SG_UI_MSG_STYLE_FAILURE
@ SG_UI_MSG_STYLE_FAILURE
Definition: api_core.h:1524
SG_UI_DATAOBJECT_UPDATE
@ SG_UI_DATAOBJECT_UPDATE
Definition: api_core.h:1536
SG_FILE_RW
@ SG_FILE_RW
Definition: api_core.h:1113
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:1017
SG_COLORS_YELLOW_BLUE
@ SG_COLORS_YELLOW_BLUE
Definition: api_core.h:1323
SG_Data_Type_is_Numeric
SAGA_API_DLL_EXPORT bool SG_Data_Type_is_Numeric(TSG_Data_Type Type)
Definition: api_core.cpp:198
CSG_Bytes::Rewind
void Rewind(void)
Definition: api_core.h:829
SG_File_Exists
SAGA_API_DLL_EXPORT bool SG_File_Exists(const CSG_String &FileName)
Definition: api_file.cpp:989
SG_COLORS_BLACK_WHITE
@ SG_COLORS_BLACK_WHITE
Definition: api_core.h:1314
SG_COLORS_YELLOW_RED
@ SG_COLORS_YELLOW_RED
Definition: api_core.h:1321
CSG_Strings::Clear
void Clear(void)
Definition: api_core.h:735
CSG_Array_Int::CSG_Array_Int
CSG_Array_Int(const CSG_Array_Int &Array)
Definition: api_core.h:425
SG_DATATYPE_Long
@ SG_DATATYPE_Long
Definition: api_core.h:1003
CSG_Colors::Get_Count
int Get_Count(void) const
Definition: api_core.h:1372
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:861
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:402
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:1638
SG_COLORS_YELLOW_GREEN
@ SG_COLORS_YELLOW_GREEN
Definition: api_core.h:1322
SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
@ SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
Definition: api_core.h:1538
SG_UI_Process_Set_Okay
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Okay(bool bOkay=true)
Definition: api_callback.cpp:229
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:508
SG_UI_MSG_STYLE_SMALL
@ SG_UI_MSG_STYLE_SMALL
Definition: api_core.h:1526
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:1048
CSG_Colors::Set_Palette
bool Set_Palette(int Index, bool bRevert=false, int nColors=11)
Definition: api_core.h:1407
ESG_Colors
ESG_Colors
Definition: api_core.h:1311
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:428
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:484
CALLBACK_SET_MAP_EXTENT
@ CALLBACK_SET_MAP_EXTENT
Definition: api_core.h:1602
CSG_Translator::is_CaseSensitive
bool is_CaseSensitive(void) const
Definition: api_core.h:1464
SG_UI_MAP_ALL
@ SG_UI_MAP_ALL
Definition: api_core.h:1549
SG_FILE_ENCODING_UNDEFINED
@ SG_FILE_ENCODING_UNDEFINED
Definition: api_core.h:557
CSG_Stack::CSG_Stack
CSG_Stack(size_t RecordSize)
Definition: api_core.h:934
SG_Dir_Create
SAGA_API_DLL_EXPORT bool SG_Dir_Create(const CSG_String &Directory, bool bFullPath=false)
Definition: api_file.cpp:888
CSG_Colors::Get_Color
long Get_Color(int Index) const
Definition: api_core.h:1384
CSG_Array_Int::Dec_Array
bool Dec_Array(bool bShrink=true)
Definition: api_core.h:444
CALLBACK_DATAOBJECT_UPDATE
@ CALLBACK_DATAOBJECT_UPDATE
Definition: api_core.h:1593
SG_GET_G
#define SG_GET_G(rgb)
Definition: api_core.h:1284
SG_COLORS_DEFAULT
@ SG_COLORS_DEFAULT
Definition: api_core.h:1312
CSG_Strings::m_Strings
CSG_Array_Pointer m_Strings
Definition: api_core.h:741
CSG_Strings::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:714
CALLBACK_DLG_PARAMETERS
@ CALLBACK_DLG_PARAMETERS
Definition: api_core.h:1585
SG_OMP_Get_Thread_Num
SAGA_API_DLL_EXPORT int SG_OMP_Get_Thread_Num(void)
Definition: api_core.cpp:112
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:1575
SG_TOKEN_RET_EMPTY
@ SG_TOKEN_RET_EMPTY
Definition: api_core.h:752
CSG_Array_Int::Set_Growth
bool Set_Growth(TSG_Array_Growth Growth)
Definition: api_core.h:433
CSG_File::is_Writing
bool is_Writing(void) const
Definition: api_core.h:1147
SG_UI_Get_Application_Path
SAGA_API_DLL_EXPORT CSG_String SG_UI_Get_Application_Path(bool bPathOnly=false)
Definition: api_core.cpp:356
SG_UI_Process_Set_Progress
SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress(int Position, int Range)
Definition: api_callback.cpp:255
SG_UI_MAP_ACTIVE
@ SG_UI_MAP_ACTIVE
Definition: api_core.h:1547
CSG_Bytes::Read_Byte
BYTE Read_Byte(void)
Definition: api_core.h:875
CSG_Array_sLong::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:490
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:683
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:487
SG_COLORS_ASPECT_1
@ SG_COLORS_ASPECT_1
Definition: api_core.h:1340
SG_FILE_TYPE_TAR
@ SG_FILE_TYPE_TAR
Definition: api_core.h:1104
SG_Get_CurrentTimeStr
SAGA_API_DLL_EXPORT CSG_String SG_Get_CurrentTimeStr(bool bWithDate=true)
Definition: api_string.cpp:1208
CALLBACK_DATAOBJECT_ADD
@ CALLBACK_DATAOBJECT_ADD
Definition: api_core.h:1591
sLong
signed long long sLong
Definition: api_core.h:158
CALLBACK_DATAOBJECT_SHOW
@ CALLBACK_DATAOBJECT_SHOW
Definition: api_core.h:1594
CSG_UI_Parameter::Number
double Number
Definition: api_core.h:1629
TSG_UI_Window_Arrange
TSG_UI_Window_Arrange
Definition: api_core.h:1555
SG_COLORS_WHITE_BLUE
@ SG_COLORS_WHITE_BLUE
Definition: api_core.h:1320
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:853
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:1529
SG_UI_Progress_Reset
SAGA_API_DLL_EXPORT int SG_UI_Progress_Reset(void)
Definition: api_callback.cpp:197
CSG_Stack::Clear
bool Clear(bool bFreeMemory=false)
Definition: api_core.h:946
SG_Set_UI_Callback
SAGA_API_DLL_EXPORT bool SG_Set_UI_Callback(TSG_PFNC_UI_Callback Function)
Definition: api_callback.cpp:137
SG_UI_Msg_is_Locked
SAGA_API_DLL_EXPORT bool SG_UI_Msg_is_Locked(void)
Definition: api_callback.cpp:486
CSG_Colors::Get_Interpolated
long Get_Interpolated(double Index) const
Definition: api_core.h:1390
SG_Dir_Delete
SAGA_API_DLL_EXPORT bool SG_Dir_Delete(const CSG_String &Directory, bool bRecursive=false)
Definition: api_file.cpp:899
CSG_File::Open
virtual bool Open(const SG_Char *FileName, int Mode=SG_FILE_R, bool bBinary=true, int Encoding=SG_FILE_ENCODING_ANSI)
Definition: api_file.cpp:112
SG_COLORS_GREEN_RED
@ SG_COLORS_GREEN_RED
Definition: api_core.h:1324
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:555
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:1004
SG_Mem_Get_Int
SAGA_API_DLL_EXPORT int SG_Mem_Get_Int(const char *Buffer, bool bSwapBytes)
Definition: api_memory.cpp:177
SG_Get_Significant_Decimals
SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals(double Value, int maxDecimals=6)
Definition: api_string.cpp:1280
CALLBACK_DATAOBJECT_PARAMS_SET
@ CALLBACK_DATAOBJECT_PARAMS_SET
Definition: api_core.h:1600
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:1564
SG_COLORS_DEFAULT_BRIGHT
@ SG_COLORS_DEFAULT_BRIGHT
Definition: api_core.h:1313
CSG_Translator::Get_Translation
const SG_Char * Get_Translation(int i) const
Definition: api_core.h:1468
CSG_Array_Int
Definition: api_core.h:423
SG_OMP_Set_Max_Num_Threads
SAGA_API_DLL_EXPORT void SG_OMP_Set_Max_Num_Threads(int iCores)
Definition: api_core.cpp:109
CALLBACK_DLG_ERROR
@ CALLBACK_DLG_ERROR
Definition: api_core.h:1582
CSG_UI_Parameter::Pointer
void * Pointer
Definition: api_core.h:1631
CSG_Bytes::Get_Bytes
BYTE * Get_Bytes(void) const
Definition: api_core.h:833
SG_FILE_CURRENT
@ SG_FILE_CURRENT
Definition: api_core.h:1120
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(double Value)
Definition: api_core.h:1622
CSG_Bytes::asDouble
double asDouble(int i, bool bSwapBytes=false) const
Definition: api_core.h:873
SG_UI_Window_Arrange
SAGA_API_DLL_EXPORT int SG_UI_Window_Arrange(int Arrange)
Definition: api_callback.cpp:781
CSG_Stack::Get_Record_Push
void * Get_Record_Push(void)
Definition: api_core.h:959
CSG_Bytes::Add
bool Add(DWORD Value, bool bSwapBytes=false)
Definition: api_core.h:859
SAGA_API_DLL_EXPORT
#define SAGA_API_DLL_EXPORT
Definition: api_core.h:94
SG_UI_Get_API_Path
SAGA_API_DLL_EXPORT CSG_String SG_UI_Get_API_Path(void)
Definition: api_core.cpp:345
CSG_File::Close
virtual bool Close(void)
Definition: api_file.cpp:163
CSG_Bytes::Add
bool Add(BYTE Value)
Definition: api_core.h:849
SG_UI_Set_Application_Name
SAGA_API_DLL_EXPORT CSG_String SG_UI_Set_Application_Name(const CSG_String &Name="")
Definition: api_core.cpp:388
CSG_Array_sLong::Set
bool Set(sLong Index, sLong Value)
Definition: api_core.h:504
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:1116
SG_UI_MSG_STYLE_BOLD
@ SG_UI_MSG_STYLE_BOLD
Definition: api_core.h:1521
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:1589
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:1112
SG_UI_Msg_Flush
SAGA_API_DLL_EXPORT void SG_UI_Msg_Flush(void)
Definition: api_callback.cpp:576
CSG_Bytes::asChar
char asChar(int i) const
Definition: api_core.h:867
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:423
CSG_Strings
Definition: api_core.h:700
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:147
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:1145
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:736
CSG_Bytes_Array
Definition: api_core.h:901
SG_DATATYPE_Date
@ SG_DATATYPE_Date
Definition: api_core.h:1007
SG_DATATYPE_Word
@ SG_DATATYPE_Word
Definition: api_core.h:998
TSG_File_Flags_Encoding
TSG_File_Flags_Encoding
Definition: api_core.h:549
CSG_Strings::Set_Count
bool Set_Count(int Count)
Definition: api_core.h:711
SG_UI_ProgressAndMsg_Lock
SAGA_API_DLL_EXPORT void SG_UI_ProgressAndMsg_Lock(bool bOn)
Definition: api_callback.cpp:589
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:735
CALLBACK_PROCESS_SET_TEXT
@ CALLBACK_PROCESS_SET_TEXT
Definition: api_core.h:1576
CSG_UI_Parameter
Definition: api_core.h:1617
CSG_Bytes
Definition: api_core.h:813
SG_COLORS_BLACK_GREEN
@ SG_COLORS_BLACK_GREEN
Definition: api_core.h:1316
CSG_Archive::Get_File_Count
size_t Get_File_Count(void)
Definition: api_core.h:1220
SG_UI_ProgressAndMsg_Reset
SAGA_API_DLL_EXPORT void SG_UI_ProgressAndMsg_Reset(void)
Definition: api_callback.cpp:596
SG_Dir_List_Files
SAGA_API_DLL_EXPORT bool SG_Dir_List_Files(CSG_Strings &List, const CSG_String &Directory)
Definition: api_file.cpp:950
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:723
SG_COLORS_GREEN_GREY_BLUE
@ SG_COLORS_GREEN_GREY_BLUE
Definition: api_core.h:1330
SG_UI_DataObject_Add
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Add(class CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:610
CSG_Stack::Destroy
bool Destroy(void)
Definition: api_core.h:941
CSG_Array_sLong::Set_Growth
bool Set_Growth(TSG_Array_Growth Growth)
Definition: api_core.h:489
SG_FILE_ENCODING_UTF16LE
@ SG_FILE_ENCODING_UTF16LE
Definition: api_core.h:553
SG_COLORS_TOPOGRAPHY_3
@ SG_COLORS_TOPOGRAPHY_3
Definition: api_core.h:1338
gSG_Data_Type_Identifier
const char gSG_Data_Type_Identifier[][32]
Definition: api_core.h:1040
CSG_Table
Definition: table.h:285
SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
Definition: api_core.h:1560
CALLBACK_MESSAGE_ADD_ERROR
@ CALLBACK_MESSAGE_ADD_ERROR
Definition: api_core.h:1588
CSG_Array_Int::Inc_Array
bool Inc_Array(sLong nValues=1)
Definition: api_core.h:443
SG_UI_MSG_STYLE_ITALIC
@ SG_UI_MSG_STYLE_ITALIC
Definition: api_core.h:1522
SG_Double_To_Degree
SAGA_API_DLL_EXPORT CSG_String SG_Double_To_Degree(double Value)
Definition: api_string.cpp:1230
SG_File_Set_Extension
SAGA_API_DLL_EXPORT bool SG_File_Set_Extension(CSG_String &FileName, const CSG_String &Extension)
Definition: api_file.cpp:1097
SG_COLORS_ASPECT_3
@ SG_COLORS_ASPECT_3
Definition: api_core.h:1342
SG_COLORS_RED_GREY_GREEN
@ SG_COLORS_RED_GREY_GREEN
Definition: api_core.h:1329
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:1038
ESG_File_Flags_Seek
ESG_File_Flags_Seek
Definition: api_core.h:1118
SG_TOKEN_STRTOK
@ SG_TOKEN_STRTOK
Definition: api_core.h:755
CSG_Bytes::asDWord
DWORD asDWord(int i, bool bSwapBytes=false) const
Definition: api_core.h:871
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:1466
SG_Char
#define SG_Char
Definition: api_core.h:536
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:1562
CSG_Colors::Get_Brightness
long Get_Brightness(int Index) const
Definition: api_core.h:1388
CSG_Array
Definition: api_core.h:308
B
#define B
SG_UI_DATAOBJECT_SHOW_MAP
@ SG_UI_DATAOBJECT_SHOW_MAP
Definition: api_core.h:1537
CSG_String
Definition: api_core.h:563
CSG_Array_Pointer
Definition: api_core.h:368
SG_UI_DataObject_Del
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Del(class CSG_Data_Object *pDataObject, bool bConfirm)
Definition: api_callback.cpp:623
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:123
CSG_File::m_pStream
void * m_pStream
Definition: api_core.h:1191
SG_Color_From_Text
SAGA_API_DLL_EXPORT bool SG_Color_From_Text(const CSG_String &Text, long &Color)
Definition: api_colors.cpp:85
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:556
CSG_Colors::Get_Green
long Get_Green(int Index) const
Definition: api_core.h:1386
CSG_Stack::~CSG_Stack
virtual ~CSG_Stack(void)
Definition: api_core.h:939
SG_Data_Type_Get_Flag
SAGA_API_DLL_EXPORT int SG_Data_Type_Get_Flag(TSG_Data_Type Type)
Definition: api_core.cpp:174
CALLBACK_GET_APP_WINDOW
@ CALLBACK_GET_APP_WINDOW
Definition: api_core.h:1610
CSG_Bytes::Add
bool Add(int Value, bool bSwapBytes=false)
Definition: api_core.h:857
CALLBACK_DATAOBJECT_DEL
@ CALLBACK_DATAOBJECT_DEL
Definition: api_core.h:1592
SG_UI_Msg_Reset
SAGA_API_DLL_EXPORT int SG_UI_Msg_Reset(void)
Definition: api_callback.cpp:492
SG_FILE_ENCODING_UTF16BE
@ SG_FILE_ENCODING_UTF16BE
Definition: api_core.h:554
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:851
SG_COLORS_COUNT
@ SG_COLORS_COUNT
Definition: api_core.h:1343
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:1608
SG_Flip_Decimal_Separators
SAGA_API_DLL_EXPORT void SG_Flip_Decimal_Separators(CSG_String &String)
Definition: api_string.cpp:1309
SG_TOKEN_RET_DELIMS
@ SG_TOKEN_RET_DELIMS
Definition: api_core.h:754
TSG_String_Tokenizer_Mode
TSG_String_Tokenizer_Mode
Definition: api_core.h:749
TSG_Array_Growth::SG_ARRAY_GROWTH_0
@ SG_ARRAY_GROWTH_0
CSG_Bytes::Read_Char
char Read_Char(void)
Definition: api_core.h:876
SG_DATATYPE_Short
@ SG_DATATYPE_Short
Definition: api_core.h:999
SG_COLORS_RED_BLUE
@ SG_COLORS_RED_BLUE
Definition: api_core.h:1326
CSG_Strings::Get_String
CSG_String & Get_String(size_t Index) const
Definition: api_core.h:724
CSG_Array_sLong::Get_Array
sLong * Get_Array(void) const
Definition: api_core.h:495
CALLBACK_MESSAGE_ADD
@ CALLBACK_MESSAGE_ADD
Definition: api_core.h:1587
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void *Value)
Definition: api_core.h:1624
CSG_Stack::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:944
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
Definition: api_core.h:1563
TSG_UI_Maps
TSG_UI_Maps
Definition: api_core.h:1546
CSG_Bytes::Read_Float
float Read_Float(bool bSwapBytes=false)
Definition: api_core.h:881
CSG_Array_Pointer::Get_Growth
TSG_Array_Growth Get_Growth(void) const
Definition: api_core.h:379
CSG_Grid
Definition: grid.h:475
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:995
CSG_Bytes::Add
bool Add(WORD Value, bool bSwapBytes=false)
Definition: api_core.h:855
CALLBACK_DATAOBJECT_PARAMS_GET
@ CALLBACK_DATAOBJECT_PARAMS_GET
Definition: api_core.h:1599
CSG_File::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1138
SG_COLORS_WHITE_RED
@ SG_COLORS_WHITE_RED
Definition: api_core.h:1318
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:696
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:481
CSG_Array_Pointer::Get
void *& Get(sLong Index)
Definition: api_core.h:395
SG_COLORS_RED_GREEN_BLUE
@ SG_COLORS_RED_GREEN_BLUE
Definition: api_core.h:1331
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:1571
CSG_String::m_pString
class wxString * m_pString
Definition: api_core.h:688
SG_UI_MSG_STYLE_01
@ SG_UI_MSG_STYLE_01
Definition: api_core.h:1527
CALLBACK_DLG_MESSAGE
@ CALLBACK_DLG_MESSAGE
Definition: api_core.h:1580
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:722
CSG_Bytes::asInt
int asInt(int i, bool bSwapBytes=false) const
Definition: api_core.h:870
SG_File_Get_Name_Temp
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name_Temp(const CSG_String &Prefix)
Definition: api_file.cpp:1001
SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
Definition: api_core.h:1557
SG_UI_Process_Get_Okay
SAGA_API_DLL_EXPORT bool SG_UI_Process_Get_Okay(bool bBlink=false)
Definition: api_callback.cpp:207
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:1058
SG_OMP_Get_Max_Num_Threads
SAGA_API_DLL_EXPORT int SG_OMP_Get_Max_Num_Threads(void)
Definition: api_core.cpp:110
SG_COLORS_PRECIPITATION
@ SG_COLORS_PRECIPITATION
Definition: api_core.h:1339
CSG_Bytes_Array::Get_Bytes
CSG_Bytes * Get_Bytes(int i)
Definition: api_core.h:909
CSG_Bytes::Read_Short
short Read_Short(bool bSwapBytes=false)
Definition: api_core.h:877
CSG_Strings::Get_Count
int Get_Count(void) const
Definition: api_core.h:713
TSG_UI_MSG_STYLE
TSG_UI_MSG_STYLE
Definition: api_core.h:1519
CSG_Bytes::is_EOF
bool is_EOF(void)
Definition: api_core.h:830
CSG_UI_Parameter::Boolean
bool Boolean
Definition: api_core.h:1627
CSG_Parameters
Definition: parameters.h:1690
TSG_Data_Type
TSG_Data_Type
Definition: api_core.h:994
CSG_Array_sLong
Definition: api_core.h:479
CSG_Array_Int::Get_uSize
size_t Get_uSize(void) const
Definition: api_core.h:437
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:1525
SG_FILE_START
@ SG_FILE_START
Definition: api_core.h:1119
SG_FILE_TYPE_ZIP
@ SG_FILE_TYPE_ZIP
Definition: api_core.h:1103
SG_OMP_Get_Max_Num_Procs
SAGA_API_DLL_EXPORT int SG_OMP_Get_Max_Num_Procs(void)
Definition: api_core.cpp:111
SG_COLORS_RED_GREEN
@ SG_COLORS_RED_GREEN
Definition: api_core.h:1325
CSG_String_Tokenizer
Definition: api_core.h:761
SG_COLORS_GREEN_RED_BLUE
@ SG_COLORS_GREEN_RED_BLUE
Definition: api_core.h:1333
TSG_UI_Callback_ID
TSG_UI_Callback_ID
Definition: api_core.h:1570
SG_FILE_ENCODING_ANSI
@ SG_FILE_ENCODING_ANSI
Definition: api_core.h:550
CALLBACK_DATAOBJECT_ASIMAGE
@ CALLBACK_DATAOBJECT_ASIMAGE
Definition: api_core.h:1595
CSG_Bytes::Read_Double
double Read_Double(bool bSwapBytes=false)
Definition: api_core.h:882
CSG_Array_Int::Destroy
void Destroy(void)
Definition: api_core.h:431
SG_FILE_ENCODING_UTF8
@ SG_FILE_ENCODING_UTF8
Definition: api_core.h:552
CSG_Array_sLong::Get_Array
sLong * Get_Array(sLong nValues)
Definition: api_core.h:496
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:997
SG_UI_DataObject_Show
SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Show(class CSG_Data_Object *pDataObject, int Show)
Definition: api_callback.cpp:657
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:502
CSG_Bytes::Add
bool Add(double Value, bool bSwapBytes=false)
Definition: api_core.h:863
CSG_File::is_Reading
bool is_Reading(void) const
Definition: api_core.h:1146
SG_DATATYPE_ULong
@ SG_DATATYPE_ULong
Definition: api_core.h:1002
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_Archive::m_Files
CSG_Array_Pointer m_Files
Definition: api_core.h:1236
CSG_File::Get_File_Name
virtual const CSG_String & Get_File_Name(void) const
Definition: api_core.h:1137
SG_COLORS_TOPOGRAPHY_2
@ SG_COLORS_TOPOGRAPHY_2
Definition: api_core.h:1337
CALLBACK_DATAOBJECT_COLORS_SET
@ CALLBACK_DATAOBJECT_COLORS_SET
Definition: api_core.h:1598
CSG_Archive::is_Zip
bool is_Zip(void) const
Definition: api_core.h:1214
CSG_Colors
Definition: api_core.h:1356
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:636
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:748
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:1005
operator+
SAGA_API_DLL_EXPORT CSG_String operator+(const char *A, const CSG_String &B)
Definition: api_string.cpp:473