SAGA API  v9.5
tool.h File Reference
#include "parameters.h"

Go to the source code of this file.

Classes

class  CSG_Tool
 
class  CSG_Tool_Grid
 
class  CSG_Tool_Interactive_Base
 
class  CSG_Tool_Interactive
 
class  CSG_Tool_Grid_Interactive
 
class  CSG_Tool_Library_Interface
 

Macros

#define TOOL_INTERACTIVE_KEY_LEFT   0x01
 
#define TOOL_INTERACTIVE_KEY_MIDDLE   0x02
 
#define TOOL_INTERACTIVE_KEY_RIGHT   0x04
 
#define TOOL_INTERACTIVE_KEY_SHIFT   0x08
 
#define TOOL_INTERACTIVE_KEY_ALT   0x10
 
#define TOOL_INTERACTIVE_KEY_CTRL   0x20
 
#define SYMBOL_TLB_Initialize   "TLB_Initialize"
 
#define SYMBOL_TLB_Finalize   "TLB_Finalize"
 
#define SYMBOL_TLB_Get_Interface   "TLB_Get_Interface"
 
#define TLB_INTERFACE_SKIP_TOOL   ((CSG_Tool *)0x1)
 
#define TLB_INTERFACE_ESTABLISH
 
#define TLB_INTERFACE_INITIALIZE
 
#define TLB_INTERFACE_FINALIZE
 
#define TLB_INTERFACE   TLB_INTERFACE_ESTABLISH TLB_INTERFACE_INITIALIZE TLB_INTERFACE_FINALIZE
 

Typedefs

typedef CSG_Tool *(* TSG_PFNC_TLB_Create_Tool) (int i)
 
typedef CSG_String(* TSG_PFNC_TLB_Get_Info) (int i)
 
typedef bool(* TSG_PFNC_TLB_Initialize) (const SG_Char *)
 
typedef bool(* TSG_PFNC_TLB_Finalize) (void)
 
typedef CSG_Tool_Library_Interface *(* TSG_PFNC_TLB_Get_Interface) (void)
 

Enumerations

enum  TSG_Summary_Format { SG_SUMMARY_FMT_FLAT = 0, SG_SUMMARY_FMT_HTML, SG_SUMMARY_FMT_XML }
 
enum  TSG_Tool_Type {
  TOOL_TYPE_Base = 0, TOOL_TYPE_Interactive, TOOL_TYPE_Grid, TOOL_TYPE_Grid_Interactive,
  TOOL_TYPE_Chain
}
 
enum  TSG_Tool_Error { TOOL_ERROR_Unknown = 0, TOOL_ERROR_Calculation }
 
enum  TSG_Tool_Script_Type {
  TOOL_SCRIPT_CMD_SHELL = 0, TOOL_SCRIPT_CMD_BATCH, TOOL_SCRIPT_CMD_USAGE, TOOL_SCRIPT_CHAIN,
  TOOL_SCRIPT_PYTHON, TOOL_SCRIPT_PYTHON_WRAP_NAME, TOOL_SCRIPT_PYTHON_WRAP_NAME_CALL, TOOL_SCRIPT_PYTHON_WRAP_NAME_CALL_FULL,
  TOOL_SCRIPT_PYTHON_WRAP_ID, TOOL_SCRIPT_PYTHON_WRAP_ID_CALL
}
 
enum  TSG_Tool_Interactive_Mode {
  TOOL_INTERACTIVE_UNDEFINED = 0, TOOL_INTERACTIVE_LDOWN, TOOL_INTERACTIVE_LUP, TOOL_INTERACTIVE_LDCLICK,
  TOOL_INTERACTIVE_MDOWN, TOOL_INTERACTIVE_MUP, TOOL_INTERACTIVE_MDCLICK, TOOL_INTERACTIVE_RDOWN,
  TOOL_INTERACTIVE_RUP, TOOL_INTERACTIVE_RDCLICK, TOOL_INTERACTIVE_MOVE, TOOL_INTERACTIVE_MOVE_LDOWN,
  TOOL_INTERACTIVE_MOVE_MDOWN, TOOL_INTERACTIVE_MOVE_RDOWN
}
 
enum  TSG_Tool_Interactive_DragMode { TOOL_INTERACTIVE_DRAG_NONE = 0, TOOL_INTERACTIVE_DRAG_LINE, TOOL_INTERACTIVE_DRAG_BOX, TOOL_INTERACTIVE_DRAG_CIRCLE }
 
enum  TSG_TLB_Info {
  TLB_INFO_Name = 0, TLB_INFO_Description, TLB_INFO_Author, TLB_INFO_Version,
  TLB_INFO_Menu_Path, TLB_INFO_Category, TLB_INFO_User, TLB_INFO_File,
  TLB_INFO_Library, TLB_INFO_SAGA_Version, TLB_INFO_Count
}
 

Variables

CSG_Tool_Library_Interface TLB_Interface
 

Detailed Description

The definition of the base classes for any SAGA tool.

See also
CSG_Tool
CSG_Tool_Grid
CSG_Tool_Interactive
CSG_Tool_Library
CSG_Tool_Library_Manager

Definition in file tool.h.

Macro Definition Documentation

◆ SYMBOL_TLB_Finalize

#define SYMBOL_TLB_Finalize   "TLB_Finalize"

Definition at line 673 of file tool.h.

◆ SYMBOL_TLB_Get_Interface

#define SYMBOL_TLB_Get_Interface   "TLB_Get_Interface"

Definition at line 676 of file tool.h.

◆ SYMBOL_TLB_Initialize

#define SYMBOL_TLB_Initialize   "TLB_Initialize"

Definition at line 670 of file tool.h.

◆ TLB_INTERFACE

Definition at line 703 of file tool.h.

◆ TLB_INTERFACE_ESTABLISH

#define TLB_INTERFACE_ESTABLISH
Value:
\
extern "C" _SAGA_DLL_EXPORT CSG_Tool_Library_Interface * TLB_Get_Interface (void)\
{\
return( &TLB_Interface );\
}\

Definition at line 683 of file tool.h.

◆ TLB_INTERFACE_FINALIZE

#define TLB_INTERFACE_FINALIZE
Value:
extern "C" _SAGA_DLL_EXPORT bool TLB_Finalize (void)\
{\
return( true );\
}\

Definition at line 697 of file tool.h.

◆ TLB_INTERFACE_INITIALIZE

#define TLB_INTERFACE_INITIALIZE
Value:
extern "C" _SAGA_DLL_EXPORT bool TLB_Initialize(const SG_Char *TLB_Path)\
{\
return( TLB_Interface.Create(SAGA_VERSION, TLB_Path, Get_Info, Create_Tool) );\
}\

Definition at line 691 of file tool.h.

◆ TLB_INTERFACE_SKIP_TOOL

#define TLB_INTERFACE_SKIP_TOOL   ((CSG_Tool *)0x1)

Definition at line 680 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_ALT

#define TOOL_INTERACTIVE_KEY_ALT   0x10

Definition at line 490 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_CTRL

#define TOOL_INTERACTIVE_KEY_CTRL   0x20

Definition at line 491 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_LEFT

#define TOOL_INTERACTIVE_KEY_LEFT   0x01

Definition at line 486 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_MIDDLE

#define TOOL_INTERACTIVE_KEY_MIDDLE   0x02

Definition at line 487 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_RIGHT

#define TOOL_INTERACTIVE_KEY_RIGHT   0x04

Definition at line 488 of file tool.h.

◆ TOOL_INTERACTIVE_KEY_SHIFT

#define TOOL_INTERACTIVE_KEY_SHIFT   0x08

Definition at line 489 of file tool.h.

Typedef Documentation

◆ TSG_PFNC_TLB_Create_Tool

typedef CSG_Tool*(* TSG_PFNC_TLB_Create_Tool) (int i)

Definition at line 636 of file tool.h.

◆ TSG_PFNC_TLB_Finalize

typedef bool(* TSG_PFNC_TLB_Finalize) (void)

Definition at line 674 of file tool.h.

◆ TSG_PFNC_TLB_Get_Info

typedef CSG_String(* TSG_PFNC_TLB_Get_Info) (int i)

Definition at line 637 of file tool.h.

◆ TSG_PFNC_TLB_Get_Interface

typedef CSG_Tool_Library_Interface*(* TSG_PFNC_TLB_Get_Interface) (void)

Definition at line 677 of file tool.h.

◆ TSG_PFNC_TLB_Initialize

typedef bool(* TSG_PFNC_TLB_Initialize) (const SG_Char *)

Definition at line 671 of file tool.h.

Enumeration Type Documentation

◆ TSG_Summary_Format

Enumerator
SG_SUMMARY_FMT_FLAT 
SG_SUMMARY_FMT_HTML 
SG_SUMMARY_FMT_XML 

Definition at line 91 of file tool.h.

◆ TSG_TLB_Info

Enumerator
TLB_INFO_Name 
TLB_INFO_Description 
TLB_INFO_Author 
TLB_INFO_Version 
TLB_INFO_Menu_Path 
TLB_INFO_Category 
TLB_INFO_User 
TLB_INFO_File 
TLB_INFO_Library 
TLB_INFO_SAGA_Version 
TLB_INFO_Count 

Definition at line 619 of file tool.h.

◆ TSG_Tool_Error

Enumerator
TOOL_ERROR_Unknown 
TOOL_ERROR_Calculation 

Definition at line 111 of file tool.h.

◆ TSG_Tool_Interactive_DragMode

Enumerator
TOOL_INTERACTIVE_DRAG_NONE 
TOOL_INTERACTIVE_DRAG_LINE 
TOOL_INTERACTIVE_DRAG_BOX 
TOOL_INTERACTIVE_DRAG_CIRCLE 

Definition at line 476 of file tool.h.

◆ TSG_Tool_Interactive_Mode

Enumerator
TOOL_INTERACTIVE_UNDEFINED 
TOOL_INTERACTIVE_LDOWN 
TOOL_INTERACTIVE_LUP 
TOOL_INTERACTIVE_LDCLICK 
TOOL_INTERACTIVE_MDOWN 
TOOL_INTERACTIVE_MUP 
TOOL_INTERACTIVE_MDCLICK 
TOOL_INTERACTIVE_RDOWN 
TOOL_INTERACTIVE_RUP 
TOOL_INTERACTIVE_RDCLICK 
TOOL_INTERACTIVE_MOVE 
TOOL_INTERACTIVE_MOVE_LDOWN 
TOOL_INTERACTIVE_MOVE_MDOWN 
TOOL_INTERACTIVE_MOVE_RDOWN 

Definition at line 456 of file tool.h.

◆ TSG_Tool_Script_Type

Enumerator
TOOL_SCRIPT_CMD_SHELL 
TOOL_SCRIPT_CMD_BATCH 
TOOL_SCRIPT_CMD_USAGE 
TOOL_SCRIPT_CHAIN 
TOOL_SCRIPT_PYTHON 
TOOL_SCRIPT_PYTHON_WRAP_NAME 
TOOL_SCRIPT_PYTHON_WRAP_NAME_CALL 
TOOL_SCRIPT_PYTHON_WRAP_NAME_CALL_FULL 
TOOL_SCRIPT_PYTHON_WRAP_ID 
TOOL_SCRIPT_PYTHON_WRAP_ID_CALL 

Definition at line 119 of file tool.h.

◆ TSG_Tool_Type

Enumerator
TOOL_TYPE_Base 
TOOL_TYPE_Interactive 
TOOL_TYPE_Grid 
TOOL_TYPE_Grid_Interactive 
TOOL_TYPE_Chain 

Definition at line 100 of file tool.h.

Variable Documentation

◆ TLB_Interface

CSG_Tool_Library_Interface TLB_Interface
extern
CSG_Tool_Library_Interface
Definition: tool.h:641
SAGA_VERSION
#define SAGA_VERSION
Definition: saga_api.h:90
CSG_Tool_Library_Interface::Create
bool Create(const CSG_String &Version, const CSG_String &TLB_Path, TSG_PFNC_TLB_Get_Info Fnc_Info, TSG_PFNC_TLB_Create_Tool Fnc_Create_Tool)
Definition: tool_library_interface.cpp:80
SG_Char
#define SG_Char
Definition: api_core.h:536
_SAGA_DLL_EXPORT
#define _SAGA_DLL_EXPORT
Definition: api_core.h:86
TLB_Interface
CSG_Tool_Library_Interface TLB_Interface