66 m_pParameters = pParameters;
68 m_Identifier = Identifier;
70 m_Description = Description;
71 m_Constraint = Constraint;
81 m_pParent->_Add_Child(
this);
102 return( m_pParameters );
114 return( m_pParameters ? m_pParameters->Get_Manager() : NULL );
213 if( m_bEnabled != bEnabled )
215 m_bEnabled = bEnabled;
239 return( m_bEnabled && (m_pParent == NULL || m_pParent->is_Enabled()) );
564 return( m_Identifier );
570 return( !m_Identifier.Cmp(Identifier) || !m_Identifier.Cmp(Identifier +
".Default") );
612 m_Description = Description;
619 return( m_Description );
631 #define SEPARATE if( !s.is_Empty() ) { s.Append(Separator); }
633 if( !Separator || !Separator[0] )
784 if( !m_Default.is_Empty() )
921 return( m_pParameters && m_pParameters->_On_Parameter_Changed(
this, Check_Flags) );
938 m_Default.Printf(
"%d", Value);
946 m_Default.Printf(
"%f", Value);
968 return( m_Default.Cmp(
asString()) == 0 );
993 if( m_pParameters->Get_Manager() )
995 bool bExists =
false;
CSG_Data_Manager &Manager = *m_pParameters->Get_Manager();
997 for(
size_t i=0; !bExists && i<Manager.
Grid ().Count(); i++)
1002 for(
size_t i=0; !bExists && i<Manager.
Grids().Count(); i++)
1007 if( bExists ==
false )
1021 if( m_pParameters->Get_Manager() && !m_pParameters->Get_Manager()->Exists(
asDataObject()) )
1033 for(
int j=
asList()->Get_Item_Count()-1; j>=0; j--)
1037 if( !pDataObject || (m_pParameters->Get_Manager() && !m_pParameters->Get_Manager()->Exists(pDataObject)) )
1187 m_Children[m_nChildren++] = pChild;
1200 m_bEnabled = pSource->m_bEnabled;
1201 m_Default = pSource->m_Default;
1281 m_pParameters = &Parameters;
1283 Parameters.
Add_String(ParentID,
"CRS_STRING",
_TL(
"Coordinate System Definition"),
1284 _TL(
"Supported formats comprise PROJ and WKT strings, object codes (e.g. \"EPSG:4326\")."),
""
1298 if( !m_pParameters || !m_pParameters->has_GUI() || m_pCRS )
1310 m_pCRS->
Set_Parameter(
"CRS_STRING", (*m_pParameters)[
"CRS_STRING"].asString());
1312 m_pParameters->Add_Parameters((*m_pParameters)(
"CRS_STRING")->Get_Parent(),
1313 "CRS_PICKER",
_TL(
"Coordinate Reference System"),
_TL(
"")
1314 )->asParameters()->Create(*m_pCRS->Get_Parameters());
1324 m_pParameters->Del_Parameter(
"CRS_PICKER");
1366 if(
Projection.Create((*m_pParameters)[
"CRS_STRING"].asString()) )
1394 m_pParameters = NULL;
1405 if( pParameters == NULL )
1410 m_pParameters = pParameters;
1414 CSG_String TargetID(m_Prefix +
"DEFINITION");
1416 m_pParameters->Add_Choice(
1417 ParentID, TargetID,
_TL(
"Target Grid System"),
1420 _TL(
"user defined"),
1421 _TL(
"grid or grid system")
1426 m_pParameters->Add_Double(TargetID, m_Prefix +
"USER_SIZE",
_TL(
"Cellsize"),
_TL(
""), 1., 0.,
true);
1427 m_pParameters->Add_Double(TargetID, m_Prefix +
"USER_XMIN",
_TL(
"West" ),
_TL(
""), 0.);
1428 m_pParameters->Add_Double(TargetID, m_Prefix +
"USER_XMAX",
_TL(
"East" ),
_TL(
""), 100.);
1429 m_pParameters->Add_Double(TargetID, m_Prefix +
"USER_YMIN",
_TL(
"South" ),
_TL(
""), 0.);
1430 m_pParameters->Add_Double(TargetID, m_Prefix +
"USER_YMAX",
_TL(
"North" ),
_TL(
""), 100.);
1431 m_pParameters->Add_Int (TargetID, m_Prefix +
"USER_COLS",
_TL(
"Columns" ),
_TL(
"Number of cells in East-West direction." ), 101, 1,
true);
1432 m_pParameters->Add_Int (TargetID, m_Prefix +
"USER_ROWS",
_TL(
"Rows" ),
_TL(
"Number of cells in North-South direction."), 101, 1,
true);
1433 m_pParameters->Add_Bool (TargetID, m_Prefix +
"USER_FLAT",
_TL(
"Rounding"),
_TL(
"Round bounding coordinates to multiples of cell size. Ignored if cell size has decimal places."),
true);
1434 m_pParameters->Add_Choice(TargetID, m_Prefix +
"USER_FITS",
_TL(
"Fit" ),
_TL(
""),
1442 m_pParameters->Add_Grid_System(TargetID, m_Prefix +
"SYSTEM",
_TL(
"Grid System"),
_TL(
""));
1444 m_pParameters->Add_Grid(m_Prefix +
"SYSTEM", m_Prefix +
"TEMPLATE",
_TL(
"Target System"),
1446 )->Set_UseInGUI(
false);
1449 if( bAddDefaultGrid )
1451 Add_Grid(m_Prefix +
"OUT_GRID",
_TL(
"Target Grid"),
false);
1473 if( !pParameters || !pParameter )
1491 CSG_Parameter *pSize = (*pParameters)(Prefix +
"USER_SIZE");
1492 CSG_Parameter *pXMin = (*pParameters)(Prefix +
"USER_XMIN");
1493 CSG_Parameter *pXMax = (*pParameters)(Prefix +
"USER_XMAX");
1494 CSG_Parameter *pYMin = (*pParameters)(Prefix +
"USER_YMIN");
1495 CSG_Parameter *pYMax = (*pParameters)(Prefix +
"USER_YMAX");
1496 CSG_Parameter *pRows = (*pParameters)(Prefix +
"USER_ROWS");
1497 CSG_Parameter *pCols = (*pParameters)(Prefix +
"USER_COLS");
1498 CSG_Parameter *pFlat = (*pParameters)(Prefix +
"USER_FLAT");
1499 CSG_Parameter *pFits = (*pParameters)(Prefix +
"USER_FITS");
1503 double xMin = pXMin->asDouble(), xMax = pXMax->asDouble();
1504 double yMin = pYMin->asDouble(), yMax = pYMax->asDouble();
1507 bool bChanged =
true;
1511 if( pFits->asInt() == 0 )
1513 xMin += 0.5 * Size; xMax -= 0.5 * Size;
1514 yMin += 0.5 * Size; yMax -= 0.5 * Size;
1519 if( pFits->asInt() == 1 )
1521 xMin += 0.5 * Size; xMax -= 0.5 * Size;
1522 yMin += 0.5 * Size; yMax -= 0.5 * Size;
1527 xMax = xMin + Size * (int)(0.5 + (xMax - xMin) / Size);
1528 yMax = yMin + Size * (int)(0.5 + (yMax - yMin) / Size);
1530 else if( pParameter->
Cmp_Identifier(pCols->Get_Identifier()) && pCols->asInt() > 0 )
1532 xMax = xMin + Size * (pCols->asInt() - 1);
1536 xMax = xMin + Size * (xMin > xMax ? (pCols->asInt() - 1) : (
int)(0.5 + (xMax - xMin) / Size));
1540 xMin = xMax - Size * (xMin > xMax ? (pCols->asInt() - 1) : (
int)(0.5 + (xMax - xMin) / Size));
1542 else if( pParameter->
Cmp_Identifier(pRows->Get_Identifier()) && pRows->asInt() > 0 )
1544 yMax = yMin + Size * (pRows->asInt() - 1);
1548 yMax = yMin + Size * (yMin > yMax ? (pRows->asInt() - 1) : (
int)(0.5 + (yMax - yMin) / Size));
1552 yMin = yMax - Size * (yMin > yMax ? (pRows->asInt() - 1) : (
int)(0.5 + (yMax - yMin) / Size));
1556 bChanged = pFlat->asBool();
1570 xMin = floor(xMin / Size) * Size; xMax = ceil(xMax / Size) * Size;
1571 yMin = floor(yMin / Size) * Size; yMax = ceil(yMax / Size) * Size;
1574 pCols->Set_Value(1 + (
int)((xMax - xMin) / Size));
1575 pRows->Set_Value(1 + (
int)((yMax - yMin) / Size));
1577 if( pFits->asInt() == 1 )
1579 xMin -= 0.5 * Size; xMax += 0.5 * Size;
1580 yMin -= 0.5 * Size; yMax += 0.5 * Size;
1583 pXMin->Set_Value(xMin);
1584 pXMax->Set_Value(xMax);
1585 pYMin->Set_Value(yMin);
1586 pYMax->Set_Value(yMax);
1592 CSG_Parameter *pZSize = (*pParameters)(Prefix +
"USER_ZSIZE");
1593 CSG_Parameter *pZMin = (*pParameters)(Prefix +
"USER_ZMIN" );
1594 CSG_Parameter *pZMax = (*pParameters)(Prefix +
"USER_ZMAX" );
1595 CSG_Parameter *pZNum = (*pParameters)(Prefix +
"USER_ZNUM" );
1597 if( pZSize && pZMin && pZMax && pZNum )
1599 double zSize = pZSize->
asDouble(), zMin = pZMin ->asDouble(), zMax = pZMax ->asDouble();
1605 zMax = zMin + zSize * (int)(0.5 + (zMax - zMin) / zSize);
1607 else if( pParameter->
Cmp_Identifier(pZNum->Get_Identifier()) && pZNum->asInt() > 0 )
1609 zMax = zMin + zSize * pZNum->asInt();
1613 zMax = zMin + zSize * (zMin > zMax ? pZNum->asInt() : (
int)(0.5 + (zMax - zMin) / zSize));
1617 zMin = zMax - zSize * (zMin > zMax ? pZNum->asInt() : (
int)(0.5 + (zMax - zMin) / zSize));
1626 pZNum->Set_Value(1 + (
int)((zMax - zMin) / zSize));
1628 pZMin->Set_Value(zMin);
1629 pZMax->Set_Value(zMax);
1647 if( !pParameter || !pParameters || !(pParameter = (*pParameters)(Prefix +
"DEFINITION")) )
1686 if( !m_pParameters->Get_Tool() || !m_pParameters->Get_Tool()->has_GUI() )
1688 pParameters = m_pParameters;
1696 if( Rows < 1 && (Rows = (*m_pParameters)(m_Prefix +
"USER_ROWS")->asInt()) < 1 )
1720 int Cols = 1 + (int)(0.5 + r.
Get_XRange() / Size);
1734 if( (*pParameters)(m_Prefix +
"USER_FLAT")->asBool() && !
M_HAS_DECIMALS(Size) )
1741 if( (*pParameters)(m_Prefix +
"USER_FITS")->asInt() == 1 )
1775 double Size = sqrt(r.
Get_Area() / pPoints->
Get_Count()) / (Scale > 1 ? Scale : 1);
1777 if( Size >= 1. && Rounding > 0 )
1781 r.
xMin = Size * floor(r.
xMin / Size);
1782 r.
xMax = Size * ceil (r.
xMax / Size);
1783 r.
yMin = Size * floor(r.
yMin / Size);
1784 r.
yMax = Size * ceil (r.
yMax / Size);
1787 int Rows = 1 + (int)(0.5 + r.
Get_YRange() / Size);
1816 if( !m_pParameters->Get_Tool()->has_GUI() )
1818 pParameters = m_pParameters;
1834 double z = zMin; zMin = zMax; zMax = z;
1837 if( zMax - zMin <= 0. )
1839 zMin -= 0.5 * nLevels;
1840 zMax += 0.5 * nLevels;
1844 double Size = (zMax - zMin) / (nLevels - 1.);
1850 zMin = Size * floor(zMin / Size);
1851 zMax = Size * ceil (zMax / Size);
1855 if( (*pParameters)(m_Prefix +
"USER_FITS")->asInt() == 1 )
1866 pParameters->
Set_Parameter(m_Prefix +
"USER_ZNUM" , nLevels);
1881 if( !m_pParameters || Identifier.
Length() == 0 || (*m_pParameters)(Identifier) != NULL )
1886 CSG_Parameter *pTarget = (*m_pParameters)(m_Prefix +
"DEFINITION");
1899 if( bOptional && m_pParameters->Get_Tool()->has_GUI() )
1901 CSG_Parameter *pNode = (*m_pParameters)(m_Prefix +
"USER_OPTS");
1905 pNode = m_pParameters->Add_Node(pTarget->
Get_Identifier(), m_Prefix +
"USER_OPTS",
_TL(
"Optional Target Grids"),
_TL(
""));
1908 m_pParameters->Add_Bool(pNode->
Get_Identifier(), Identifier +
"_CREATE", Name,
_TL(
""),
false);
1917 if( !m_pParameters || Identifier.
Length() == 0 || (*m_pParameters)(Identifier) != NULL )
1922 CSG_Parameter *pTarget = (*m_pParameters)(m_Prefix +
"DEFINITION");
1935 if( bOptional && m_pParameters->Get_Tool()->has_GUI() )
1937 CSG_Parameter *pNode = (*m_pParameters)(m_Prefix +
"USER_OPTS");
1941 pNode = m_pParameters->Add_Node(pTarget->
Get_Identifier(), m_Prefix +
"USER_OPTS",
_TL(
"Optional Target Grids"),
_TL(
""));
1944 m_pParameters->Add_Bool(pNode->
Get_Identifier(), Identifier +
"_CREATE", Name,
_TL(
""),
false);
1949 pTarget = m_pParameters->Add_Node(pTarget,
"USER_Z",
_TL(
"Z Levels"),
_TL(
""));
1951 m_pParameters->Add_Double(pTarget, m_Prefix +
"USER_ZSIZE",
_TL(
"Cellsize"),
_TL(
""), 1., 0.,
true);
1952 m_pParameters->Add_Double(pTarget, m_Prefix +
"USER_ZMIN" ,
_TL(
"Bottom" ),
_TL(
""), 0.);
1953 m_pParameters->Add_Double(pTarget, m_Prefix +
"USER_ZMAX" ,
_TL(
"Top" ),
_TL(
""), 100.);
1954 m_pParameters->Add_Int (pTarget, m_Prefix +
"USER_ZNUM" ,
_TL(
"Levels" ),
_TL(
""), 101, 1,
true);
1976 if( pParameters && (*pParameters)(m_Prefix +
"DEFINITION") )
1978 if( (*pParameters)(m_Prefix +
"DEFINITION")->asInt() == 0 )
1980 if( (*pParameters)(m_Prefix +
"USER_SIZE")
1981 && (*pParameters)(m_Prefix +
"USER_XMIN")
1982 && (*pParameters)(m_Prefix +
"USER_YMIN")
1983 && (*pParameters)(m_Prefix +
"USER_XMAX")
1984 && (*pParameters)(m_Prefix +
"USER_YMAX")
1985 && (*pParameters)(m_Prefix +
"USER_FITS") )
1987 double Size = (*pParameters)(m_Prefix +
"USER_SIZE")->asDouble();
1990 (*pParameters)(m_Prefix +
"USER_XMIN")->asDouble(),
1991 (*pParameters)(m_Prefix +
"USER_YMIN")->asDouble(),
1992 (*pParameters)(m_Prefix +
"USER_XMAX")->asDouble(),
1993 (*pParameters)(m_Prefix +
"USER_YMAX")->asDouble()
1996 if( (*pParameters)(m_Prefix +
"USER_FITS")->asInt() == 1 )
2004 else if( (*pParameters)(m_Prefix +
"SYSTEM") )
2006 CSG_Parameter *pParameter = (*pParameters)(m_Prefix +
"SYSTEM");
2021 if( !m_pParameters )
2049 if( (*m_pParameters)(m_Prefix +
"DEFINITION")->asInt() == 0 && m_pParameters->Get_Tool()->has_GUI() )
2051 if( (*m_pParameters)(Identifier +
"_CREATE") == NULL
2052 || (*m_pParameters)(Identifier +
"_CREATE")->asBool() )
2059 pGrid = pParameter->
asGrid();
2067 pGrid->
Create(System, Type);
2073 if( pGrid != pParameter->
asGrid() )
2078 if( m_pParameters->Get_Manager() )
2080 m_pParameters->Get_Manager()->Add(pGrid);
2100 return(
Get_Grid(m_Prefix +
"OUT_GRID", Type) );
2106 if( !m_pParameters )
2134 if( (*m_pParameters)(m_Prefix +
"DEFINITION")->asInt() == 0 && m_pParameters->Get_Tool()->has_GUI() )
2136 if( (*m_pParameters)(Identifier +
"_CREATE") == NULL
2137 || (*m_pParameters)(Identifier +
"_CREATE")->asBool() )
2144 pGrids = pParameter->
asGrids();
2152 pGrids->
Create(System, 0, 0., Type);
2156 if( pGrids && pGrids != pParameter->
asGrids() )
2160 if( m_pParameters->Get_Manager() )
2162 m_pParameters->Get_Manager()->Add(pGrids);
2173 && (*m_pParameters)(m_Prefix +
"USER_ZSIZE")
2174 && (*m_pParameters)(m_Prefix +
"USER_ZMIN" )
2175 && (*m_pParameters)(m_Prefix +
"USER_ZNUM" ) )
2177 int nz = (*m_pParameters)(m_Prefix +
"USER_ZNUM" )->asInt ();
2178 double z = (*m_pParameters)(m_Prefix +
"USER_ZMIN" )->asDouble();
2179 double dz = (*m_pParameters)(m_Prefix +
"USER_ZSIZE")->asDouble();
2183 for(
int iz=0; iz<nz; iz++, z+=dz)
2195 return(
Get_Grids(m_Prefix +
"OUT_GRIDS", Type) );
bool SG_UI_DataObject_Add(CSG_Data_Object *pDataObject, int Show)
void SG_UI_Msg_Add_Execution(const char *Message, bool bNewLine, TSG_UI_MSG_STYLE Style)
CSG_String SG_Data_Type_Get_Name(TSG_Data_Type Type, bool bShort)
SAGA_API_DLL_EXPORT void SG_Free(void *memblock)
SAGA_API_DLL_EXPORT void * SG_Realloc(void *memblock, size_t size)
@ SG_UI_DATAOBJECT_UPDATE
#define SG_STR_CMP(s1, s2)
long Get_Color(int Index) const
int Get_Count(void) const
CSG_Data_Collection & Grid(void) const
CSG_Data_Collection & Grids(void) const
virtual TSG_Data_Object_Type Get_ObjectType(void) const =0
Returns the object type as defined by TSG_Data_Object_Type. Used for run time type checking.
bool is_Equal(const CSG_Grid_System &System) const
bool Assign(const CSG_Grid_System &System)
const CSG_Rect & Get_Extent(bool bCells=false) const
bool Create(const CSG_Grid_System &System, int Precision=-1)
bool is_Valid(void) const
bool Create(const CSG_Grid &Grid)
const CSG_Grid_System & Get_System(void) const
TSG_Data_Type Get_Type(void) const
TSG_Data_Type Get_Type(void) const
bool Del_Grids(bool bDetach=false)
const CSG_Grid_System & Get_System(void) const
virtual bool Create(const CSG_Grids &Grids)
const SG_Char * Get_Item(int Index) const
int Get_Count(void) const
int Get_Selection_Count(void) const
int Get_Item_Count(void) const
const CSG_String & Get_Item(int i) const
int Get_Selection_Index(int i) const
virtual bool Update_Data(void)
virtual bool Del_Item(CSG_Data_Object *pItem, bool bUpdateData=true)
CSG_Data_Object * Get_Item(int Index) const
int Get_Item_Count(void) const
double Get_Max(void) const
double Get_Min(void) const
CSG_String Get_CmdID(void) const
const SG_Char * Get_Identifier(void) const
class CSG_Parameter_Table_List * asTableList(void) const
bool is_DataObject(void) const
virtual bool _Serialize(CSG_MetaData &MetaData, bool bSave)
CSG_Parameter(CSG_Parameters *pOwner, CSG_Parameter *pParent, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
class CSG_Parameters * asParameters(void) const
bool Check(bool bSilent=true)
void Set_UseInGUI(bool bOn=false)
CSG_Grid_Resampling asGrid_Resampling(void) const
const SG_Char * asFont(void) const
bool is_Value_Equal(CSG_Parameter *pParameter) const
bool Set_Name(const CSG_String &Name)
bool Assign(CSG_Parameter *pSource)
class CSG_Parameter_TIN_List * asTINList(void) const
bool is_Compatible(CSG_Parameter *pParameter) const
class CSG_Parameter_PointCloud_List * asPointCloudList(void) const
void * asPointer(void) const
CSG_Grids * asGrids(void) const
class CSG_Parameter_Table_Fields * asTableFields(void) const
virtual bool _Assign(CSG_Parameter *pSource)
bool is_Parameters(void) const
virtual int _Set_Value(int Value)
CSG_String Get_Type_Identifier(void) const
friend class CSG_Parameters
class CSG_Parameter_Shapes_List * asShapesList(void) const
CSG_String Get_Type_Name(void) const
class CSG_Parameter_Grids_List * asGridsList(void) const
bool Set_Default(int Value)
virtual const SG_Char * _asString(void) const
bool Set_Collapsed(bool bOn=true)
bool Set_Children_Enabled(bool bEnabled=true)
CSG_PointCloud * asPointCloud(void) const
bool Set_Enabled(bool bEnabled=true)
bool is_Optional(void) const
TSG_Data_Object_Type Get_DataObject_Type(void) const
bool Set_Description(const CSG_String &Description)
virtual int _asInt(void) const
bool Serialize(CSG_MetaData &MetaData, bool bSave)
virtual ~CSG_Parameter(void)
int Get_Children_Count(void) const
class CSG_Parameter_Choice * asChoice(void) const
bool ignore_Projection(void) const
class CSG_Parameter_Value * asValue(void) const
double asDouble(void) const
CSG_Parameter * Get_Parent(void) const
virtual TSG_Parameter_Type Get_Type(void) const =0
class CSG_Parameter_Data_Type * asDataType(void) const
bool is_Input(void) const
CSG_TIN * asTIN(void) const
CSG_Parameters * Get_Parameters(void) const
virtual bool Toggle_Value(void)
bool is_Serializable(void) const
const SG_Char * Get_Name(void) const
class CSG_Parameter_Choices * asChoices(void) const
void Set_UseInCMD(bool bOn=false)
virtual void _Set_String(void)
CSG_Colors * asColors(void) const
bool is_Enabled(bool bCheckEnv=true) const
bool is_Option(void) const
virtual double _asDouble(void) const
CSG_Grid * asGrid(void) const
virtual bool Set_Value(int Value)
class CSG_Parameter_List * asList(void) const
CSG_Grid_System * asGrid_System(void) const
class CSG_Parameter_Grid_List * asGridList(void) const
CSG_Data_Object * asDataObject(void) const
class CSG_Parameter_Range * asRange(void) const
class CSG_Parameter_Date * asDate(void) const
CSG_Parameter * Get_Child(int iChild) const
bool is_Output(void) const
bool has_Changed(int Check_Flags=PARAMETER_CHECK_ALL)
class CSG_Parameter_File_Name * asFilePath(void) const
virtual void * _asPointer(void) const
virtual bool is_Default(void) const
CSG_Shapes * asShapes(void) const
bool is_Information(void) const
bool do_UseInCMD(void) const
const SG_Char * asString(void) const
const CSG_String & Get_Default(void) const
bool Cmp_Identifier(const CSG_String &Identifier) const
CSG_Table * asTable(void) const
bool is_Collapsed(void) const
const SG_Char * Get_Description(void) const
bool do_UseInGUI(void) const
bool is_DataObject_List(void) const
virtual bool Restore_Default(void)
class CSG_Data_Manager * Get_Manager(void) const
bool Create(CSG_Parameters &Parameters, const CSG_String &ParentID="")
static bool On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter)
bool Deactivate_GUI(void)
bool Activate_GUI(bool bReset=false)
bool Get_CRS(CSG_Projection &Projection, bool bMessage=false) const
static bool On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter)
CSG_Parameters_CRSPicker(void)
bool Set_User_Defined_ZLevels(CSG_Parameters *pParameters, double zMin, double zMax, int nLevels, int Rounding=2)
bool On_Parameter_Changed(CSG_Parameters *pParameters, CSG_Parameter *pParameter)
bool Create(CSG_Parameters *pParameters, bool bAddDefaultGrid, CSG_Parameter *pParent, const CSG_String &Prefix="")
CSG_Parameters_Grid_Target(void)
bool Add_Grid(const CSG_String &ID, const CSG_String &Name, bool bOptional)
bool Set_User_Defined(CSG_Parameters *pParameters, const TSG_Rect &Extent, int Rows=0, int Rounding=2)
bool On_Parameters_Enable(CSG_Parameters *pParameters, CSG_Parameter *pParameter)
bool Add_Grids(const CSG_String &ID, const CSG_String &Name, bool bOptional, bool bZLevels=false)
CSG_Grid_System Get_System(void) const
CSG_Grids * Get_Grids(const CSG_String &ID, TSG_Data_Type Type=SG_DATATYPE_Float)
CSG_Grid * Get_Grid(const CSG_String &ID, TSG_Data_Type Type=SG_DATATYPE_Float)
bool Set_Callback(bool bActive=true)
const CSG_String & Get_Identifier(void) const
int Get_Count(void) const
void Set_Enabled(bool bEnabled=true)
CSG_Parameter * Get_Parameter(int i) const
bool Set_Parameter(const CSG_String &ID, CSG_Parameter *pValue)
CSG_Parameter * Add_String(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, const CSG_String &String, bool bLongText=false, bool bPassword=false)
bool Cmp_Identifier(const CSG_String &Identifier) const
double Get_Area(void) const
double Get_YRange(void) const
CSG_Rect & Inflate(double d, bool bPercent=true)
CSG_Rect & Deflate(double d, bool bPercent=true)
double Get_YCenter(void) const
double Get_XMax(void) const
double Get_XRange(void) const
double Get_XMin(void) const
double Get_YMin(void) const
double Get_XCenter(void) const
double Get_YMax(void) const
virtual const CSG_Rect & Get_Extent(void)
size_t Length(void) const
int Cmp(const CSG_String &String) const
size_t Replace(const CSG_String &Old, const CSG_String &New, bool bReplaceAll=true)
static CSG_String Format(const char *Format,...)
const SG_Char * asString(int Field, int Decimals=-99) const
sLong Get_Count(void) const
bool is_Compatible(const CSG_Table &Table, bool bExactMatch=false) const
virtual CSG_Table_Record * Get_Record(sLong Index) const
int Get_Field_Count(void) const
CSG_Data_Manager & SG_Get_Data_Manager(void)
CSG_String SG_Get_DataObject_Name(TSG_Data_Object_Type Type)
@ SG_DATAOBJECT_TYPE_Undefined
@ SG_DATAOBJECT_TYPE_PointCloud
@ SG_DATAOBJECT_TYPE_Grids
@ SG_DATAOBJECT_TYPE_Shapes
@ SG_DATAOBJECT_TYPE_Grid
@ SG_DATAOBJECT_TYPE_Table
#define DATAOBJECT_NOTSET
#define DATAOBJECT_CREATE
CSG_Grid * SG_Create_Grid(void)
CSG_Grids * SG_Create_Grids(void)
#define PARAMETER_NOT_FOR_GUI
SAGA_API_DLL_EXPORT CSG_String SG_Parameter_Type_Get_Name(TSG_Parameter_Type Type)
SAGA_API_DLL_EXPORT CSG_String SG_Parameter_Type_Get_Identifier(TSG_Parameter_Type Type)
#define PARAMETER_DESCRIPTION_PROPERTIES
#define PARAMETER_NOT_FOR_CMD
#define PARAMETER_INPUT_OPTIONAL
#define PARAMETER_DESCRIPTION_TYPE
#define PARAMETER_DESCRIPTION_OPTIONAL
#define PARAMETER_IGNORE_PROJECTION
#define PARAMETER_OUTPUT_OPTIONAL
#define SG_PARAMETER_DATA_SET_FALSE
#define PARAMETER_GUI_COLLAPSED
#define PARAMETER_DESCRIPTION_NAME
#define SG_PARAMETER_DATA_SET_CHANGED
@ PARAMETER_TYPE_FixedTable
@ PARAMETER_TYPE_Grid_List
@ PARAMETER_TYPE_Table_Fields
@ PARAMETER_TYPE_DataObject_Output
@ PARAMETER_TYPE_Table_List
@ PARAMETER_TYPE_TIN_List
@ PARAMETER_TYPE_Grid_System
@ PARAMETER_TYPE_PointCloud_List
@ PARAMETER_TYPE_Undefined
@ PARAMETER_TYPE_Data_Type
@ PARAMETER_TYPE_Shapes_List
@ PARAMETER_TYPE_PointCloud
@ PARAMETER_TYPE_Table_Field
@ PARAMETER_TYPE_Parameters
@ PARAMETER_TYPE_FilePath
@ PARAMETER_TYPE_Grids_List
#define PARAMETER_DESCRIPTION_TEXT