///////////////////////////////////////////////////////////
// //
// SAGA //
// //
// System for Automated Geoscientific Analyses //
// //
// Tool Library //
// ta_morphometry //
// //
//-------------------------------------------------------//
// //
// fuzzy_landform_elements.h //
// //
// Copyright (C) 2013 by //
// Olaf Conrad //
// //
//-------------------------------------------------------//
// //
// This file is part of 'SAGA - System for Automated //
// Geoscientific Analyses'. SAGA is free software; you //
// can redistribute it and/or modify it under the terms //
// of the GNU General Public License as published by the //
// Free Software Foundation, either version 2 of the //
// License, or (at your option) any later version. //
// //
// SAGA is distributed in the hope that it will be //
// useful, but WITHOUT ANY WARRANTY; without even the //
// implied warranty of MERCHANTABILITY or FITNESS FOR A //
// PARTICULAR PURPOSE. See the GNU General Public //
// License for more details. //
// //
// You should have received a copy of the GNU General //
// Public License along with this program; if not, see //
// . //
// //
//-------------------------------------------------------//
// //
// e-mail: oconrad@saga-gis.org //
// //
// contact: Olaf Conrad //
// Institute of Geography //
// University of Hamburg //
// Germany //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
#ifndef HEADER_INCLUDED__fuzzy_landform_elements_H
#define HEADER_INCLUDED__fuzzy_landform_elements_H
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
#include
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
class CFuzzy_Landform_Elements : public CSG_Tool_Grid
{
public:
CFuzzy_Landform_Elements(void);
virtual CSG_String Get_MenuPath (void) { return( _TL("A:Terrain Analysis|Terrain Classification") ); }
protected:
virtual int On_Parameters_Enable (CSG_Parameters *pParameters, CSG_Parameter *pParameter);
virtual bool On_Execute (void);
private:
bool m_bToDegree;
double m_loSlope, m_hiSlope, m_loCurve, m_hiCurve;
bool Get_Memberships (double Input[], double Membership[], int &Element, double &MaxMem, double &Entropy, double &CI);
};
///////////////////////////////////////////////////////////
// //
// //
// //
///////////////////////////////////////////////////////////
//---------------------------------------------------------
#endif // #ifndef HEADER_INCLUDED__fuzzy_landform_elements_H