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