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;
208 m_Parameters[i]->asParameters()->Set_Tool(pTool);
223 m_pManager = pManager;
229 m_Parameters[i]->asParameters()->Set_Manager(pManager);
241 if( !m_pGrid_System )
266 m_pStack->m_pStack = pStack;
268 m_pManager = pManager;
270 if( bRestoreDefaults )
287 m_pManager = m_pStack->m_pManager;
321 m_Identifier = Identifier;
331 return( m_Identifier.Cmp(Identifier) == 0 );
351 m_Description = Description;
361 for(
int i=0; i<m_nParameters; i++)
363 m_Parameters[i]->Set_Enabled(bEnabled);
390 return( _Add(pParameter) );
410 return( _Add_Value(ParentID, ID, Name, Description,
false, Type, Value,
Minimum, bMinimum,
Maximum, bMaximum) );
415 return( _Add_Value(ParentID, ID, Name, Description,
true, Type, Value, 0.0,
false, 0.0,
false) );
457 return( _Add_Range(ParentID, ID, Name, Description,
false, Range_Min, Range_Max,
Minimum, bMinimum,
Maximum, bMaximum) );
462 return( _Add_Range(ParentID, ID, Name, Description,
true, Range_Min, Range_Max, 0.0,
false, 0.0,
false) );
483 return( pParameter );
498 return( pParameter );
508 return( pParameter );
514 return( _Add_String(ParentID, ID, Name, Description,
false, String, bLongText, bPassword) );
519 return( _Add_String(ParentID, ID, Name, Description,
true, String, bLongText,
false) );
537 return( pParameter );
547 return( pParameter );
559 return( pParameter );
567 if( pInit && *pInit )
575 return( pParameter );
587 return( pParameter );
598 CSG_String Choices;
int Choice = 0, nChoices = 0;
600 #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++; }
624 return( pParameter );
640 return( pParameter );
652 else if( bSystem_Dependent && m_pGrid_System )
654 SystemID = m_pGrid_System->Get_Identifier();
666 return( pParameter );
676 return( pParameter );
686 return( pParameter );
700 SystemID = m_pGrid_System->Get_Identifier();
705 return( pParameter );
722 else if( bSystem_Dependent && m_pGrid_System )
724 SystemID = m_pGrid_System->Get_Identifier();
736 return( pParameter );
746 return( pParameter );
760 SystemID = m_pGrid_System->Get_Identifier();
765 return( pParameter );
800 return( pParameter );
825 return( pParameter );
835 return( pParameter );
843 return( pParameter );
858 return( pParameter );
868 return( pParameter );
878 return( pParameter );
891 return( pParameter );
901 return( pParameter );
909 return( pParameter );
922 return( pParameter );
932 return( pParameter );
940 return( pParameter );
956 return( pParameter );
965CSG_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)
1019 return( pParameter );
1023CSG_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)
1026 if( Default_Min > Default_Max )
1028 double d = Default_Min;
1029 Default_Min = Default_Max;
1046 return( pParameter );
1059 ((CSG_Parameter_String *)pParameter)->Set_Password(bPassword);
1061 return( pParameter );
1071#include <wx/debug.h>
1072#include <wx/string.h>
1079 wxASSERT_MSG(!ID.
is_Empty() , wxString::Format(
"CSG_Parameter::_Add(): Parameter ID is empty!"));
1080 wxASSERT_MSG(!
Get_Parameter(ID), wxString::Format(
"CSG_Parameter::_Add(): Parameter ID \"%s\" is already in use!", ID.
c_str()));
1133 m_Parameters[m_nParameters++] = pParameter;
1137 return( pParameter );
1149 pSource->m_Constraint
1154 pParameter->
Assign(pSource);
1157 return( pParameter );
1168 if( i >= 0 && i < m_nParameters )
1170 return( m_Parameters[i] );
1186 if( m_Parameters && !ID.
is_Empty() )
1188 for(
int i=0; i<m_nParameters; i++)
1192 return( m_Parameters[i] );
1197 if( ID.
Find(
'.') > 0 )
1239 if( m_Parameters && iParameter >= 0 && iParameter < m_nParameters )
1243 for(m_nParameters--; iParameter<m_nParameters; iParameter++)
1245 m_Parameters[iParameter] = m_Parameters[iParameter + 1];
1259 for(iParameter=0; iParameter<pParent->m_nChildren; iParameter++)
1261 if( pParent->m_Children[iParameter] == pParameter )
1263 pParent->m_nChildren--;
1265 for( ; iParameter<pParent->m_nChildren; iParameter++)
1267 pParent->m_Children[iParameter] = pParent->m_Children[iParameter + 1];
1286 if( m_Parameters && Identifier.
Length() )
1288 for(
int i=0; i<m_nParameters; i++)
1290 if( !m_Parameters[i]->m_Identifier.Cmp(Identifier) )
1303 if( m_nParameters > 0 )
1305 m_pGrid_System = NULL;
1307 for(
int i=0; i<m_nParameters; i++)
1309 delete(m_Parameters[i]);
1314 m_Parameters = NULL;
1335 m_Callback = Callback;
1337 for(
int i=0; i<m_nParameters; i++)
1341 m_Parameters[i]->asParameters()->Set_Callback_On_Parameter_Changed(Callback);
1354 bool bPrevious = m_bCallback;
1356 m_bCallback = bActive;
1358 for(
int i=0; i<m_nParameters; i++)
1362 m_Parameters[i]->asParameters()->Set_Callback(bActive);
1366 return( bPrevious );
1370bool CSG_Parameters::_On_Parameter_Changed(
CSG_Parameter *pParameter,
int Flags)
1372 if( m_Callback && m_bCallback )
1376 m_Callback(pParameter, Flags);
1473 m_Parameters[i]->Restore_Default();
1477 if( m_Parameters[i]->is_DataObject() )
1481 else if( m_Parameters[i]->is_DataObject_List() )
1483 m_Parameters[i]->asList()->Del_Items();
1501 return( pSource && pSource !=
this &&
Create(*pSource) );
1507 if( !pSource || pSource ==
this )
1515 for(
int i=0; i<pSource->
Get_Count(); i++)
1531 if( !pSource || pSource ==
this )
1539 for(
int i=0; i<pSource->m_nParameters; i++)
1541 _Add(pSource->m_Parameters[i]);
1543 if( m_Parameters[i]->asParameters() )
1545 m_Parameters[i]->asParameters()->Set_Tool(m_pTool);
1549 if( pSource->m_pGrid_System )
1554 return( m_nParameters == pSource->m_nParameters );
1570 if( m_Parameters[i]->Check(bSilent) ==
false )
1579 if( !bResult && !bSilent )
1588bool CSG_Parameters::DataObjects_Create(
void)
1590 bool bResult =
true;
1592 for(
int i=0; bResult && i<
Get_Count(); i++)
1645 else if( m_pManager && !m_pManager->Exists(pObject) )
1666 default : pObject = NULL ;
break;
1674 && ((CSG_Parameter_Shapes *)&P)->Get_Shape_Type() != pObject->
asShapes()->
Get_Type() )
1678 pObject =
SG_Create_Shapes (((CSG_Parameter_Shapes *)&P)->Get_Shape_Type());
1682 pObject->
asShapes()->
Create(((CSG_Parameter_Shapes *)&P)->Get_Shape_Type());
1694 pObject->
asGrid ()->
Create(System , ((CSG_Parameter_Grid *)&P)->Get_Preferred_Type());
1699 pObject->
asGrids()->
Create(System, 0, 0., ((CSG_Parameter_Grids *)&P)->Get_Preferred_Type());
1711 m_pManager->Add(pObject);
1739bool CSG_Parameters::DataObjects_Synchronize(
void)
1766 if( m_pManager && !m_pManager->Delete(pObject) )
1777 m_pManager->Add(pObject);
1793 for(
int j=0; j<P.
asList()->Get_Item_Count(); j++)
1799 m_pManager->Add(pObject);
1839 for(
int j=0; j<p->
asList()->Get_Item_Count() && !
Projection.is_Okay(); j++)
1879 for(
int j=0; j<p->
asList()->Get_Item_Count(); j++)
1899 bool bResult =
false;
1903 if( m_pGrid_System )
1905 m_pGrid_System->_Set_String();
1907 String +=
CSG_String::Format(
"%s: %s\n", m_pGrid_System->Get_Name(), m_pGrid_System->asString());
1938 bOptionsOnly ?
_TL(
"Options") :
_TL(
"Parameters")),
2026 for(
int j=0; j<P.
asList()->Get_Item_Count(); j++)
2072 return( m_pGrid_System && m_pGrid_System->asGrid_System() && m_pGrid_System->Set_Value((
void *)&System) );
2106 if( pParameter && pParameter->
Serialize(*Data(i),
false) )
2128 m_Parameters[i]->Serialize(Data,
true);
2159 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[PARAMETER_ENTRIES_BEGIN]") );
2161 if( sLine.
Cmp(
"[PARAMETER_ENTRIES_BEGIN]") )
2167 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[PARAMETER_ENTRIES_END]") )
2169 if( !sLine.
Cmp(
"[PARAMETER_ENTRY_BEGIN]")
2179 switch( sLine.
asInt() )
2206 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[TEXT_ENTRY_END]") )
2214 Stream.
Read(&i,
sizeof(i));
2230 Stream.
Read(&d,
sizeof(d));
2231 Stream.
Read(&r,
sizeof(r));
2242 if( !sLine.
Cmp(
"[ENTRY_DATAOBJECT_CREATE]") )
2248 pParameter->
Set_Value(m_pManager ? m_pManager->Find(sLine) : NULL);
2257 while( Stream.
Read_Line(sLine) && sLine.
Cmp(
"[ENTRY_DATAOBJECTLIST_END]") )
2259 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)
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
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)