SAGA API  v9.6
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 &sOld, const CSG_String &sNew, bool bReplaceAll = true);
639 
640  CSG_String & Remove (size_t pos);
641  CSG_String & Remove (size_t pos, size_t len);
642 
643  int Trim (bool fromRight = false);
644  int Trim_Both (void);
645 
646  int Find (char Character, bool fromEnd = false) const;
647  int Find (wchar_t Character, bool fromEnd = false) const;
648  int Find (const CSG_String &String) const;
649  bool Contains (const CSG_String &String) const;
650 
651  CSG_String AfterFirst (char Character) const;
652  CSG_String AfterFirst (wchar_t Character) const;
653  CSG_String AfterLast (char Character) const;
654  CSG_String AfterLast (wchar_t Character) const;
655  CSG_String BeforeFirst (char Character) const;
656  CSG_String BeforeFirst (wchar_t Character) const;
657  CSG_String BeforeLast (char Character) const;
658  CSG_String BeforeLast (wchar_t Character) const;
659 
660  CSG_String Right (size_t count) const;
661  CSG_String Mid (size_t first, size_t count = 0) const;
662  CSG_String Left (size_t count) const;
663 
664  bool is_Number (void) const;
665 
666  int asInt (void) const;
667  bool asInt (int &Value) const;
668  sLong asLongLong (void) const;
669  bool asLongLong (sLong &Value) const;
670 
671  double asDouble (void) const;
672  bool asDouble (double &Value) const;
673 
674  static CSG_String from_UTF8 (const char *String, size_t Length = 0);
675 
676  size_t to_UTF8 (char **pString) const;
677  CSG_Buffer to_UTF8 (void) const;
678  size_t to_MBChar (char **pString, int Encoding) const;
679  CSG_Buffer to_MBChar ( int Encoding) const;
680  bool to_ASCII (char **pString, char Replace = '_') const;
681  CSG_Buffer to_ASCII ( char Replace = '_') const;
682  std::string to_StdString (void) const;
683  std::wstring to_StdWstring (void) const;
684 
685 protected:
686 
687  class wxString *m_pString;
688 
689 };
690 
691 //---------------------------------------------------------
693 SAGA_API_DLL_EXPORT CSG_String operator + (const wchar_t *A, const CSG_String &B);
696 
697 //---------------------------------------------------------
699 {
700 public:
701  CSG_Strings(void);
702  CSG_Strings(const CSG_Strings &Strings);
703  CSG_Strings(int nStrings, const SG_Char **Strings);
704 
705  virtual ~CSG_Strings(void);
706 
707  bool Create (const CSG_Strings &Strings);
708  bool Destroy (void);
709 
710  bool Set_Count (int Count) { return( Set_Count((size_t)Count) ); }
711  bool Set_Count (size_t Count);
712  int Get_Count (void) const { return( (int)m_Strings.Get_Size() ); }
713  size_t Get_Size (void) const { return( m_Strings.Get_Size() ); }
714 
715  bool Add (const CSG_Strings &Strings);
716  bool Add (const CSG_String &String );
717  bool Ins (const CSG_String &String , int Index) { return( Ins(String, (size_t)Index) ); }
718  bool Ins (const CSG_String &String , size_t Index);
719  bool Del (int Index) { return( Del((size_t)Index) ); }
720  bool Del (size_t Index);
721 
722  CSG_String & Get_String (int Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
723  CSG_String & Get_String (size_t Index) const { return( *((CSG_String *)m_Strings[Index]) ); }
724 
725  CSG_String & operator [] (int Index) const { return( Get_String(Index) ); }
726  CSG_String & operator [] (size_t Index) const { return( Get_String(Index) ); }
727 
728  CSG_Strings & operator = (const CSG_Strings &Strings) { Create(Strings); return( *this ); }
729  CSG_Strings & operator += (const CSG_Strings &Strings) { Add (Strings); return( *this ); }
730  CSG_Strings & operator += (const CSG_String &String ) { Add (String ); return( *this ); }
731 
732  bool Sort (bool Ascending = true);
733 
734  void Clear (void) { Destroy(); }
735  bool Assign (const CSG_Strings &Strings) { return( Create(Strings) ); }
736 
737 
738 protected:
739 
741 
742 };
743 
744 //---------------------------------------------------------
745 #define SG_DEFAULT_DELIMITERS " \t\r\n"
746 
747 typedef enum
748 {
755 }
757 
758 //---------------------------------------------------------
760 {
761 public:
762  CSG_String_Tokenizer(void);
764 
765  ~CSG_String_Tokenizer(void);
766 
767 
768  size_t Get_Tokens_Count (void) const;
769  SG_Char Get_Last_Delimiter (void) const;
770  CSG_String Get_Next_Token (void);
771  size_t Get_Position (void) const;
772  CSG_String Get_String (void) const;
773  bool Has_More_Tokens (void) const;
774  void Set_String (const CSG_String &String, const CSG_String &Delimiters = SG_DEFAULT_DELIMITERS, TSG_String_Tokenizer_Mode Mode = SG_TOKEN_DEFAULT);
775 
776 
777 private:
778 
779  class wxStringTokenizer *m_pTokenizer;
780 
781 };
782 
783 //---------------------------------------------------------
785 
786 //---------------------------------------------------------
787 SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric (int Character);
788 
790 
791 SAGA_API_DLL_EXPORT double SG_Degree_To_Double (const CSG_String &String);
793 
794 SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals (double Value, int maxDecimals = 6);
795 
797 
798 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (double Value, int Precision = -99);
799 SAGA_API_DLL_EXPORT CSG_String SG_Get_String (int Value, int Precision = 0);
800 
802 
803 
805 // //
806 // //
807 // //
809 
810 //---------------------------------------------------------
812 {
813 public:
814  CSG_Bytes (void);
815  bool Create (void);
816 
817  CSG_Bytes (const CSG_Bytes &Bytes);
818  bool Create (const CSG_Bytes &Bytes);
819 
820  CSG_Bytes (const BYTE *Bytes, int nBytes);
821  bool Create (const BYTE *Bytes, int nBytes);
822 
823  virtual ~CSG_Bytes(void);
824 
825  bool Destroy (void);
826  bool Clear (void);
827 
828  void Rewind (void) { m_Cursor = 0; }
829  bool is_EOF (void) { return( m_Cursor >= m_nBytes ); }
830 
831  int Get_Count (void) const { return( m_nBytes ); }
832  BYTE * Get_Bytes (void) const { return( m_Bytes ); }
833 
834  CSG_Bytes Get_Bytes (int i) const { if( i < 0 || i >= m_nBytes ) i = 0; return( CSG_Bytes(m_Bytes + i, m_nBytes - i) ); }
835  CSG_Bytes operator + (int i) const { return( Get_Bytes(i) ); }
836 
837  BYTE Get_Byte (int i) const { return( i >= 0 && i < m_nBytes ? m_Bytes[i] : 0 ); }
838  BYTE operator [] (int i) const { return( Get_Byte(i) ); }
839 
840  bool Assign (const CSG_Bytes &Bytes);
841  CSG_Bytes & operator = (const CSG_Bytes &Bytes) { Assign(Bytes); return( *this ); }
842 
843  bool Add (const CSG_Bytes &Bytes);
844  CSG_Bytes & operator += (const CSG_Bytes &Bytes) { Add(Bytes); return( *this ); }
845 
846  bool Add (void *Bytes, int nBytes, bool bSwapBytes);
847 
848  bool Add (BYTE Value) { return( Add(&Value, sizeof(Value), false) ); }
849  CSG_Bytes & operator += (BYTE Value) { Add(Value); return( *this ); }
850  bool Add (char Value) { return( Add(&Value, sizeof(Value), false) ); }
851  CSG_Bytes & operator += (char Value) { Add(Value); return( *this ); }
852  bool Add (short Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
853  CSG_Bytes & operator += (short Value) { Add(Value); return( *this ); }
854  bool Add (WORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
855  CSG_Bytes & operator += (WORD Value) { Add(Value); return( *this ); }
856  bool Add (int Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
857  CSG_Bytes & operator += (int Value) { Add(Value); return( *this ); }
858  bool Add (DWORD Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
859  CSG_Bytes & operator += (DWORD Value) { Add(Value); return( *this ); }
860  bool Add (float Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
861  CSG_Bytes & operator += (float Value) { Add(Value); return( *this ); }
862  bool Add (double Value, bool bSwapBytes = false) { return( Add(&Value, sizeof(Value), bSwapBytes) ); }
863  CSG_Bytes & operator += (double Value) { Add(Value); return( *this ); }
864 
865  BYTE asByte (int i) const { return( Get_Byte (i) ); }
866  char asChar (int i) const { return( (char)Get_Byte (i) ); }
867  short asShort (int i, bool bSwapBytes = false) const { short v = *((short *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
868  WORD asWord (int i, bool bSwapBytes = false) const { WORD v = *((WORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
869  int asInt (int i, bool bSwapBytes = false) const { int v = *((int *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
870  DWORD asDWord (int i, bool bSwapBytes = false) const { DWORD v = *((DWORD *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
871  float asFloat (int i, bool bSwapBytes = false) const { float v = *((float *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
872  double asDouble (int i, bool bSwapBytes = false) const { double v = *((double *)(m_Bytes + i)); if( bSwapBytes ) SG_Swap_Bytes(&v, sizeof(v)); return( v ); }
873 
874  BYTE Read_Byte (void) { BYTE v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
875  char Read_Char (void) { char v = asByte (m_Cursor); m_Cursor += sizeof(v); return( v ); }
876  short Read_Short (bool bSwapBytes = false) { short v = asShort (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
877  WORD Read_Word (bool bSwapBytes = false) { WORD v = asWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
878  int Read_Int (bool bSwapBytes = false) { int v = asInt (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
879  DWORD Read_DWord (bool bSwapBytes = false) { DWORD v = asDWord (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
880  float Read_Float (bool bSwapBytes = false) { float v = asFloat (m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
881  double Read_Double (bool bSwapBytes = false) { double v = asDouble(m_Cursor, bSwapBytes); m_Cursor += sizeof(v); return( v ); }
882 
883  CSG_String toHexString (void) const;
884  bool fromHexString (const CSG_String &HexString);
885 
886 
887 private:
888 
889  int m_nBytes, m_nBuffer, m_Cursor;
890 
891  BYTE *m_Bytes;
892 
893 
894  bool _Inc_Array (int nBytes);
895 
896 };
897 
898 //---------------------------------------------------------
900 {
901 public:
902  CSG_Bytes_Array(void);
903  virtual ~CSG_Bytes_Array(void);
904 
905  bool Destroy (void);
906 
907  int Get_Count (void) const { return( m_nBytes ); }
908  CSG_Bytes * Get_Bytes (int i) { return( i >= 0 && i < m_nBytes ? m_pBytes[i] : NULL ); }
909  CSG_Bytes & operator [] (int i) { return( *Get_Bytes(i) ); }
910 
911  CSG_Bytes * Add (void);
912 
913 
914 private:
915 
916  int m_nBytes, m_nBuffer;
917 
918  CSG_Bytes **m_pBytes;
919 
920 };
921 
922 
924 // //
925 // //
926 // //
928 
929 //---------------------------------------------------------
931 {
932 public:
933  CSG_Stack(size_t RecordSize)
934  {
935  m_Stack.Create(RecordSize, 1, TSG_Array_Growth::SG_ARRAY_GROWTH_FIX_256);
936  }
937 
938  virtual ~CSG_Stack(void) {}
939 
940  bool Destroy (void) { return( m_Stack.Set_Array(1) ); }
941 
942  size_t Get_RecordSize (void) const { return( m_Stack.Get_Value_Size() ); }
943  size_t Get_Size (void) const { return( m_Stack.Get_uSize() - 1 ); }
944 
945  bool Clear (bool bFreeMemory = false)
946  {
947  return( m_Stack.Set_Array(1, bFreeMemory) );
948  }
949 
950 
951 protected:
952 
953  void * Get_Record (size_t i) const
954  {
955  return( m_Stack.Get_Entry((sLong)(i + 1)) );
956  }
957 
958  void * Get_Record_Push (void)
959  {
960  return( m_Stack.Inc_Array() ? m_Stack.Get_Entry(m_Stack.Get_Size() - 1) : NULL );
961  }
962 
963  void * Get_Record_Pop (void)
964  {
965  if( m_Stack.Get_Size() > 1 )
966  {
967  memcpy(m_Stack.Get_Array(), m_Stack.Get_Entry(m_Stack.Get_Size() - 1), m_Stack.Get_Value_Size());
968 
969  m_Stack.Dec_Array(true);
970 
971  return( m_Stack.Get_Array() );
972  }
973 
974  return( NULL );
975  }
976 
977 
978 private:
979 
980  CSG_Array m_Stack;
981 
982 };
983 
984 
986 // //
987 // Data Types //
988 // //
990 
991 //---------------------------------------------------------
992 typedef enum
993 {
1012 
1013 //---------------------------------------------------------
1014 #define SG_DATATYPES_Undefined 0x0000
1015 #define SG_DATATYPES_Bit 0x0001
1016 #define SG_DATATYPES_Byte 0x0002
1017 #define SG_DATATYPES_Char 0x0004
1018 #define SG_DATATYPES_Word 0x0008
1019 #define SG_DATATYPES_Short 0x0010
1020 #define SG_DATATYPES_DWord 0x0020
1021 #define SG_DATATYPES_Int 0x0040
1022 #define SG_DATATYPES_ULong 0x0080
1023 #define SG_DATATYPES_Long 0x0100
1024 #define SG_DATATYPES_Float 0x0200
1025 #define SG_DATATYPES_Double 0x0400
1026 #define SG_DATATYPES_String 0x0800
1027 #define SG_DATATYPES_Date 0x1000
1028 #define SG_DATATYPES_Color 0x2000
1029 #define SG_DATATYPES_Binary 0x4000
1030 #define SG_DATATYPES_Standard 0xFFFF // all flags set
1031 #define SG_DATATYPES_SInteger (SG_DATATYPES_Char|SG_DATATYPES_Short|SG_DATATYPES_Int |SG_DATATYPES_Long)
1032 #define SG_DATATYPES_UInteger (SG_DATATYPES_Byte|SG_DATATYPES_Word |SG_DATATYPES_DWord|SG_DATATYPES_ULong)
1033 #define SG_DATATYPES_Integer (SG_DATATYPES_SInteger|SG_DATATYPES_UInteger)
1034 #define SG_DATATYPES_Real (SG_DATATYPES_Float|SG_DATATYPES_Double)
1035 #define SG_DATATYPES_Numeric (SG_DATATYPES_Integer|SG_DATATYPES_Real)
1036 #define SG_DATATYPES_Table (SG_DATATYPES_String|SG_DATATYPES_Date|SG_DATATYPES_Color|SG_DATATYPES_Numeric|SG_DATATYPES_Binary)
1037 
1038 //---------------------------------------------------------
1039 const char gSG_Data_Type_Identifier[][32] =
1040 {
1041  "BIT",
1042  "BYTE_UNSIGNED",
1043  "BYTE",
1044  "SHORTINT_UNSIGNED",
1045  "SHORTINT",
1046  "INTEGER_UNSIGNED",
1047  "INTEGER",
1048  "LONGINT_UNSIGNED",
1049  "LONGINT",
1050  "FLOAT",
1051  "DOUBLE",
1052  "STRING",
1053  "DATE",
1054  "COLOR",
1055  "BINARY",
1056  "UNDEFINED"
1057 };
1058 
1059 //---------------------------------------------------------
1061 {
1062  switch( Type )
1063  {
1064  case SG_DATATYPE_Bit : return( 0 );
1065  case SG_DATATYPE_Byte : return( sizeof(unsigned char) );
1066  case SG_DATATYPE_Char : return( sizeof(char) );
1067  case SG_DATATYPE_Word : return( sizeof(unsigned short int) );
1068  case SG_DATATYPE_Short : return( sizeof(short int) );
1069  case SG_DATATYPE_DWord : return( sizeof(unsigned int) );
1070  case SG_DATATYPE_Int : return( sizeof(int) );
1071  case SG_DATATYPE_ULong : return( sizeof(uLong) );
1072  case SG_DATATYPE_Long : return( sizeof(sLong) );
1073  case SG_DATATYPE_Float : return( sizeof(float) );
1074  case SG_DATATYPE_Double: return( sizeof(double) );
1075  case SG_DATATYPE_String: return( 0 );
1076  case SG_DATATYPE_Date : return( 0 );
1077  case SG_DATATYPE_Color : return( sizeof(unsigned int) );
1078  case SG_DATATYPE_Binary: return( 0 );
1079  default : return( 0 );
1080  }
1081 }
1082 
1083 //---------------------------------------------------------
1090 
1091 
1093 // //
1094 // File //
1095 // //
1097 
1098 //---------------------------------------------------------
1099 typedef enum
1100 {
1105 
1106 //---------------------------------------------------------
1108 {
1111  SG_FILE_RW
1112 };
1113 
1114 //---------------------------------------------------------
1116 {
1119  SG_FILE_END
1120 };
1121 
1122 //---------------------------------------------------------
1124 {
1125 public:
1126 
1127  CSG_File(void);
1128  virtual ~CSG_File(void);
1129 
1130  CSG_File (const CSG_String &FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1131  virtual bool Open (const CSG_String &FileName, int Mode = SG_FILE_R, bool bBinary = true, int Encoding = SG_FILE_ENCODING_ANSI);
1132 
1133  virtual bool Close (void);
1134 
1135  virtual const CSG_String & Get_File_Name (void) const { return( m_FileName ); }
1136  virtual TSG_File_Type Get_File_Type (void) const { return( SG_FILE_TYPE_NORMAL ); }
1137 
1138  class wxStreamBase * Get_Stream (void) const { return( (class wxStreamBase *)m_pStream ); }
1139 
1140  bool Set_Encoding (int Encoding);
1141  int Get_Encoding (void) const { return( m_Encoding ); }
1142 
1143  bool is_Open (void) const { return( m_pStream != NULL ); }
1144  bool is_Reading (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_W ); }
1145  bool is_Writing (void) const { return( m_pStream != NULL && m_Mode != SG_FILE_R ); }
1146  bool is_EOF (void) const;
1147 
1148  sLong Length (void) const;
1149 
1150  bool Seek (sLong Offset, int Origin = SG_FILE_START) const;
1151  bool Seek_Start (void) const;
1152  bool Seek_End (void) const;
1153 
1154  sLong Tell (void) const;
1155 
1156  int Printf (const char *Format, ...);
1157  int Printf (const wchar_t *Format, ...);
1158 
1159  size_t Read (void *Buffer, size_t Size, size_t Count = 1) const;
1160  size_t Write (void *Buffer, size_t Size, size_t Count = 1) const;
1161  size_t Read ( CSG_String &Buffer, size_t Size) const;
1162  size_t Write (const CSG_String &Buffer) const;
1163 
1164  bool Read_Line (CSG_String &sLine) const;
1165 
1166  int Read_Char (void) const;
1167  int Read_Int ( bool bBigEndian = false) const;
1168  bool Write_Int (int Value, bool bBigEndian = false);
1169  double Read_Double ( bool bBigEndian = false) const;
1170  bool Write_Double (double Value, bool bBigEndian = false);
1171 
1172  bool Scan (int &Value) const;
1173  bool Scan (double &Value) const;
1174  bool Scan (CSG_String &Value, SG_Char Separator) const;
1175 
1176  int Scan_Int (void) const;
1177  double Scan_Double (void) const;
1178  CSG_String Scan_String (SG_Char Separator) const;
1179 
1180 
1181 protected:
1182 
1183  int m_Mode, m_Encoding;
1184 
1186 
1187  void *m_pStream, *m_pConvert;
1188 
1189 
1190  void On_Construction (void);
1191 
1192 };
1193 
1194 //---------------------------------------------------------
1196 {
1197 public:
1198 
1199  CSG_File_Zip(void);
1200  virtual ~CSG_File_Zip(void);
1201 
1202  CSG_File_Zip (const CSG_String &FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1203  virtual bool Open (const CSG_String &FileName, int Mode = SG_FILE_R, int Encoding = SG_FILE_ENCODING_ANSI);
1204 
1205  virtual bool Close (void);
1206 
1207  virtual TSG_File_Type Get_File_Type (void) const { return( SG_FILE_TYPE_ZIP ); }
1208 
1209  bool Add_Directory (const CSG_String &Name);
1210  bool Add_File (const CSG_String &Name, bool bBinary = true);
1211 
1212  size_t Get_File_Count (void) { return( m_Files.Get_Size() ); }
1213  bool Get_File (const CSG_String &Name);
1214  bool Get_File (size_t Index);
1215  virtual CSG_String Get_File_Name (size_t Index);
1216  bool is_Directory (size_t Index);
1217 
1218 
1219 protected:
1220 
1222 
1223 };
1224 
1225 //---------------------------------------------------------
1226 SAGA_API_DLL_EXPORT bool SG_Dir_Exists (const CSG_String &Directory);
1227 SAGA_API_DLL_EXPORT bool SG_Dir_Create (const CSG_String &Directory, bool bFullPath = false);
1228 SAGA_API_DLL_EXPORT bool SG_Dir_Delete (const CSG_String &Directory, bool bRecursive = false);
1232 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory);
1233 SAGA_API_DLL_EXPORT bool SG_Dir_List_Files (CSG_Strings &List, const CSG_String &Directory, const CSG_String &Extension);
1234 
1235 SAGA_API_DLL_EXPORT bool SG_File_Exists (const CSG_String &FileName);
1236 SAGA_API_DLL_EXPORT bool SG_File_Delete (const CSG_String &FileName);
1239 SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name (const CSG_String &full_Path, bool bExtension);
1243 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name);
1244 SAGA_API_DLL_EXPORT CSG_String SG_File_Make_Path (const CSG_String &Directory, const CSG_String &Name, const CSG_String &Extension);
1245 SAGA_API_DLL_EXPORT bool SG_File_Cmp_Path (const CSG_String &Path1, const CSG_String &Path2);
1246 SAGA_API_DLL_EXPORT bool SG_File_Cmp_Extension (const CSG_String &FileName, const CSG_String &Extension);
1248 SAGA_API_DLL_EXPORT bool SG_File_Set_Extension ( CSG_String &FileName, const CSG_String &Extension);
1249 
1250 //---------------------------------------------------------
1251 SAGA_API_DLL_EXPORT bool SG_Get_Environment (const CSG_String &Variable, CSG_String *Value = NULL);
1252 SAGA_API_DLL_EXPORT bool SG_Set_Environment (const CSG_String &Variable, const CSG_String &Value);
1253 
1254 
1256 // //
1257 // Colors //
1258 // //
1260 
1261 //---------------------------------------------------------
1262 #define SG_GET_RGB( r, g, b ) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16)))
1263 #define SG_GET_RGBA(r, g, b, a) ((DWORD) (((BYTE)(r) | ((WORD)(g) << 8)) | (((DWORD)(BYTE)(b)) << 16) | (((DWORD)(BYTE)(a)) << 24)))
1264 
1265 #define SG_GET_R(rgb) ((BYTE) ((rgb) ))
1266 #define SG_GET_G(rgb) ((BYTE) ((rgb) >> 8))
1267 #define SG_GET_B(rgb) ((BYTE) ((rgb) >> 16))
1268 #define SG_GET_A(rgb) ((BYTE) ((rgb) >> 24))
1269 
1270 //---------------------------------------------------------
1271 #define SG_COLOR_BLACK SG_GET_RGB( 0, 0, 0)
1272 #define SG_COLOR_GREY SG_GET_RGB(128, 128, 128)
1273 #define SG_COLOR_GREY_LIGHT SG_GET_RGB(192, 192, 192)
1274 #define SG_COLOR_WHITE SG_GET_RGB(255, 255, 255)
1275 #define SG_COLOR_RED SG_GET_RGB(255, 0, 0)
1276 #define SG_COLOR_RED_DARK SG_GET_RGB(128, 0, 0)
1277 #define SG_COLOR_YELLOW SG_GET_RGB(255, 255, 0)
1278 #define SG_COLOR_YELLOW_DARK SG_GET_RGB(128, 128, 0)
1279 #define SG_COLOR_GREEN SG_GET_RGB( 0, 255, 0)
1280 #define SG_COLOR_GREEN_DARK SG_GET_RGB( 0, 128, 0)
1281 #define SG_COLOR_GREEN_LIGHT SG_GET_RGB( 0, 255, 0)
1282 #define SG_COLOR_BLUE SG_GET_RGB( 0, 0, 255)
1283 #define SG_COLOR_BLUE_DARK SG_GET_RGB( 0, 0, 128)
1284 #define SG_COLOR_BLUE_LIGHT SG_GET_RGB( 0, 255, 255)
1285 #define SG_COLOR_BLUE_GREEN SG_GET_RGB( 0, 128, 128)
1286 #define SG_COLOR_PURPLE SG_GET_RGB(128, 0, 128)
1287 #define SG_COLOR_PINK SG_GET_RGB(255, 0, 255)
1288 #define SG_COLOR_NONE -1
1289 #define SG_COLOR_RANDOM -2
1290 
1291 //---------------------------------------------------------
1293 {
1326 };
1327 
1328 //---------------------------------------------------------
1330 
1332 SAGA_API_DLL_EXPORT long SG_Color_From_RGB (int Red, int Green, int Blue, int Alpha = 0);
1333 SAGA_API_DLL_EXPORT bool SG_Color_From_Text (const CSG_String &Text, long &Color);
1334 SAGA_API_DLL_EXPORT CSG_String SG_Color_To_Text (long Color, bool bHexadecimal = true);
1335 
1336 //---------------------------------------------------------
1338 {
1339 public:
1340  CSG_Colors (void);
1341  bool Create (void);
1342 
1343  CSG_Colors (const CSG_Colors &Colors);
1344  bool Create (const CSG_Colors &Colors);
1345 
1346  CSG_Colors (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1347  bool Create (int nColors, int Palette = SG_COLORS_DEFAULT, bool bRevert = false);
1348 
1349  virtual ~CSG_Colors(void);
1350 
1351  void Destroy (void);
1352 
1353  bool Set_Count (int nColors);
1354  int Get_Count (void) const { return( m_nColors ); }
1355 
1356  CSG_Colors & operator = (const CSG_Colors &Colors);
1357  long & operator [] (int Index) { return( m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] ); }
1358 
1359  bool Set_Color (int Index, long Color);
1360  bool Set_Color (int Index, int Red, int Green, int Blue);
1361  bool Set_Red (int Index, int Value);
1362  bool Set_Green (int Index, int Value);
1363  bool Set_Blue (int Index, int Value);
1364  bool Set_Brightness (int Index, int Value);
1365 
1366  long Get_Color (int Index) const { return( m_nColors > 0 ? m_Colors[Index < 0 ? 0 : Index >= m_nColors ? m_nColors - 1 : Index] : 0 ); }
1367  long Get_Red (int Index) const { return( SG_GET_R(Get_Color(Index)) ); }
1368  long Get_Green (int Index) const { return( SG_GET_G(Get_Color(Index)) ); }
1369  long Get_Blue (int Index) const { return( SG_GET_B(Get_Color(Index)) ); }
1370  long Get_Brightness (int Index) const { return( (Get_Red(Index) + Get_Green(Index) + Get_Blue(Index)) / 3 ); }
1371 
1372  long Get_Interpolated (double Index) const
1373  {
1374  if( m_nColors <= 0 ) return( 0 );
1375  if( Index <= 0. ) return( m_Colors[0] );
1376  if( Index >= m_nColors - 1. ) return( m_Colors[m_nColors - 1] );
1377 
1378  int i = (int)Index; Index -= i;
1379  int r = (int)(Get_Red (i) + Index * ((double)Get_Red (i + 1) - Get_Red (i)));
1380  int g = (int)(Get_Green(i) + Index * ((double)Get_Green(i + 1) - Get_Green(i)));
1381  int b = (int)(Get_Blue (i) + Index * ((double)Get_Blue (i + 1) - Get_Blue (i)));
1382 
1383  return( SG_GET_RGB(r, g, b) );
1384  }
1385 
1386  static int Get_Predefined_Count(void);
1387  static CSG_String Get_Predefined_Name (int Identifier);
1388  bool Set_Predefined (int Index, bool bRevert = false, int nColors = 11);
1389  bool Set_Palette (int Index, bool bRevert = false, int nColors = 11) { return( Set_Predefined(Index, bRevert, nColors) ); }
1390  bool Set_Default (int nColors = 11);
1391  bool Set_Ramp (long Color_A, long Color_B);
1392  bool Set_Ramp (long Color_A, long Color_B, int iColor_A, int iColor_B);
1393  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B);
1394  bool Set_Ramp_Brighness (int Brightness_A, int Brightness_B, int iColor_A, int iColor_B);
1395 
1396  bool Random (void);
1397  bool Invert (void);
1398  bool Revert (void);
1399  bool Greyscale (void);
1400 
1401  bool Assign (const CSG_Colors &Colors);
1402  bool Assign (CSG_Colors *pSource);
1403 
1404  bool Load (const CSG_String &File_Name);
1405  bool Save (const CSG_String &File_Name, bool bBinary);
1406 
1407  bool Serialize (CSG_File &Stream, bool bSave, bool bBinary);
1408 
1409  bool to_Text ( CSG_String &String);
1410  bool from_Text (const CSG_String &String);
1411 
1412 
1413 private:
1414 
1415  int m_nColors;
1416 
1417  long *m_Colors;
1418 
1419 
1420  void _Set_Brightness (double &a, double &b, double &c, int Pass = 0);
1421 
1422 };
1423 
1424 
1426 // //
1427 // Translator //
1428 // //
1430 
1431 //---------------------------------------------------------
1433 {
1434 public:
1435  CSG_Translator(void);
1436  virtual ~CSG_Translator(void);
1437 
1438  CSG_Translator (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1439  bool Create (const CSG_String &File_Name, bool bSetExtension = true, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1440 
1441  CSG_Translator (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1442  bool Create (class CSG_Table *pTranslations, int iText = 0, int iTranslation = 1, bool bCmpNoCase = false);
1443 
1444  void Destroy (void);
1445 
1446  bool is_CaseSensitive (void) const { return( !m_bCmpNoCase ); }
1447 
1448  int Get_Count (void) const { return( m_nTranslations ); }
1449  const SG_Char * Get_Text (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Text : SG_T("") ); }
1450  const SG_Char * Get_Translation (int i) const { return( i >= 0 && i < m_nTranslations ? m_Translations[i]->m_Translation : SG_T("") ); }
1451 
1452  const SG_Char * Get_Translation (const SG_Char *Text, bool bReturnNullOnNotFound = false) const;
1453  bool Get_Translation (const SG_Char *Text, CSG_String &Translation) const;
1454 
1455 
1456 private:
1457 
1458  class CSG_Translation
1459  {
1460  public:
1461  CSG_Translation(const CSG_String &Text, const CSG_String &Translation)
1462  {
1463  m_Text = Text;
1464  m_Translation = Translation;
1465  }
1466 
1467  CSG_String m_Text, m_Translation;
1468  };
1469 
1470 
1471 private:
1472 
1473  bool m_bCmpNoCase;
1474 
1475  int m_nTranslations;
1476 
1477  CSG_Translation **m_Translations;
1478 
1479 
1480  int _Get_Index (const CSG_String &Text) const;
1481 
1482 };
1483 
1484 //---------------------------------------------------------
1486 
1487 SAGA_API_DLL_EXPORT const SG_Char * SG_Translate (const CSG_String &Text);
1488 
1489 #define _TL(s) SG_Translate(L ## s)
1490 #define _TW(s) SG_Translate(CSG_String(s))
1491 
1492 
1494 // //
1495 // UI Callback //
1496 // //
1498 
1499 //---------------------------------------------------------
1500 typedef enum
1501 {
1514 
1515 //---------------------------------------------------------
1516 typedef enum
1517 {
1525 
1526 //---------------------------------------------------------
1527 typedef enum
1528 {
1533 TSG_UI_Maps;
1534 
1535 //---------------------------------------------------------
1536 typedef enum
1537 {
1549 
1550 //---------------------------------------------------------
1551 typedef enum
1552 {
1559 
1561 
1566 
1568 
1572 
1578 
1583 
1585 
1587 
1589 
1591 
1596 
1597 //---------------------------------------------------------
1599 {
1600 public:
1601  CSG_UI_Parameter(void) : Boolean(false), Number( 0. ), Pointer(NULL) {}
1602  CSG_UI_Parameter(bool Value) : Boolean(Value), Number( 0. ), Pointer(NULL) {}
1603  CSG_UI_Parameter(int Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1604  CSG_UI_Parameter(double Value) : Boolean(false), Number(Value), Pointer(NULL) {}
1605  CSG_UI_Parameter(const CSG_String &Value) : Boolean(false), Number( 0. ), Pointer(NULL), String(Value) {}
1606  CSG_UI_Parameter(void *Value) : Boolean(false), Number( 0. ), Pointer(Value) {}
1607  CSG_UI_Parameter(const CSG_UI_Parameter &Copy);
1608 
1609  bool Boolean;
1610 
1611  double Number;
1612 
1613  void *Pointer;
1614 
1616 
1617 };
1618 
1619 //---------------------------------------------------------
1621 
1622 //---------------------------------------------------------
1625 
1626 //---------------------------------------------------------
1629 
1630 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const char *Text, SG_Char End = '\n', bool bFlush = true);
1631 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1632 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdOut (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1633 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const char *Text, SG_Char End = '\n', bool bFlush = true);
1634 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const wchar_t *Text, SG_Char End = '\n', bool bFlush = true);
1635 SAGA_API_DLL_EXPORT void SG_UI_Console_Print_StdErr (const CSG_String &Text, SG_Char End = '\n', bool bFlush = true);
1636 
1637 //---------------------------------------------------------
1641 SAGA_API_DLL_EXPORT bool SG_UI_Process_Get_Okay (bool bBlink = false);
1642 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Okay (bool bOkay = true);
1643 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Busy (bool bOn = true, const CSG_String &Message = "");
1644 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (int Position, int Range);
1646 SAGA_API_DLL_EXPORT bool SG_UI_Process_Set_Progress (double Position, double Range);
1649 
1650 SAGA_API_DLL_EXPORT bool SG_UI_Stop_Execution (bool bDialog);
1651 
1652 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Message (const CSG_String &Message, const CSG_String &Caption);
1653 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Continue (const CSG_String &Message, const CSG_String &Caption);
1654 SAGA_API_DLL_EXPORT int SG_UI_Dlg_Error (const CSG_String &Message, const CSG_String &Caption);
1655 SAGA_API_DLL_EXPORT void SG_UI_Dlg_Info (const CSG_String &Message, const CSG_String &Caption);
1656 SAGA_API_DLL_EXPORT bool SG_UI_Dlg_Parameters (class CSG_Parameters *pParameters, const CSG_String &Caption);
1657 
1658 SAGA_API_DLL_EXPORT int SG_UI_Msg_Lock (bool bOn);
1661 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);
1662 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);
1663 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);
1664 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);
1665 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);
1666 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);
1667 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const char *Message);
1668 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const wchar_t *Message);
1669 SAGA_API_DLL_EXPORT void SG_UI_Msg_Add_Error (const CSG_String &Message);
1671 
1674 
1675 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Add (class CSG_Data_Object *pDataObject, int Show);
1676 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Del (class CSG_Data_Object *pDataObject, bool bConfirm);
1677 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Update (class CSG_Data_Object *pDataObject, int Show, class CSG_Parameters *pParameters);
1678 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Show (class CSG_Data_Object *pDataObject, int Show);
1679 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_asImage (class CSG_Data_Object *pDataObject, class CSG_Grid *pGrid);
1680 
1681 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Get (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1682 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Colors_Set (class CSG_Data_Object *pDataObject, class CSG_Colors *pColors);
1683 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Get (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1684 SAGA_API_DLL_EXPORT bool SG_UI_DataObject_Params_Set (class CSG_Data_Object *pDataObject, class CSG_Parameters *pParameters);
1685 
1686 SAGA_API_DLL_EXPORT bool SG_UI_Set_Map_Extent (double xMin, double yMin, double xMax, double yMax, int Maps = SG_UI_MAP_ACTIVE);
1687 
1688 SAGA_API_DLL_EXPORT bool SG_UI_Diagram_Show (class CSG_Table *pTable, class CSG_Parameters *pParameters);
1689 
1690 SAGA_API_DLL_EXPORT bool SG_UI_ODBC_Update (const CSG_String &Server);
1691 
1692 SAGA_API_DLL_EXPORT int SG_UI_Window_Arrange (int Arrange);
1693 
1699 
1700 
1702 // //
1703 // Environment //
1704 // //
1706 
1707 //---------------------------------------------------------
1708 SAGA_API_DLL_EXPORT bool SG_Initialize_Environment (bool bLibraries = true, bool bProjections = true, const SG_Char *SAGA_Path = NULL, bool bInitializeWX = true);
1710 
1711 
1713 // //
1714 // //
1715 // //
1717 
1718 //---------------------------------------------------------
1719 #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:1007
SG_DATATYPE_Int
@ SG_DATATYPE_Int
Definition: api_core.h:1000
CSG_Bytes_Array::Get_Count
int Get_Count(void) const
Definition: api_core.h:907
SG_TOKEN_DEFAULT
@ SG_TOKEN_DEFAULT
Definition: api_core.h:750
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
CSG_File::Open
virtual bool Open(const CSG_String &FileName, int Mode=SG_FILE_R, bool bBinary=true, int Encoding=SG_FILE_ENCODING_ANSI)
Definition: api_file.cpp:111
SG_TOKEN_INVALID
@ SG_TOKEN_INVALID
Definition: api_core.h:749
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:1538
SG_File_Get_Path
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Path(const CSG_String &full_Path)
Definition: api_file.cpp:891
CSG_Translator
Definition: api_core.h:1433
SG_DATATYPE_Undefined
@ SG_DATATYPE_Undefined
Definition: api_core.h:1009
CSG_Bytes::Read_DWord
DWORD Read_DWord(bool bSwapBytes=false)
Definition: api_core.h:879
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:1262
SG_COLORS_RED_BLUE_GREEN
@ SG_COLORS_RED_BLUE_GREEN
Definition: api_core.h:1314
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:868
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:1602
CSG_Bytes::asFloat
float asFloat(int i, bool bSwapBytes=false) const
Definition: api_core.h:871
CALLBACK_DLG_CONTINUE
@ CALLBACK_DLG_CONTINUE
Definition: api_core.h:1563
CALLBACK_PROCESS_SET_BUSY
@ CALLBACK_PROCESS_SET_BUSY
Definition: api_core.h:1555
SG_DATATYPE_String
@ SG_DATATYPE_String
Definition: api_core.h:1005
SG_DATATYPE_DWord
@ SG_DATATYPE_DWord
Definition: api_core.h:999
SG_Dir_List_Subdirectories
SAGA_API_DLL_EXPORT bool SG_Dir_List_Subdirectories(CSG_Strings &List, const CSG_String &Directory)
Definition: api_file.cpp:787
CSG_Bytes::Read_Int
int Read_Int(bool bSwapBytes=false)
Definition: api_core.h:878
SG_DATATYPE_Binary
@ SG_DATATYPE_Binary
Definition: api_core.h:1008
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:1267
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:1579
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:1138
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:1389
CSG_File::m_FileName
CSG_String m_FileName
Definition: api_core.h:1185
CSG_Translator::Get_Text
const SG_Char * Get_Text(int i) const
Definition: api_core.h:1449
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void)
Definition: api_core.h:1601
CSG_Stack::Get_RecordSize
size_t Get_RecordSize(void) const
Definition: api_core.h:942
CSG_Strings::Del
bool Del(int Index)
Definition: api_core.h:719
SG_COLORS_GREEN_BLUE
@ SG_COLORS_GREEN_BLUE
Definition: api_core.h:1309
ESG_File_Flags_Open
ESG_File_Flags_Open
Definition: api_core.h:1108
CSG_Bytes::asByte
BYTE asByte(int i) const
Definition: api_core.h:865
CALLBACK_STOP_EXECUTION
@ CALLBACK_STOP_EXECUTION
Definition: api_core.h:1560
SG_Degree_To_Double
SAGA_API_DLL_EXPORT double SG_Degree_To_Double(const CSG_String &String)
Definition: api_string.cpp:1226
SG_TOKEN_RET_EMPTY_ALL
@ SG_TOKEN_RET_EMPTY_ALL
Definition: api_core.h:752
SG_Dir_Exists
SAGA_API_DLL_EXPORT bool SG_Dir_Exists(const CSG_String &Directory)
Definition: api_file.cpp:743
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:1586
SG_COLORS_RED_GREY_BLUE
@ SG_COLORS_RED_GREY_BLUE
Definition: api_core.h:1310
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:1502
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:1369
SG_UI_MAP_LAST
@ SG_UI_MAP_LAST
Definition: api_core.h:1530
CSG_Stack::Get_Record_Pop
void * Get_Record_Pop(void)
Definition: api_core.h:963
CSG_Stack
Definition: api_core.h:931
SG_UI_MSG_STYLE_SUCCESS
@ SG_UI_MSG_STYLE_SUCCESS
Definition: api_core.h:1505
SG_Get_String
SAGA_API_DLL_EXPORT CSG_String SG_Get_String(double Value, int Precision=-99)
Definition: api_string.cpp:1318
CALLBACK_DLG_INFO
@ CALLBACK_DLG_INFO
Definition: api_core.h:1565
CSG_Bytes::Get_Count
int Get_Count(void) const
Definition: api_core.h:831
TSG_File_Type
TSG_File_Type
Definition: api_core.h:1100
CALLBACK_DATABASE_UPDATE
@ CALLBACK_DATABASE_UPDATE
Definition: api_core.h:1588
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:952
CSG_Bytes::Read_Word
WORD Read_Word(bool bSwapBytes=false)
Definition: api_core.h:877
SG_COLORS_BLACK_BLUE
@ SG_COLORS_BLACK_BLUE
Definition: api_core.h:1299
SG_UI_DATAOBJECT_SHOW_MAP_LAST
@ SG_UI_DATAOBJECT_SHOW_MAP_LAST
Definition: api_core.h:1522
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:717
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
CSG_File_Zip::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1207
SG_UI_DATAOBJECT_SHOW_MAP_NEW
@ SG_UI_DATAOBJECT_SHOW_MAP_NEW
Definition: api_core.h:1521
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:1546
SG_DEFAULT_DELIMITERS
#define SG_DEFAULT_DELIMITERS
Definition: api_core.h:745
SG_Data_Type_Get_Size
size_t SG_Data_Type_Get_Size(TSG_Data_Type Type)
Definition: api_core.h:1060
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:944
SG_DATATYPE_Byte
@ SG_DATATYPE_Byte
Definition: api_core.h:995
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:1141
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_LEFT
Definition: api_core.h:1543
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:779
SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_HOR
Definition: api_core.h:1540
SG_COLORS_TOPOGRAPHY
@ SG_COLORS_TOPOGRAPHY
Definition: api_core.h:1318
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:1554
SG_FILE_TYPE_NORMAL
@ SG_FILE_TYPE_NORMAL
Definition: api_core.h:1101
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(const CSG_String &Value)
Definition: api_core.h:1605
CALLBACK_PROCESS_SET_PROGRESS
@ CALLBACK_PROCESS_SET_PROGRESS
Definition: api_core.h:1556
SG_COLORS_WHITE_GREEN
@ SG_COLORS_WHITE_GREEN
Definition: api_core.h:1301
CSG_Bytes::Get_Byte
BYTE Get_Byte(int i) const
Definition: api_core.h:837
SG_COLORS_RAINBOW
@ SG_COLORS_RAINBOW
Definition: api_core.h:1316
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:1297
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:856
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:1109
CSG_File::m_Mode
int m_Mode
Definition: api_core.h:1183
SG_is_Character_Numeric
SAGA_API_DLL_EXPORT bool SG_is_Character_Numeric(int Character)
Definition: api_string.cpp:1150
CALLBACK_GET_APP_PATH
@ CALLBACK_GET_APP_PATH
Definition: api_core.h:1593
SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_VER
Definition: api_core.h:1541
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:1367
TSG_UI_DataObject_Update
TSG_UI_DataObject_Update
Definition: api_core.h:1517
SG_COLORS_ASPECT_2
@ SG_COLORS_ASPECT_2
Definition: api_core.h:1323
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:1119
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:867
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:1615
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:771
SG_UI_MSG_STYLE_02
@ SG_UI_MSG_STYLE_02
Definition: api_core.h:1510
CSG_Stack::Get_Record
void * Get_Record(size_t i) const
Definition: api_core.h:953
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:1124
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:1603
SG_Set_Environment
SAGA_API_DLL_EXPORT bool SG_Set_Environment(const CSG_String &Variable, const CSG_String &Value)
Definition: api_file.cpp:1012
CSG_Bytes::Get_Bytes
CSG_Bytes Get_Bytes(int i) const
Definition: api_core.h:834
SG_GET_R
#define SG_GET_R(rgb)
Definition: api_core.h:1265
SG_COLORS_NEON
@ SG_COLORS_NEON
Definition: api_core.h:1317
SG_Get_Environment
SAGA_API_DLL_EXPORT bool SG_Get_Environment(const CSG_String &Variable, CSG_String *Value=NULL)
Definition: api_file.cpp:992
SG_UI_MSG_STYLE_FAILURE
@ SG_UI_MSG_STYLE_FAILURE
Definition: api_core.h:1506
SG_UI_DATAOBJECT_UPDATE
@ SG_UI_DATAOBJECT_UPDATE
Definition: api_core.h:1518
SG_FILE_RW
@ SG_FILE_RW
Definition: api_core.h:1111
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:878
SG_COLORS_YELLOW_BLUE
@ SG_COLORS_YELLOW_BLUE
Definition: api_core.h:1305
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:828
SG_File_Exists
SAGA_API_DLL_EXPORT bool SG_File_Exists(const CSG_String &FileName)
Definition: api_file.cpp:850
SG_COLORS_BLACK_WHITE
@ SG_COLORS_BLACK_WHITE
Definition: api_core.h:1296
SG_COLORS_YELLOW_RED
@ SG_COLORS_YELLOW_RED
Definition: api_core.h:1303
CSG_Strings::Clear
void Clear(void)
Definition: api_core.h:734
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:1002
CSG_Colors::Get_Count
int Get_Count(void) const
Definition: api_core.h:1354
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:860
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:1620
SG_COLORS_YELLOW_GREEN
@ SG_COLORS_YELLOW_GREEN
Definition: api_core.h:1304
SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
@ SG_UI_DATAOBJECT_SHOW_MAP_ACTIVE
Definition: api_core.h:1520
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:1508
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:909
CSG_Colors::Set_Palette
bool Set_Palette(int Index, bool bRevert=false, int nColors=11)
Definition: api_core.h:1389
ESG_Colors
ESG_Colors
Definition: api_core.h:1293
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:1584
CSG_Translator::is_CaseSensitive
bool is_CaseSensitive(void) const
Definition: api_core.h:1446
SG_UI_MAP_ALL
@ SG_UI_MAP_ALL
Definition: api_core.h:1531
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:933
SG_Dir_Create
SAGA_API_DLL_EXPORT bool SG_Dir_Create(const CSG_String &Directory, bool bFullPath=false)
Definition: api_file.cpp:749
CSG_Colors::Get_Color
long Get_Color(int Index) const
Definition: api_core.h:1366
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:1575
SG_GET_G
#define SG_GET_G(rgb)
Definition: api_core.h:1266
SG_COLORS_DEFAULT
@ SG_COLORS_DEFAULT
Definition: api_core.h:1294
CSG_Strings::m_Strings
CSG_Array_Pointer m_Strings
Definition: api_core.h:740
CSG_Strings::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:713
CALLBACK_DLG_PARAMETERS
@ CALLBACK_DLG_PARAMETERS
Definition: api_core.h:1567
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:1557
SG_TOKEN_RET_EMPTY
@ SG_TOKEN_RET_EMPTY
Definition: api_core.h:751
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:1145
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:1529
CSG_Bytes::Read_Byte
BYTE Read_Byte(void)
Definition: api_core.h:874
CSG_File_Zip::Get_File_Count
size_t Get_File_Count(void)
Definition: api_core.h:1212
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:1322
SG_Get_CurrentTimeStr
SAGA_API_DLL_EXPORT CSG_String SG_Get_CurrentTimeStr(bool bWithDate=true)
Definition: api_string.cpp:1184
CALLBACK_DATAOBJECT_ADD
@ CALLBACK_DATAOBJECT_ADD
Definition: api_core.h:1573
sLong
signed long long sLong
Definition: api_core.h:158
CALLBACK_DATAOBJECT_SHOW
@ CALLBACK_DATAOBJECT_SHOW
Definition: api_core.h:1576
CSG_UI_Parameter::Number
double Number
Definition: api_core.h:1611
TSG_UI_Window_Arrange
TSG_UI_Window_Arrange
Definition: api_core.h:1537
SG_COLORS_WHITE_BLUE
@ SG_COLORS_WHITE_BLUE
Definition: api_core.h:1302
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:852
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:1511
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:945
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:1372
SG_Dir_Delete
SAGA_API_DLL_EXPORT bool SG_Dir_Delete(const CSG_String &Directory, bool bRecursive=false)
Definition: api_file.cpp:760
SG_COLORS_GREEN_RED
@ SG_COLORS_GREEN_RED
Definition: api_core.h:1306
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:1003
SG_Mem_Get_Int
SAGA_API_DLL_EXPORT int SG_Mem_Get_Int(const char *Buffer, bool bSwapBytes)
Definition: api_memory.cpp:177
CSG_File_Zip::m_Files
CSG_Array_Pointer m_Files
Definition: api_core.h:1221
SG_Get_Significant_Decimals
SAGA_API_DLL_EXPORT int SG_Get_Significant_Decimals(double Value, int maxDecimals=6)
Definition: api_string.cpp:1256
CALLBACK_DATAOBJECT_PARAMS_SET
@ CALLBACK_DATAOBJECT_PARAMS_SET
Definition: api_core.h:1582
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:1540
SG_COLORS_DEFAULT_BRIGHT
@ SG_COLORS_DEFAULT_BRIGHT
Definition: api_core.h:1295
CSG_Translator::Get_Translation
const SG_Char * Get_Translation(int i) const
Definition: api_core.h:1450
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:1564
CSG_UI_Parameter::Pointer
void * Pointer
Definition: api_core.h:1613
CSG_Bytes::Get_Bytes
BYTE * Get_Bytes(void) const
Definition: api_core.h:832
SG_FILE_CURRENT
@ SG_FILE_CURRENT
Definition: api_core.h:1118
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(double Value)
Definition: api_core.h:1604
CSG_Bytes::asDouble
double asDouble(int i, bool bSwapBytes=false) const
Definition: api_core.h:872
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:958
CSG_Bytes::Add
bool Add(DWORD Value, bool bSwapBytes=false)
Definition: api_core.h:858
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:160
CSG_Bytes::Add
bool Add(BYTE Value)
Definition: api_core.h:848
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:977
SG_UI_MSG_STYLE_BOLD
@ SG_UI_MSG_STYLE_BOLD
Definition: api_core.h:1503
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:1571
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:1110
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:866
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:699
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:1143
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:735
CSG_Bytes_Array
Definition: api_core.h:900
SG_DATATYPE_Date
@ SG_DATATYPE_Date
Definition: api_core.h:1006
SG_DATATYPE_Word
@ SG_DATATYPE_Word
Definition: api_core.h:997
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:710
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:1558
CSG_UI_Parameter
Definition: api_core.h:1599
CSG_Bytes
Definition: api_core.h:812
SG_COLORS_BLACK_GREEN
@ SG_COLORS_BLACK_GREEN
Definition: api_core.h:1298
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:811
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:722
SG_COLORS_GREEN_GREY_BLUE
@ SG_COLORS_GREEN_GREY_BLUE
Definition: api_core.h:1312
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:940
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:1320
gSG_Data_Type_Identifier
const char gSG_Data_Type_Identifier[][32]
Definition: api_core.h:1039
CSG_Table
Definition: table.h:283
SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
@ SG_UI_WINDOW_ARRANGE_TDI_TILE_HOR
Definition: api_core.h:1542
CALLBACK_MESSAGE_ADD_ERROR
@ CALLBACK_MESSAGE_ADD_ERROR
Definition: api_core.h:1570
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:1504
SG_Double_To_Degree
SAGA_API_DLL_EXPORT CSG_String SG_Double_To_Degree(double Value)
Definition: api_string.cpp:1206
SG_File_Set_Extension
SAGA_API_DLL_EXPORT bool SG_File_Set_Extension(CSG_String &FileName, const CSG_String &Extension)
Definition: api_file.cpp:958
SG_COLORS_ASPECT_3
@ SG_COLORS_ASPECT_3
Definition: api_core.h:1324
SG_COLORS_RED_GREY_GREEN
@ SG_COLORS_RED_GREY_GREEN
Definition: api_core.h:1311
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:899
ESG_File_Flags_Seek
ESG_File_Flags_Seek
Definition: api_core.h:1116
SG_TOKEN_STRTOK
@ SG_TOKEN_STRTOK
Definition: api_core.h:754
CSG_Bytes::asDWord
DWORD asDWord(int i, bool bSwapBytes=false) const
Definition: api_core.h:870
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:1448
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:1544
CSG_Colors::Get_Brightness
long Get_Brightness(int Index) const
Definition: api_core.h:1370
CSG_Array
Definition: api_core.h:308
B
#define B
SG_UI_DATAOBJECT_SHOW_MAP
@ SG_UI_DATAOBJECT_SHOW_MAP
Definition: api_core.h:1519
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:1187
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:1368
CSG_Stack::~CSG_Stack
virtual ~CSG_Stack(void)
Definition: api_core.h:938
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:1592
CSG_Bytes::Add
bool Add(int Value, bool bSwapBytes=false)
Definition: api_core.h:856
CALLBACK_DATAOBJECT_DEL
@ CALLBACK_DATAOBJECT_DEL
Definition: api_core.h:1574
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:850
SG_COLORS_COUNT
@ SG_COLORS_COUNT
Definition: api_core.h:1325
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:1590
SG_Flip_Decimal_Separators
SAGA_API_DLL_EXPORT void SG_Flip_Decimal_Separators(CSG_String &String)
Definition: api_string.cpp:1285
SG_TOKEN_RET_DELIMS
@ SG_TOKEN_RET_DELIMS
Definition: api_core.h:753
TSG_String_Tokenizer_Mode
TSG_String_Tokenizer_Mode
Definition: api_core.h:748
TSG_Array_Growth::SG_ARRAY_GROWTH_0
@ SG_ARRAY_GROWTH_0
CSG_Bytes::Read_Char
char Read_Char(void)
Definition: api_core.h:875
SG_DATATYPE_Short
@ SG_DATATYPE_Short
Definition: api_core.h:998
SG_COLORS_RED_BLUE
@ SG_COLORS_RED_BLUE
Definition: api_core.h:1308
CSG_Strings::Get_String
CSG_String & Get_String(size_t Index) const
Definition: api_core.h:723
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:1569
CSG_UI_Parameter::CSG_UI_Parameter
CSG_UI_Parameter(void *Value)
Definition: api_core.h:1606
CSG_Stack::Get_Size
size_t Get_Size(void) const
Definition: api_core.h:943
SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
@ SG_UI_WINDOW_ARRANGE_TDI_SPLIT_TOP
Definition: api_core.h:1545
TSG_UI_Maps
TSG_UI_Maps
Definition: api_core.h:1528
CSG_Bytes::Read_Float
float Read_Float(bool bSwapBytes=false)
Definition: api_core.h:880
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:994
CSG_Bytes::Add
bool Add(WORD Value, bool bSwapBytes=false)
Definition: api_core.h:854
CALLBACK_DATAOBJECT_PARAMS_GET
@ CALLBACK_DATAOBJECT_PARAMS_GET
Definition: api_core.h:1581
CSG_File::Get_File_Type
virtual TSG_File_Type Get_File_Type(void) const
Definition: api_core.h:1136
SG_COLORS_WHITE_RED
@ SG_COLORS_WHITE_RED
Definition: api_core.h:1300
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:1313
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:1553
CSG_String::m_pString
class wxString * m_pString
Definition: api_core.h:687
SG_UI_MSG_STYLE_01
@ SG_UI_MSG_STYLE_01
Definition: api_core.h:1509
CALLBACK_DLG_MESSAGE
@ CALLBACK_DLG_MESSAGE
Definition: api_core.h:1562
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:869
SG_File_Get_Name_Temp
SAGA_API_DLL_EXPORT CSG_String SG_File_Get_Name_Temp(const CSG_String &Prefix)
Definition: api_file.cpp:862
SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
@ SG_UI_WINDOW_ARRANGE_MDI_TILE_VER
Definition: api_core.h:1539
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:919
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:1321
CSG_Bytes_Array::Get_Bytes
CSG_Bytes * Get_Bytes(int i)
Definition: api_core.h:908
CSG_Bytes::Read_Short
short Read_Short(bool bSwapBytes=false)
Definition: api_core.h:876
CSG_Strings::Get_Count
int Get_Count(void) const
Definition: api_core.h:712
TSG_UI_MSG_STYLE
TSG_UI_MSG_STYLE
Definition: api_core.h:1501
CSG_Bytes::is_EOF
bool is_EOF(void)
Definition: api_core.h:829
CSG_UI_Parameter::Boolean
bool Boolean
Definition: api_core.h:1609
CSG_Parameters
Definition: parameters.h:1690
TSG_Data_Type
TSG_Data_Type
Definition: api_core.h:993
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:1507
SG_FILE_START
@ SG_FILE_START
Definition: api_core.h:1117
SG_FILE_TYPE_ZIP
@ SG_FILE_TYPE_ZIP
Definition: api_core.h:1102
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:1307
CSG_String_Tokenizer
Definition: api_core.h:760
SG_COLORS_GREEN_RED_BLUE
@ SG_COLORS_GREEN_RED_BLUE
Definition: api_core.h:1315
TSG_UI_Callback_ID
TSG_UI_Callback_ID
Definition: api_core.h:1552
SG_FILE_ENCODING_ANSI
@ SG_FILE_ENCODING_ANSI
Definition: api_core.h:550
CALLBACK_DATAOBJECT_ASIMAGE
@ CALLBACK_DATAOBJECT_ASIMAGE
Definition: api_core.h:1577
CSG_Bytes::Read_Double
double Read_Double(bool bSwapBytes=false)
Definition: api_core.h:881
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:996
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:862
CSG_File::is_Reading
bool is_Reading(void) const
Definition: api_core.h:1144
CSG_File_Zip
Definition: api_core.h:1196
SG_DATATYPE_ULong
@ SG_DATATYPE_ULong
Definition: api_core.h:1001
CSG_Array::Get_Entry
void * Get_Entry(sLong Index) const
Returns a pointer to the memory address of the requested variable. You have to type cast and derefere...
Definition: api_core.h:331
CSG_Buffer::Add_Value
void Add_Value(double Value, bool bBigEndian=false)
Definition: api_core.h:254
CSG_File::Get_File_Name
virtual const CSG_String & Get_File_Name(void) const
Definition: api_core.h:1135
SG_COLORS_TOPOGRAPHY_2
@ SG_COLORS_TOPOGRAPHY_2
Definition: api_core.h:1319
CALLBACK_DATAOBJECT_COLORS_SET
@ CALLBACK_DATAOBJECT_COLORS_SET
Definition: api_core.h:1580
CSG_Colors
Definition: api_core.h:1338
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:1004
operator+
SAGA_API_DLL_EXPORT CSG_String operator+(const char *A, const CSG_String &B)
Definition: api_string.cpp:473