83 Create(Name, Description, Identifier, bGrid_System);
91 Create(pOwner, Name, Description, Identifier, bGrid_System);
106void CSG_Parameters::_On_Construction(
void)
118 m_pGrid_System = NULL;
132 m_pOwner = Parameters.m_pOwner;
133 m_pTool = Parameters.m_pTool;
134 m_pManager = Parameters.m_pManager;
136 m_Callback = Parameters.m_Callback;
137 m_bCallback = Parameters.m_bCallback;
139 for(
int i=0; i<Parameters.m_nParameters; i++)
141 _Add(Parameters.m_Parameters[i]);
144 if( Parameters.m_pGrid_System )
149 return( m_nParameters == Parameters.m_nParameters );
172 if(
Create(Name, Description, Identifier, bGrid_System) )
189 m_pGrid_System = NULL;
193 m_References.Clear();
210 m_Parameters[i]->asParameters()->Set_Tool(pTool);
225 m_pManager = pManager;
231 m_Parameters[i]->asParameters()->Set_Manager(pManager);
243 if( !m_pGrid_System )
268 m_pStack->m_pStack = pStack;
270 m_pManager = pManager;
272 if( bRestoreDefaults )
289 m_pManager = m_pStack->m_pManager;
323 m_Identifier = Identifier;
333 return( m_Identifier.Cmp(Identifier) == 0 );
353 m_Description = Description;
363 CSG_String Reference(
"<b>" + Authors +
" (" + Year +
"):</b> " + Title +
". " + Where);
367 Reference +=
CSG_String::Format(
" <a href=\"%s\">%s</a>.", Link, Link_Text && *Link_Text ? Link_Text : Link);
372 m_References += Reference;
397 m_References.Clear();
407 for(
int i=0; i<m_nParameters; i++)
409 m_Parameters[i]->Set_Enabled(bEnabled);
436 return( _Add(pParameter) );
456 return( _Add_Value(ParentID, ID, Name, Description,
false, Type, Value,
Minimum, bMinimum,
Maximum, bMaximum) );
461 return( _Add_Value(ParentID, ID, Name, Description,
true, Type, Value, 0.0,
false, 0.0,
false) );
503 return( _Add_Range(ParentID, ID, Name, Description,
false, Range_Min, Range_Max,
Minimum, bMinimum,
Maximum, bMaximum) );
508 return( _Add_Range(ParentID, ID, Name, Description,
true, Range_Min, Range_Max, 0.0,
false, 0.0,
false) );
529 return( pParameter );
544 return( pParameter );
554 return( pParameter );
560 return( _Add_String(ParentID, ID, Name, Description,
false, String, bLongText, bPassword) );
565 return( _Add_String(ParentID, ID, Name, Description,
true, String, bLongText,
false) );
583 return( pParameter );
593 return( pParameter );
605 return( pParameter );
613 if( pInit && *pInit )
621 return( pParameter );
633 return( pParameter );
644 CSG_String Choices;
int Choice = 0, nChoices = 0;
646 #define ADD_METHOD(method, name) if( ((int)Methods & (int)method) != 0 ) { if( !Choices.is_Empty() ) { Choices += "|"; } Choices += CSG_String::Format("{%d}", (int)method); Choices += name; if( method == Default ) { Choice = nChoices; } nChoices++; }
670 return( pParameter );
686 return( pParameter );
698 else if( bSystem_Dependent && m_pGrid_System )
700 SystemID = m_pGrid_System->Get_Identifier();
712 return( pParameter );
722 return( pParameter );
732 return( pParameter );
746 SystemID = m_pGrid_System->Get_Identifier();
751 return( pParameter );
768 else if( bSystem_Dependent && m_pGrid_System )
770 SystemID = m_pGrid_System->Get_Identifier();
782 return( pParameter );
792 return( pParameter );
806 SystemID = m_pGrid_System->Get_Identifier();
811 return( pParameter );
846 return( pParameter );
871 return( pParameter );
881 return( pParameter );
889 return( pParameter );
904 return( pParameter );
914 return( pParameter );
924 return( pParameter );
937 return( pParameter );
947 return( pParameter );
955 return( pParameter );
968 return( pParameter );
978 return( pParameter );
986 return( pParameter );
1002 return( pParameter );
1011CSG_Parameter * CSG_Parameters::_Add_Value(
const CSG_String &ParentID,
const CSG_String &ID,
const CSG_String &Name,
const CSG_String &Description,
bool bInformation,
TSG_Parameter_Type Type,
double Value,
double Minimum,
bool bMinimum,
double Maximum,
bool bMaximum)
1065 return( pParameter );
1069CSG_Parameter * CSG_Parameters::_Add_Range(
const CSG_String &ParentID,
const CSG_String &ID,
const CSG_String &Name,
const CSG_String &Description,
bool bInformation,
double Default_Min,
double Default_Max,
double Minimum,
bool bMinimum,
double Maximum,
bool bMaximum)
1072 if( Default_Min > Default_Max )
1074 double d = Default_Min;
1075 Default_Min = Default_Max;
1092 return( pParameter );
1105 ((CSG_Parameter_String *)pParameter)->Set_Password(bPassword);
1107 return( pParameter );
1117#include <wx/debug.h>
1118#include <wx/string.h>
1125 wxASSERT_MSG(!ID.
is_Empty() , wxString::Format(
"CSG_Parameter::_Add(): Parameter ID is empty!"));
1126 wxASSERT_MSG(!
Get_Parameter(ID), wxString::Format(
"CSG_Parameter::_Add(): Parameter ID \"%s\" is already in use!", ID.
c_str()));
1179 m_Parameters[m_nParameters++] = pParameter;
1183 return( pParameter );
1195 pSource->m_Constraint
1200 pParameter->
Assign(pSource);
1203 return( pParameter );
1214 if( i >= 0 && i < m_nParameters )
1216 return( m_Parameters[i] );
1232 if( m_Parameters && !ID.
is_Empty() )
1234 for(
int i=0; i<m_nParameters; i++)
1238 return( m_Parameters[i] );
1243 if( ID.
Find(
'.') > 0 )
1285 if( m_Parameters && iParameter >= 0 && iParameter < m_nParameters )
1289 for(m_nParameters--; iParameter<m_nParameters; iParameter++)
1291 m_Parameters[iParameter] = m_Parameters[iParameter + 1];
1305 for(iParameter=0; iParameter<pParent->m_nChildren; iParameter++)
1307 if( pParent->m_Children[iParameter] == pParameter )
1309 pParent->m_nChildren--;
1311 for( ; iParameter<pParent->m_nChildren; iParameter++)
1313 pParent->m_Children[iParameter] = pParent->m_Children[iParameter + 1];
1332 if( m_Parameters && Identifier.
Length() )
1334 for(
int i=0; i<m_nParameters; i++)
1336 if( !m_Parameters[i]->m_Identifier.Cmp(Identifier) )
1349 if( m_nParameters > 0 )
1351 m_pGrid_System = NULL;
1353 for(
int i=0; i<m_nParameters; i++)
1355 delete(m_Parameters[i]);
1360 m_Parameters = NULL;
1381 m_Callback = Callback;
1383 for(
int i=0; i<m_nParameters; i++)
1387 m_Parameters[i]->asParameters()->Set_Callback_On_Parameter_Changed(Callback);
1400 bool bPrevious = m_bCallback;
1402 m_bCallback = bActive;
1404 for(
int i=0; i<m_nParameters; i++)
1408 m_Parameters[i]->asParameters()->Set_Callback(bActive);
1412 return( bPrevious );
1416bool CSG_Parameters::_On_Parameter_Changed(
CSG_Parameter *pParameter,
int Flags)
1418 if( m_Callback && m_bCallback )
1422 m_Callback(pParameter, Flags);
1519 m_Parameters[i]->Restore_Default();
1523 if( m_Parameters[i]->is_DataObject() )
1527 else if( m_Parameters[i]->is_DataObject_List() )
1529 m_Parameters[i]->asList()->Del_Items();
1547 return( pSource && pSource !=
this &&
Create(*pSource) );
1553 if( !pSource || pSource ==
this )
1561 for(
int i=0; i<pSource->
Get_Count(); i++)
1577 if( !pSource || pSource ==
this )
1585 for(
int i=0; i<pSource->m_nParameters; i++)
1587 _Add(pSource->m_Parameters[i]);
1589 if( m_Parameters[i]->asParameters() )
1591 m_Parameters[i]->asParameters()->Set_Tool(m_pTool);
1595 if( pSource->m_pGrid_System )
1600 return( m_nParameters == pSource->m_nParameters );
1616 if( m_Parameters[i]->Check(bSilent) ==
false )
1625 if( !bResult && !bSilent )
1634bool CSG_Parameters::DataObjects_Create(
void)
1636 bool bResult =
true;
1638 for(
int i=0; bResult && i<
Get_Count(); i++)
1691 else if( m_pManager && !m_pManager->Exists(pObject) )
1712 default : pObject = NULL ;
break;
1720 && ((CSG_Parameter_Shapes *)&P)->Get_Shape_Type() != pObject->
asShapes()->
Get_Type() )
1724 pObject =
SG_Create_Shapes (((CSG_Parameter_Shapes *)&P)->Get_Shape_Type());
1728 pObject->
asShapes()->
Create(((CSG_Parameter_Shapes *)&P)->Get_Shape_Type());
1740 pObject->
asGrid ()->
Create(System , ((CSG_Parameter_Grid *)&P)->Get_Preferred_Type());
1745 pObject->
asGrids()->
Create(System, 0, 0., ((CSG_Parameter_Grids *)&P)->Get_Preferred_Type());
1757 m_pManager->Add(pObject);
1785bool CSG_Parameters::DataObjects_Synchronize(
void)
1812 if( m_pManager && !m_pManager->Delete(pObject) )
1823 m_pManager->Add(pObject);
1839 for(
int j=0; j<P.
asList()->Get_Item_Count(); j++)
1845 m_pManager->Add(pObject);
1885 for(
int j=0; j<p->
asList()->Get_Item_Count() && !
Projection.is_Okay(); j++)
1925 for(
int j=0; j<p->
asList()->Get_Item_Count(); j++)
1945 bool bResult =
false;
1949 if( m_pGrid_System )
1951 m_pGrid_System->_Set_String();
1953 String +=
CSG_String::Format(
"%s: %s\n", m_pGrid_System->Get_Name(), m_pGrid_System->asString());
1984 bOptionsOnly ?
_TL(
"Options") :
_TL(
"Parameters")),
2072 for(
int j=0; j<P.
asList()->Get_Item_Count(); j++)
2118 return( m_pGrid_System && m_pGrid_System->asGrid_System() && m_pGrid_System->Set_Value((
void *)&System) );
2152 if( pParameter && pParameter->
Serialize(*Data(i),
false) )
2174 m_Parameters[i]->Serialize(Data,
true);
2205 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[PARAMETER_ENTRIES_BEGIN]") );
2207 if( sLine.
Cmp(
"[PARAMETER_ENTRIES_BEGIN]") )
2213 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[PARAMETER_ENTRIES_END]") )
2215 if( !sLine.
Cmp(
"[PARAMETER_ENTRY_BEGIN]")
2225 switch( sLine.
asInt() )
2252 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[TEXT_ENTRY_END]") )
2260 Stream.
Read(&i,
sizeof(i));
2276 Stream.
Read(&d,
sizeof(d));
2277 Stream.
Read(&r,
sizeof(r));
2288 if( !sLine.
Cmp(
"[ENTRY_DATAOBJECT_CREATE]") )
2294 pParameter->
Set_Value(m_pManager ? m_pManager->Find(sLine) : NULL);
2303 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[ENTRY_DATAOBJECTLIST_END]") )
2305 CSG_Data_Object *pObject = m_pManager ? m_pManager->Find(sLine) : NULL;
bool SG_UI_DataObject_Update(CSG_Data_Object *pDataObject, int Show, CSG_Parameters *pParameters)
void SG_UI_Msg_Add_Error(const char *Message)
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)
void * SG_UI_Get_Window_Main(void)
void SG_UI_Dlg_Message(const CSG_String &Message, const CSG_String &Caption)
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
bool Serialize(CSG_File &Stream, bool bSave, bool bBinary)
void Set_Name(const CSG_String &Name)
CSG_MetaData & Get_MetaData(void) const
const SG_Char * Get_File_Name(bool bNative=true) const
class CSG_Shapes * asShapes(bool bPolymorph=false) const
CSG_MetaData & Get_History(void)
CSG_Projection & Get_Projection(void)
class CSG_Grids * asGrids(bool bPolymorph=false) const
class CSG_Grid * asGrid(bool bPolymorph=false) const
double Get_JDN(void) const
static CSG_DateTime Now(void)
bool Read_Line(CSG_String &Line) const
size_t Read(void *Buffer, size_t Size, size_t Count=1) const
double Scan_Double(void) const
bool Assign(const CSG_Grid_System &System)
bool is_Valid(void) const
bool Create(const CSG_Grid &Grid)
const CSG_Grid_System & Get_System(void) const
const CSG_Grid_System & Get_System(void) const
virtual bool Create(const CSG_Grids &Grids)
bool Set_Items(const SG_Char *String)
void Set_Items(const CSG_String &Items)
bool Set_Data_Types(int Data_Types, TSG_Data_Type Default=SG_DATATYPE_Undefined, const CSG_String &User="")
void Set_Filter(const SG_Char *Filter)
void Set_Flag_Directory(bool bFlag)
void Set_Flag_Save(bool bFlag)
void Set_Flag_Multiple(bool bFlag)
virtual TSG_Parameter_Type Get_Type(void) const
virtual bool Del_Item(CSG_Data_Object *pItem, bool bUpdateData=true)
CSG_Data_Object * Get_Item(int Index) const
virtual bool Add_Item(CSG_Data_Object *pItem)
int Get_Item_Count(void) const
CSG_Parameter_Double * Get_Min_Parameter(void) const
CSG_Parameter_Double * Get_Max_Parameter(void) const
bool Set_Range(double Min, double Max)
virtual TSG_Parameter_Type Get_Type(void) const
void Set_Minimum(double Minimum, bool bOn=true)
void Set_Maximum(double Maximum, bool bOn=true)
const SG_Char * Get_Identifier(void) const
bool is_DataObject(void) const
class CSG_Parameters * asParameters(void) const
bool Check(bool bSilent=true)
bool Assign(CSG_Parameter *pSource)
bool is_Parameters(void) const
CSG_String Get_Type_Identifier(void) const
void ignore_Projection(bool bIgnore)
bool Set_Default(int Value)
bool Set_Enabled(bool bEnabled=true)
bool is_Optional(void) const
TSG_Data_Object_Type Get_DataObject_Type(void) const
bool Serialize(CSG_MetaData &MetaData, bool bSave)
int Get_Children_Count(void) const
class CSG_Parameter_Choice * asChoice(void) const
class CSG_Parameter_Value * asValue(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
const SG_Char * Get_Name(void) const
class CSG_Parameter_Choices * asChoices(void) const
virtual void _Set_String(void)
CSG_Colors * asColors(void) const
bool is_Enabled(bool bCheckEnv=true) const
bool is_Option(void) const
virtual bool Set_Value(int Value)
class CSG_Parameter_List * asList(void) const
CSG_Grid_System * asGrid_System(void) const
CSG_Data_Object * asDataObject(void) const
class CSG_Parameter_Range * asRange(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
bool is_Information(void) const
const SG_Char * asString(void) const
CSG_Table * asTable(void) const
const SG_Char * Get_Description(void) const
bool is_DataObject_List(void) const
void Set_Tool(class CSG_Tool *pTool)
CSG_Parameter * Add_TIN_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
virtual ~CSG_Parameters(void)
CSG_Parameter * Add_Shapes_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
CSG_Parameter * Add_Table_Fields(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
void Set_Name(const CSG_String &Name)
CSG_Parameter * Add_TIN(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
bool Set_Callback(bool bActive=true)
CSG_Parameter * Add_Grid_Resampling(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, CSG_Grid_Resampling Methods=CSG_Grid_Resampling::Interpolations, CSG_Grid_Resampling Default=CSG_Grid_Resampling::Bicubic_2)
CSG_Parameter * Add_Table_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
CSG_Parameter * Add_Table(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
CSG_Parameter * Add_Parameter(CSG_Parameter *pParameter)
const CSG_String & Get_Identifier(void) const
CSG_Parameter * Add_Info_Value(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, TSG_Parameter_Type Type, double Value=0.0)
CSG_Parameter * Add_Shapes_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, TSG_Shape_Type=SHAPE_TYPE_Undefined)
CSG_Parameter * Add_Grids_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, bool bSystem_Dependent=true)
CSG_Parameter * Add_Grid_System(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, CSG_Grid_System *pInit=NULL)
CSG_Parameter * Add_Choice(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, const CSG_String &Items, int Default=0)
bool Reset_Grid_System(void)
CSG_Parameter * Add_PointCloud(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
bool Msg_String(bool bOptionsOnly)
CSG_Parameter * Add_Shapes(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, TSG_Shape_Type Shape_Type=SHAPE_TYPE_Undefined)
int Get_Count(void) const
CSG_Parameter * Add_TIN_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
CSG_Parameter * Add_Table_Field_or_Const(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Value=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false)
void Set_Manager(class CSG_Data_Manager *pManager)
class CSG_Tool * Get_Tool(void) const
bool Assign_Values(CSG_Parameters *pSource)
CSG_Parameter * Add_Grid_or_Const(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Value=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false, bool bSystem_Dependent=true)
bool Use_Grid_System(void)
void Set_Enabled(bool bEnabled=true)
bool Get_String(CSG_String &String, bool bOptionsOnly)
CSG_Parameter * Add_Choices(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, const CSG_String &Items)
bool Set_History(CSG_MetaData &History, bool bOptions=true, bool bDataObjects=true)
CSG_Parameter * Add_Degree(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Value=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false)
CSG_Parameter * Add_Grid_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
void Set_Description(const CSG_String &Description)
bool Set_Grid_System(const CSG_Grid_System &System)
CSG_Parameter * Add_FilePath(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, const SG_Char *Filter=NULL, const SG_Char *Default=NULL, bool bSave=false, bool bDirectory=false, bool bMultiple=false)
CSG_Parameter * Add_Table_Field(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, bool bAllowNone=false)
bool Del_Parameters(void)
void Set_Identifier(const CSG_String &Identifier)
void Del_References(void)
CSG_Parameter * Add_Value(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, TSG_Parameter_Type Type, double Value=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false)
CSG_Parameter * Add_Double(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Value=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false)
const CSG_String & Get_Name(void) const
CSG_Parameter * Add_PointCloud_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint)
CSG_Parameter * Get_Parameter(int i) const
bool Create(const CSG_Parameters &Parameters)
bool Restore_Defaults(bool bClearData=false)
CSG_Parameter * Add_Grids(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, bool bSystem_Dependent=true, TSG_Data_Type Preferred_Type=SG_DATATYPE_Undefined)
bool Serialize_Compatibility(CSG_File &Stream)
CSG_Parameter * Add_Parameters(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
bool Push(class CSG_Data_Manager *pManager=NULL, bool bRestoreDefaults=true)
CSG_Parameter * Add_Int(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Value=0, int Minimum=0, bool bMinimum=false, int Maximum=0, bool bMaximum=false)
TSG_PFNC_Parameter_Changed Set_Callback_On_Parameter_Changed(TSG_PFNC_Parameter_Changed pCallback)
bool Assign(CSG_Parameters *pSource)
bool DataObjects_Check(bool bSilent=false)
bool Del_Parameter(int i)
CSG_Parameter * Add_Node(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, bool bCollapsed=false)
CSG_Parameter * Add_Color(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Value=0)
CSG_Parameter * Add_Grid_List(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, bool bSystem_Dependent=true)
CSG_Parameter * Add_Grids_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
void * Get_Owner(void) const
const CSG_String & Get_Description(void) const
CSG_Parameter * Add_FixedTable(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, CSG_Table *pInit=NULL)
bool Set_Parameter(const CSG_String &ID, CSG_Parameter *pValue)
CSG_Parameter * Add_Table_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
CSG_Parameter * Add_Font(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, const SG_Char *pInit=NULL)
CSG_Parameter * Add_Data_Type(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Data_Types, TSG_Data_Type Default=SG_DATATYPE_Undefined, const CSG_String &User="")
bool Assign_Parameters(CSG_Parameters *pSource)
bool Save(CSG_MetaData &Data) const
CSG_Parameter * Add_Bool(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, bool Value=false)
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)
CSG_Parameter * Add_Date(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Value=0.0)
friend class CSG_Parameter
CSG_Parameter * Add_Info_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 Cmp_Identifier(const CSG_String &Identifier) const
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)
CSG_Parameter * Add_Range(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Range_Min=0.0, double Range_Max=0.0, double Minimum=0.0, bool bMinimum=false, double Maximum=0.0, bool bMaximum=false)
CSG_Parameter * Add_Grid(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Constraint, bool bSystem_Dependent=true, TSG_Data_Type Preferred_Type=SG_DATATYPE_Undefined)
CSG_Parameter * Add_PointCloud_Output(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description)
CSG_Parameter * Add_Colors(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, int Palette=0, int nColors=11, bool bRevert=false)
CSG_Parameter * Add_Info_Range(const CSG_String &ParentID, const CSG_String &ID, const CSG_String &Name, const CSG_String &Description, double Range_Min=0.0, double Range_Max=0.0)
bool Load(const CSG_MetaData &Data)
bool Create(const CSG_Shapes &Shapes)
virtual TSG_Shape_Type Get_Type(void) const
size_t Length(void) const
CSG_String AfterFirst(char Character) const
int CmpNoCase(const CSG_String &String) const
int Cmp(const CSG_String &String) const
CSG_String BeforeFirst(char Character) const
static CSG_String Format(const char *Format,...)
CSG_String & Append(const CSG_String &String)
int Find(char Character, bool fromEnd=false) const
const SG_Char * c_str(void) const
bool is_Empty(void) const
CSG_String Left(size_t count) const
bool Assign_Values(const CSG_Table &Table)
bool Serialize(CSG_File &Stream, bool bSave)
CSG_Data_Manager & SG_Get_Data_Manager(void)
int SG_Get_History_Ignore_Lists(void)
@ 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 ADD_METHOD(method, name)
int(* TSG_PFNC_Parameter_Changed)(CSG_Parameter *pParameter, int Flags)
#define PARAMETER_INPUT_OPTIONAL
#define PARAMETER_INFORMATION
#define PARAMETER_OUTPUT_OPTIONAL
#define PARAMETER_OPTIONAL
#define PARAMETER_GUI_COLLAPSED
@ 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
CSG_PointCloud * SG_Create_PointCloud(void)
CSG_Shapes * SG_Create_Shapes(void)
CSG_Table * SG_Create_Table(void)
CSG_TIN * SG_Create_TIN(void)