115 #define HISTOGRAM_UPDATE(pLayer) m_Stretch.Set_Histogram((pLayer)->Get_Object()->asTable(true), (pLayer)->Get_Field_Value(), (pLayer)->Get_Field_Normal(), (pLayer)->Get_Scale_Normal())
121 #undef HISTOGRAM_UPDATE
141 if( iClass >= 0 && iClass < m_pLUT->Get_Count() )
167 if( iClass >= 0 && iClass < m_pLUT->Get_Count() )
193 if( iClass >= 0 && iClass < m_pLUT->Get_Count() )
222 if( iClass >= 0 && iClass < m_pLUT->Get_Count() )
292 if( Count > 0 && Count !=
m_Count )
327 if( Value == min ) {
return( 0 ); }
328 if( Value < min ) {
return( 1 ); }
332 if( max < min ) {
return( -1 ); }
333 if( Value < max ) {
return( 0 ); }
335 return( iClass ==
m_pLUT->Get_Count() - 1 && Value == max ? 0 : -1 );
341 if(
m_pLUT->Get_Count() > 0 )
348 int a = 0, b =
m_pLUT->Get_Count() - 1;
356 b = b > i ? i : b - 1;
360 a = a < i ? i : a + 1;
364 return(
m_pLUT->Get_Record_byIndex(i)->Get_Index() );
370 return(
m_pLUT->Get_Record_byIndex(a)->Get_Index() );
375 return(
m_pLUT->Get_Record_byIndex(b)->Get_Index() );
405 if(
m_pLUT->Get_Count() > 0 )
412 int a = 0, b =
m_pLUT->Get_Count() - 1;
420 b = b > i ? i : b - 1;
424 a = a < i ? i : a + 1;
428 return(
m_pLUT->Get_Record_byIndex(i)->Get_Index() );
434 return(
m_pLUT->Get_Record_byIndex(a)->Get_Index() );
439 return(
m_pLUT->Get_Record_byIndex(b)->Get_Index() );
468 switch(
m_pLayer->Get_Object()->Get_ObjectType() )
485 #define HISTOGRAM_UPDATE(pLayer) _Histogram_Update((pLayer)->Get_Object()->asTable(true), (pLayer)->Get_Field_Value (), (pLayer)->Get_Field_Normal(), (pLayer)->Get_Scale_Normal())
491 #undef HISTOGRAM_UPDATE
507 #define isNoData(i) (pObject->asGrid() ? pObject->asGrid()->is_NoData((sLong)i) : pObject->asGrids()->is_NoData((sLong)i))
508 #define asDouble(i) (pObject->asGrid() ? pObject->asGrid()-> asDouble((sLong)i) : pObject->asGrids()-> asDouble((sLong)i))
579 double Value, Dividend;
589 else if( pTable->
Get_Value((
sLong)i, Normalize, Dividend) && Dividend != 0. )
591 Value *= Scale / Dividend;
624 double Value, Dividend;
634 else if( pTable->
Get_Value((
sLong)i, Normalize, Dividend) && Dividend != 0. )
636 Value *= Scale / Dividend;
void SG_UI_Process_Set_Text(const CSG_String &Text)
bool SG_UI_Process_Set_Ready(void)
bool SG_UI_Process_Set_Progress(int Position, int Range)
long SG_Color_Get_Random(void)
bool SG_Data_Type_is_Numeric(TSG_Data_Type Type)
#define SG_COLOR_GREY_LIGHT
SAGA_API_DLL_EXPORT CSG_String SG_Get_String(double Value, int Precision=-99)
sLong Get_Max_Samples(void) const
class CSG_Grids * asGrids(bool bPolymorph=false) const
class CSG_Grid * asGrid(bool bPolymorph=false) const
const CSG_Simple_Statistics & Get_Statistics(void)
sLong Get_NCells(void) const
const CSG_Simple_Statistics & Get_Statistics(void)
sLong Get_NCells(void) const
int Get_Class(double Value)
bool _Histogram_Update(CSG_Data_Object *pObject)
int _LUT_Cmp_Class(double Value, int Class) const
CSG_Simple_Statistics m_Statistics
CSG_Map_Symbology(class CSG_Map_Layer *pLayer)
bool Histogram_Update(void)
int _LUT_Get_Class(double Value) const
CSG_Histogram m_Histogram
CSG_Colors Get_Class_Colors(void) const
bool Set_Class_Count(int Count)
double Get_Class_Value_Center(int Class)
int Get_Class_Count(void) const
bool Get_Class_Color(int Class, int &Color) const
virtual ~CSG_Map_Symbology(void)
double Get_Class_Value_Minimum(int Class)
class CSG_Map_Layer * m_pLayer
bool Set_Single_Color(int Color)
wxString Get_Class_Name(int Class)
wxString Get_Class_Name_byValue(double Value)
double Get_Class_Value_Maximum(int Class)
bool Set_NoData_Color(int Color)
int Cmp(const CSG_String &String) const
const SG_Char * c_str(void) const
int Printf(const char *Format,...)
double asDouble(int Field) const
const SG_Char * asString(int Field, int Decimals=-99) const
sLong Get_Count(void) const
virtual bool Get_Value(sLong Index, int Field, CSG_String &Value) const
int Get_Field_Count(void) const
@ SG_DATAOBJECT_TYPE_PointCloud
@ SG_DATAOBJECT_TYPE_Grids
@ SG_DATAOBJECT_TYPE_Shapes
@ SG_DATAOBJECT_TYPE_Grid
#define HISTOGRAM_UPDATE(pLayer)