Branch data Line data Source code
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 : : 19 : : #include "qgslinearminmaxenhancementwithclip.h" 20 : : 21 : 0 : QgsLinearMinMaxEnhancementWithClip::QgsLinearMinMaxEnhancementWithClip( Qgis::DataType qgsRasterDataType, double minimumValue, double maximumValue ) : QgsContrastEnhancementFunction( qgsRasterDataType, minimumValue, maximumValue ) 22 : 0 : { 23 : 0 : } 24 : : 25 : 0 : int QgsLinearMinMaxEnhancementWithClip::enhance( double value ) 26 : : { 27 : 0 : if ( value < mMinimumValue || value > mMaximumValue ) 28 : : { 29 : 0 : return -1; 30 : : } 31 : : 32 : 0 : int myStretchedValue = static_cast<int>( ( ( value - mMinimumValue ) / ( mMinimumMaximumRange ) ) * 255.0 ); 33 : 0 : if ( myStretchedValue < 0 ) 34 : : { 35 : 0 : return 0; 36 : : } 37 : 0 : else if ( myStretchedValue > 255 ) 38 : : { 39 : 0 : return 255; 40 : : } 41 : : 42 : 0 : return myStretchedValue; 43 : 0 : } 44 : : 45 : 0 : bool QgsLinearMinMaxEnhancementWithClip::isValueInDisplayableRange( double value ) 46 : : { 47 : 0 : return !( value < mMinimumValue || value > mMaximumValue ); 48 : : }