QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
qgslinearminmaxenhancementwithclip.cpp
Go to the documentation of this file.
1 /* **************************************************************************
2  qgslinearminmaxenhancementwithclip.cpp - description
3  -------------------
4 begin : Fri Nov 16 2007
5 copyright : (C) 2007 by Peter J. Ersts
6 email : ersts@amnh.org
7 
8 ****************************************************************************/
9 
10 /* **************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
20 
21 QgsLinearMinMaxEnhancementWithClip::QgsLinearMinMaxEnhancementWithClip( QGis::DataType theQgsRasterDataType, double theMinimumValue, double theMaximumValue ) : QgsContrastEnhancementFunction( theQgsRasterDataType, theMinimumValue, theMaximumValue )
22 {
23 }
24 
26 {
27  if ( theValue < mMinimumValue || theValue > mMaximumValue )
28  {
29  return -1;
30  }
31 
32  int myStretchedValue = static_cast<int>((( theValue - mMinimumValue ) / ( mMinimumMaximumRange ) ) * 255.0 );
33  if ( myStretchedValue < 0 )
34  {
35  return 0;
36  }
37  else if ( myStretchedValue > 255 )
38  {
39  return 255;
40  }
41 
42  return myStretchedValue;
43 }
44 
46 {
47  if ( theValue < mMinimumValue || theValue > mMaximumValue )
48  {
49  return false;
50  }
51 
52  return true;
53 }
int enhance(double)
A customizable method that takes in a double and returns a int between 0 and 255. ...
double mMinimumMaximumRange
Minimum maximum range for the band, used for enhanceContrasting.
A contrast enhancement funcion is the base class for all raster contrast enhancements.
double mMaximumValue
User defineable maximum value for the band, used for enhanceContrasting.
DataType
Raster data types.
Definition: qgis.h:204
double mMinimumValue
User defineable minimum value for the band, used for enhanceContrasting.
QgsLinearMinMaxEnhancementWithClip(QGis::DataType, double, double)
bool isValueInDisplayableRange(double)
A customicable method to indicate if the pixels is displayable.