|
SAGA API
v9.6
|
Go to the documentation of this file.
56 #include <wx/string.h>
57 #include <wx/cmdline.h>
72 m_bError_Ignore =
false;
104 m_bError_Ignore =
false;
123 return( m_File_Name );
198 if( Menu[i].Length() > 1 && Menu[i][1] ==
':' )
200 if( Menu[i][0] ==
'A' || Menu[i][0] ==
'a' )
202 Menu[i] = Menu[i].AfterFirst(
':');
207 Menu[i] = Menu[i].AfterFirst(
':');
212 if( Menu[i].is_Empty() )
214 Menu[i] = m_Library_Menu;
218 Menu[i] = m_Library_Menu +
"|" + Menu[i];
260 #define ADD_MESSAGE_EXECUTION(Text, Style) { SG_UI_Msg_Add(Text, true, Style); if( has_GUI() ) { SG_UI_Msg_Add_Execution(Text, true, Style); } }
270 m_bError_Ignore =
false;
272 bool bResult =
false;
274 m_Execution_Info.
Clear();
286 if(
Parameters.DataObjects_Create() ==
false )
288 _Synchronize_DataObjects();
299 #define _TOOL_EXCEPTION
308 #ifdef _TOOL_EXCEPTION
310 catch(
const std::exception &Exception)
324 _Synchronize_DataObjects();
333 if( bResult && bAddHistory )
335 _Set_Output_History();
365 _TL(
"execution time"), Time.
c_str()),
377 bResult ?
_TL(
"Execution succeeded") :
_TL(
"Execution failed"), Time.
c_str()),
403 bool CSG_Tool::_Synchronize_DataObjects(
void)
416 Parameters.DataObjects_Set_Projection(Projection);
434 Parameters.DataObjects_Get_Projection(Projection);
441 return( Projection.
is_Okay() );
499 pParameters->
Create(
this, Name, Description, Identifier);
501 pParameters->m_pTool =
this;
503 m_pParameters.
Add(pParameters);
505 return( pParameters );
545 return( pParameters ?
Dlg_Parameters(*pParameters, Caption) :
false );
603 pManager->
Delete(bDetachData);
656 m_bShow_Progress = bOn;
662 return(
Set_Progress((
double)Position / (
double)Range) );
668 return(
Set_Progress((
double)Position / (
double)Range) );
722 m_Execution_Info +=
"\n____\n" + Text;
733 m_bError_Ignore =
true;
751 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
752 va_start(argptr, _Format);
753 _s.PrintfV(_Format, argptr);
755 va_start(argptr, Format);
756 _s.PrintfV(Format, argptr);
776 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
777 va_start(argptr, _Format);
778 _s.PrintfV(_Format, argptr);
780 va_start(argptr, Format);
781 _s.PrintfV(Format, argptr);
825 else if(
Parameters(i)->is_DataObject_List() )
827 for(
int j=0; j<
Parameters(i)->asList()->Get_Item_Count(); j++)
865 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
866 va_start(argptr, _Format);
867 _s.PrintfV(_Format, argptr);
869 va_start(argptr, Format);
870 _s.PrintfV(Format, argptr);
890 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
891 va_start(argptr, _Format);
892 _s.PrintfV(_Format, argptr);
894 va_start(argptr, Format);
895 _s.PrintfV(Format, argptr);
912 m_Execution_Info +=
"\n";
915 m_Execution_Info += Text;
928 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
929 va_start(argptr, _Format);
930 _s.PrintfV(_Format, argptr);
932 va_start(argptr, Format);
933 _s.PrintfV(Format, argptr);
953 wxString _Format(Format); _Format.Replace(
"%s",
"%ls");
954 va_start(argptr, _Format);
955 _s.PrintfV(_Format, argptr);
957 va_start(argptr, Format);
958 _s.PrintfV(Format, argptr);
1027 if( pDataObject == pCopy )
1294 void CSG_Tool::_Update_Parameter_States(
CSG_Parameters *pParameters)
1298 for(
int i=0; i<pParameters->
Get_Count(); i++)
1356 Script +=
"@ECHO OFF\n\n";
1357 Script +=
"PUSHD %~dp0\n\n";
1358 Script +=
"REM SET SAGA_TLB=C:\\MyTools\n\n";
1360 Script +=
"REM Tool: " +
Get_Name() +
"\n\n";
1361 Script +=
"%SAGA_CMD%";
1365 Script +=
"#!/bin/bash\n\n";
1366 Script +=
"# export SAGA_TLB=/home/myhome/mytools\n\n";
1367 Script +=
"# tool: " +
Get_Name() +
"\n\n";
1368 Script +=
"saga_cmd";
1374 Script +=
"saga_cmd";
1383 ?
" \"" +
Get_ID () +
"\""
1390 _Get_Script_CMD(Script,
Get_Parameters(i), bAllParameters, Type);
1396 Script +=
"\n\nPAUSE\n";
1405 #define GET_ID1(p) (p->Get_Parameters()->Get_Identifier().Length() > 0 \
1406 ? CSG_String::Format("%s_%s", p->Get_Parameters()->Get_Identifier().c_str(), p->Get_Identifier()) \
1407 : CSG_String::Format(p->Get_Identifier())).c_str()
1409 #define GET_ID2(p, s) CSG_String::Format("%s_%s", GET_ID1(p), s).c_str()
1416 default : Prefix =
" \\\n -";
break;
1420 for(
int iParameter=0; iParameter<pParameters->
Get_Count(); iParameter++)
1516 default : ext =
"dat" ;
break;
1535 Script +=
"file(s)";
1542 for(
int iObject=1; iObject<p->
asList()->Get_Item_Count(); iObject++)
1565 CSG_String CSG_Tool::_Get_Script_CMD_Usage(
void)
1567 wxCmdLineParser Parser; Parser.SetSwitchChars(
"-");
1576 wxString Usage = wxString::Format(
"\nUsage: saga_cmd %s %s %s",
Get_Library().c_str(),
Get_ID().c_str(),
1586 void CSG_Tool::_Get_Script_CMD_Usage(
CSG_Parameters *pParameters, wxCmdLineParser &Parser)
1588 for(
int i=0; i<pParameters->
Get_Count(); i++)
1612 Description.Replace(
"\xb",
"");
1618 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_NEEDS_SEPARATOR|wxCMD_LINE_PARAM_OPTIONAL);
1627 _Get_Script_CMD_Usage(pParameter->
asParameters(), Parser);
1631 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1635 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL);
1643 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1648 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1652 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_DATE , wxCMD_LINE_PARAM_OPTIONAL);
1656 Parser.AddOption(ID +
"_MIN", wxEmptyString, Description, wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1657 Parser.AddOption(ID +
"_MAX", wxEmptyString, Description, wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1661 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1665 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1671 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1675 Parser.AddOption(ID, wxEmptyString, Description, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1681 Parser.AddOption(ID +
"_D" , wxEmptyString,
_TL(
"Cell Size" ), wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1682 Parser.AddOption(ID +
"_X" , wxEmptyString,
_TL(
"Lower Left Center Cell X-Coordinate"), wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1683 Parser.AddOption(ID +
"_Y" , wxEmptyString,
_TL(
"Lower Left Center Cell Y-Coordinate"), wxCMD_LINE_VAL_DOUBLE, wxCMD_LINE_PARAM_OPTIONAL);
1684 Parser.AddOption(ID +
"_NX" , wxEmptyString,
_TL(
"Number of Columns" ), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL);
1685 Parser.AddOption(ID +
"_NY" , wxEmptyString,
_TL(
"Number of Rows" ), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL);
1686 Parser.AddOption(ID +
"_FILE", wxEmptyString,
_TL(
"Grid File" ), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL);
1703 CSG_String CSG_Tool::_Get_Script_Python(
bool bHeader,
bool bAllParameters)
1707 Name.Replace(
" ",
"_");
1708 Name.Replace(
"(",
"");
1709 Name.Replace(
")",
"");
1710 Name.Replace(
"[",
"");
1711 Name.Replace(
"]",
"");
1712 Name.Replace(
".",
"");
1713 Name.Replace(
",",
"");
1714 Name.Replace(
"/",
"");
1715 Name.Replace(
"-",
"");
1720 Script +=
"#! /usr/bin/env python\n";
1722 Script +=
"#_________________________________________\n";
1723 Script +=
"##########################################\n";
1727 Script +=
"# Initialize the environment...\n";
1729 Script +=
"# Windows: Let the 'SAGA_PATH' environment variable point to\n";
1730 Script +=
"# the SAGA installation folder before importing 'saga_api'!\n";
1731 Script +=
"# This can be defined globally in the Windows system or\n";
1732 Script +=
"# user environment variable settings, in the 'PySAGA/__init__.py'\n";
1733 Script +=
"# file, or in the individual Python script itself. To do the latter\n";
1734 Script +=
"# just uncomment the following line and adjust the path accordingly:\n";
1735 Script +=
"###import os; os.environ['SAGA_PATH'] = '" + AppPath +
"'\n";
1737 Script +=
"# Windows: The most convenient way to make PySAGA available to all your\n";
1738 Script +=
"# Python scripts is to copy the PySAGA folder to the 'Lib/site-packages/'\n";
1739 Script +=
"# folder of your Python installation. If don't want to do this or if you\n";
1740 Script +=
"# don't have the rights to do so, you can also copy it to the folder with\n";
1741 Script +=
"# the Python scripts in which you want to use PySAGA, or alternatively\n";
1742 Script +=
"# you can add the path containing the PySAGA folder (e.g. the path to your\n";
1743 Script +=
"# SAGA installation) to the PYTHONPATH environment variable. To do this\n";
1744 Script +=
"# from within your script you can also take the following command (just\n";
1745 Script +=
"# uncomment the following line and adjust the path accordingly):\n";
1746 Script +=
"###import sys; sys.path.insert(1, '" + AppPath +
"')\n";
1749 Script +=
"# Import saga_api from PySAGA:\n";
1750 Script +=
"from PySAGA import saga_api\n";
1753 Script +=
"#_________________________________________\n";
1754 Script +=
"##########################################\n";
1755 Script +=
"def Run_" + Name +
"(Results):\n";
1759 if( bHeader ) Script +=
" # Get the tool:\n";
1760 Script +=
" Tool = saga_api.SG_Get_Tool_Library_Manager().Get_Tool('" +
Get_Library() +
"', '" +
Get_ID() +
"')\n";
1761 Script +=
" if not Tool:\n";
1762 Script +=
" saga_api.SG_UI_Msg_Add_Error('Failed to request tool: " +
Get_Name() +
"')\n";
1763 Script +=
" return False\n";
1765 if( bHeader ) Script +=
" # Set the parameter interface:\n";
1766 Script +=
" Tool.Reset()\n";
1778 if( bHeader ) Script +=
" # Execute the tool:\n";
1779 Script +=
" if not Tool.Execute():\n";
1780 Script +=
" saga_api.SG_UI_Msg_Add_Error('failed to execute tool: ' + Tool.Get_Name().c_str())\n";
1781 Script +=
" return False\n";
1783 if( bHeader ) Script +=
" # Request the results:\n";
1801 default : type =
"" ; ext =
"" ;
break;
1806 Script +=
" Data = Tool.Get_Parameter('" +
id +
"').as" + type +
"()\n";
1810 Script +=
" Data.Save('{:s}/{:s}.{:s}'.format(Results, Data.Get_Name(), '" + ext +
"'))\n\n";
1815 Script +=
" List = Tool.Get_Parameter('" +
id +
"').as" + type +
"List()\n";
1816 Script +=
" for i in range(0, List.Get_Item_Count()):\n";
1820 Script +=
" List.Get_Item(i).Save('{:s}/{:s}_{:d}.{:s}'.format(Results, List.Get_Name(), i, '" + ext +
"'))\n\n";
1824 Script +=
" Data = List.Get_Item(i)\n";
1833 Script +=
" # job is done, free memory resources:\n";
1834 Script +=
" saga_api.SG_Get_Data_Manager().Delete_All()\n";
1836 Script +=
" return True\n";
1839 Script +=
"#_________________________________________\n";
1840 Script +=
"##########################################\n";
1841 Script +=
"print('This is a simple template for using a SAGA tool through Python.')\n";
1842 Script +=
"print('Please edit the script to make it work properly before using it!')\n";
1844 Script +=
"# Run_" + Name +
"('.')\n";
1853 for(
int iParameter=0; iParameter<pParameters->
Get_Count(); iParameter++)
1866 ID.Prepend(Prefix +
".");
1921 Script +=
CSG_String::Format(
" Tool.Set_Parameter('%s', saga_api.SG_Create_Table('table.txt'))\n", ID.c_str());
1927 Script +=
CSG_String::Format(
" Tool.Set_Parameter('%s', saga_api.CSG_Grid_System(%g, %g, %g, %d, %d))\n", ID.c_str(),
1943 Script +=
CSG_String::Format(
" Tool.Set_Parameter('%s', saga_api.SG_Get_Data_Manager().Add('%s input file%s'))\n", ID.c_str(),
1949 Script +=
CSG_String::Format(
" Tool.Set_Parameter('%s', saga_api.SG_Get_Create_Pointer()) # optional output, remove this line, if you don't want to create it\n", ID.c_str());
1961 Script +=
CSG_String::Format(
" Tool.Get_Parameter('%s').asList().Add_Item('%s input list%s')\n", ID.c_str(),
1968 _Get_Script_Python(Script, p->
asParameters(), bAllParameters, ID);
1980 CSG_String CSG_Tool::_Get_Script_Python_Wrap(
bool bHeader,
bool bName,
bool bCall,
bool bOnlyNonDefaults)
1986 _Get_Script_Python_Wrap(
Parameters[i],
PARAMETER_INPUT , Arguments, Description, Code, bCall && bHeader, bOnlyNonDefaults);
2001 _Get_Script_Python_Wrap(
Parameters[i], 0 , Arguments, Description, Code, bCall && bHeader, bOnlyNonDefaults);
2011 if( isdigit(Name[0]) )
2042 Script +=
"from PySAGA.tools import " +
Get_Library() +
"\n\n";
2046 Script += Code +
"\n";
2049 Script +=
Get_Library() +
'.' + Name +
"(" + Arguments +
")\n";
2055 Script +=
"#! /usr/bin/env python\n";
2056 Script +=
"from PySAGA.helper import Tool_Wrapper\n\n";
2059 Script +=
"def " + Name +
"(" + Arguments +
", Verbose=2):\n";
2062 Script +=
" ----------\n";
2064 for(
int i=0; i<_Description.
Get_Count(); i++)
2066 _Description[i].Trim_Both(); Script +=
" " + _Description[i] +
"\\n\n";
2068 Script +=
" Arguments\n";
2069 Script +=
" ----------\n";
2070 Script += Description +
"\n";
2071 Script +=
" - Verbose [`integer number`] : Verbosity level, 0=silent, 1=tool name and success notification, 2=complete tool output.\\n\n";
2072 Script +=
" Returns\n";
2073 Script +=
" ----------\n";
2074 Script +=
" `boolean` : `True` on success, `False` on failure.\n";
2076 Script +=
" Tool = Tool_Wrapper('" +
Get_Library() +
"', '" +
Get_ID() +
"', '" + Expected +
"')\n";
2077 Script +=
" if Tool.is_Okay():\n";
2079 Script +=
" return Tool.Execute(Verbose)\n";
2080 Script +=
" return False\n\n";
2107 ID.Prepend(Prefix +
".");
2112 if( Argument[0] >=
'0' && Argument[0] <=
'9' )
2114 Argument.Prepend(
'_');
2117 Argument.Replace(
".",
"_");
2118 Argument.Replace(
"|",
"_");
2119 Argument.Replace(
" ",
"_");
2121 if( Argument.Length() > 2 )
2123 Argument.Make_Upper();
2129 bool bResult =
false;
2131 for(
int i=0; i<(*Parameter.
asParameters()).Get_Count(); i++)
2133 if( _Get_Script_Python_Wrap((*Parameter.
asParameters())[i], Constraint, Arguments, Description, Code, bCall, bOnlyNonDefaults, ID) )
2146 if( Parameter.
is_Option() && Constraint != 0 ) {
return(
false ); }
2166 ); File.Replace(
"\\",
"/");
2200 if( bOnlyNonDefaults && Parameter.
is_Default() )
2227 default :
return(
false );
2238 Arguments += Argument +
"=" + Value;
2250 Arguments += Argument +
"=None";
2255 if( Parameter.
is_Input () ) { Code +=
"Tool.Set_Input "; }
2256 if( Parameter.
is_Output() ) { Code +=
"Tool.Set_Output"; }
2257 if( Parameter.
is_Option() ) { Code +=
"Tool.Set_Option"; }
2262 Description +=
" - " + Argument +
" [`";
2266 Description += Parameter.
is_Optional() ?
"optional input " :
"input ";
2270 Description +=
"output ";
2279 Description +=
". " + s;
2282 Description +=
"\n";
2326 void CSG_Tool::_Set_Output_History(
void)
2335 for(
int i=0; i<pParameters->
Get_Count(); i++)
2360 History = _Get_Output_History();
2362 pHistory = &History;
2394 for(
int j=0; j<pParameter->
asList()->Get_Item_Count(); j++)
virtual bool Set_Value(int Value)
const CSG_String & Get_Description(void) const
CSG_Parameter * Get_Parameter(int i) const
@ PARAMETER_TYPE_FilePath
CSG_Grid_System * Get_Grid_System(void) const
int Printf(const char *Format,...)
double Get_Cellsize(void) const
CSG_String & Make_Lower(void)
bool SG_UI_DataObject_Params_Set(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
@ PARAMETER_TYPE_Table_Fields
CSG_MetaData & Get_History(void)
SAGA_API_DLL_EXPORT CSG_String SG_HTML_Tag_Replacer(const CSG_String &Text)
bool SG_UI_Dlg_Continue(const CSG_String &Message, const CSG_String &Caption)
static CSG_DateTime Now(void)
double Get_Max(void) const
int Get_Hours(void) const
bool Set_Grid_System(const CSG_Grid_System &System)
bool Reset_Grid_System(void)
const SG_Char * Get_Identifier(void) const
class CSG_Data_Manager * Get_Manager(void) const
CSG_String Get_Type_Name(void) const
const SG_Char * asString(void) const
double Get_XMin(bool bCells=false) const
@ SG_UI_MSG_STYLE_SUCCESS
@ PARAMETER_TYPE_Grids_List
CSG_String SG_UI_Get_Application_Name(void)
CSG_String SG_Get_DataObject_Name(TSG_Data_Object_Type Type)
CSG_Data_Object * Get_Item(int Index) const
void SG_UI_Msg_Add_Execution(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
bool SG_UI_Process_Get_Okay(bool bBlink)
bool SG_UI_Process_Set_Okay(bool bOkay)
bool is_Input(void) const
bool is_Managed(void) const
bool SG_UI_Stop_Execution(bool bDialog)
sLong Get_Milliseconds(void) const
const SG_Char * Get_Name(void) const
const SG_Char * Get_Description(void) const
CSG_Data_Manager & SG_Get_Data_Manager(void)
bool Cmp_Identifier(const CSG_String &Identifier) const
@ SG_DATAOBJECT_TYPE_Grids
bool do_UseInCMD(void) const
@ PARAMETER_TYPE_FixedTable
CSG_Data_Object * asDataObject(void) const
@ PARAMETER_TYPE_PointCloud
CSG_String & Prepend(const CSG_String &String)
bool Push(class CSG_Data_Manager *pManager=NULL, bool bRestoreDefaults=true)
size_t Replace(const CSG_String &sOld, const CSG_String &sNew, bool bReplaceAll=true)
CSG_Parameters * Get_Parameters(void) const
int Cmp(const CSG_String &String) const
#define PARAMETER_INPUT_OPTIONAL
bool Msg_String(bool bOptionsOnly)
@ PARAMETER_TYPE_Shapes_List
virtual TSG_Parameter_Type Get_Type(void) const =0
@ SG_UI_MSG_STYLE_FAILURE
@ SG_UI_DATAOBJECT_UPDATE
bool is_DataObject_List(void) const
@ PARAMETER_TYPE_Data_Type
virtual bool Del_Items(void)
SAGA_API_DLL_EXPORT bool SG_File_Exists(const CSG_String &FileName)
void Set_Name(const CSG_String &Name)
void SG_UI_Dlg_Message(const CSG_String &Message, const CSG_String &Caption)
CSG_String Format(const CSG_String &format="") const
int Get_Count(void) const
bool Restore_Defaults(bool bClearData=false)
@ PARAMETER_TYPE_Table_Field
bool is_Enabled(bool bCheckEnv=true) const
class CSG_Parameters * asParameters(void) const
bool SG_UI_Dlg_Parameters(CSG_Parameters *pParameters, const CSG_String &Caption)
class CSG_Tool * Get_Tool(void) const
bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
void Add_Reference(const CSG_String &Authors, const CSG_String &Year, const CSG_String &Title, const CSG_String &Where, const SG_Char *Link=NULL, const SG_Char *Link_Text=NULL)
bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
bool SG_UI_DataObject_Colors_Set(CSG_Data_Object *pDataObject, CSG_Colors *pColors)
#define PARAMETER_DESCRIPTION_TYPE
void SG_UI_Process_Set_Text(const CSG_String &Text)
CSG_String Get_CmdID(void) const
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)
const SG_Char * Get_File_Name(bool bNative=true) const
CSG_String SG_Color_To_Text(long Color, bool bHexadecimal)
const CSG_Strings & Get_References(void) const
@ PARAMETER_TYPE_Grid_List
bool Delete(CSG_Data_Object *pObject, bool bDetach=false)
bool is_Optional(void) const
bool Create(const CSG_Parameters &Parameters)
@ SG_DATAOBJECT_TYPE_Grid
bool Del_Parameter(int i)
CSG_Data_Object * Add(CSG_Data_Object *pObject)
bool is_Output(void) const
static CSG_String Format(const char *Format,...)
int Get_Minutes(void) const
int Get_Item_Count(void) const
bool SG_UI_DataObject_Colors_Get(CSG_Data_Object *pDataObject, CSG_Colors *pColors)
int SG_UI_Dlg_Error(const CSG_String &Message, const CSG_String &Caption)
@ SG_DATAOBJECT_TYPE_Shapes
CSG_String AfterFirst(char Character) const
int Get_Children_Count(void) const
bool is_DataObject(void) const
bool SG_UI_DataObject_Params_Get(CSG_Data_Object *pDataObject, CSG_Parameters *pParameters)
sLong Get_Seconds(void) const
void Set_Description(const CSG_String &Description)
bool Contains(const CSG_String &String) const
@ SG_UI_DATAOBJECT_SHOW_MAP
void Set_Tool(class CSG_Tool *pTool)
CSG_String SG_UI_Get_Application_Path(bool bPathOnly)
@ SG_DATAOBJECT_TYPE_Table
int SG_Get_History_Depth(void)
bool is_Empty(void) const
bool SG_UI_Process_Set_Progress(int Position, int Range)
#define PARAMETER_DESCRIPTION_TEXT
double asDouble(void) const
@ PARAMETER_TYPE_Grid_System
@ PARAMETER_TYPE_PointCloud_List
@ PARAMETER_TYPE_Table_List
class CSG_Parameter_Range * asRange(void) const
void Set_Manager(class CSG_Data_Manager *pManager)
@ PARAMETER_TYPE_DataObject_Output
bool Set_Parameter(const CSG_String &ID, CSG_Parameter *pValue)
#define PARAMETER_DESCRIPTION_PROPERTIES
#define PARAMETER_CHECK_VALUES
const CSG_String & Get_Name(void) const
const SG_Char * c_str(void) const
TSG_PFNC_Parameter_Changed Set_Callback_On_Parameter_Changed(TSG_PFNC_Parameter_Changed pCallback)
bool SG_UI_Process_Set_Ready(void)
int Get_Count(void) const
#define PARAMETER_CHECK_ENABLE
TSG_Data_Object_Type Get_DataObject_Type(void) const
double Get_Min(void) const
void SG_UI_Msg_Add_Error(const char *Message)
bool Cmp_Identifier(const CSG_String &Identifier) const
CSG_Grid_System * asGrid_System(void) const
const SG_Char * Get_Name(void) const
virtual bool is_Default(void) const
bool is_Option(void) const
@ PARAMETER_TYPE_TIN_List
double Get_YMin(bool bCells=false) const
@ PARAMETER_TYPE_Parameters
class CSG_Parameter_List * asList(void) const
CSG_String SG_Get_DataObject_Class_Name(TSG_Data_Object_Type Type)
@ SG_DATAOBJECT_TYPE_PointCloud
bool Set_History(CSG_MetaData &History, bool bOptions=true, bool bDataObjects=true)
bool Set_Callback(bool bActive=true)
bool is_Information(void) const
#define PARAMETER_DESCRIPTION_NAME
CSG_String Get_Type_Identifier(void) const
void SG_UI_Msg_Add(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
#define DATAOBJECT_NOTSET