void QgsContrastEnhancement::readXML( const QDomElement& elem ) { QDomElement minValueElem = elem.firstChildElement( "minValue" ); if ( !minValueElem.isNull() ) { mMinimumValue = minValueElem.text().toDouble(); } QDomElement maxValueElem = elem.firstChildElement( "maxValue" ); if ( !maxValueElem.isNull() ) { mMaximumValue = maxValueElem.text().toDouble(); } QDomElement algorithmElem = elem.firstChildElement( "algorithm" ); if ( !algorithmElem.isNull() ) { QString algorithmString = algorithmElem.text(); ContrastEnhancementAlgorithm algorithm = NoEnhancement; // old version ( < 19 Apr 2013) was using enum directly -> for backward compatibility if ( algorithmString == "0" ) { algorithm = NoEnhancement; } else if ( algorithmString == "1" ) { algorithm = StretchToMinimumMaximum; } else if ( algorithmString == "2" ) { algorithm = StretchAndClipToMinimumMaximum; } else if ( algorithmString == "3" ) { algorithm = ClipToMinimumMaximum; } else if ( algorithmString == "4" ) { algorithm = UserDefinedEnhancement; } else { algorithm = contrastEnhancementAlgorithmFromString( algorithmString ); } setContrastEnhancementAlgorithm( algorithm ); } }
void QgsContrastEnhancement::readXML( const QDomElement& elem ) { QDomElement minValueElem = elem.firstChildElement( "minValue" ); if ( !minValueElem.isNull() ) { mMinimumValue = minValueElem.text().toDouble(); } QDomElement maxValueElem = elem.firstChildElement( "maxValue" ); if ( !maxValueElem.isNull() ) { mMaximumValue = maxValueElem.text().toDouble(); } QDomElement algorithmElem = elem.firstChildElement( "algorithm" ); if ( !algorithmElem.isNull() ) { setContrastEnhancementAlgorithm(( ContrastEnhancementAlgorithm )( algorithmElem.text().toInt() ) ); } }
QgsContrastEnhancement::QgsContrastEnhancement( const QgsContrastEnhancement& ce ) { mLookupTable = nullptr; mContrastEnhancementFunction = nullptr; mEnhancementDirty = true; mRasterDataType = ce.mRasterDataType; mMinimumValue = ce.mMinimumValue; mMaximumValue = ce.mMaximumValue; mRasterDataTypeRange = ce.mRasterDataTypeRange; mLookupTableOffset = minimumValuePossible( mRasterDataType ) * -1; // setContrastEnhancementAlgorithm sets also QgsContrastEnhancementFunction setContrastEnhancementAlgorithm( ce.mContrastEnhancementAlgorithm, false ); //If the data type is larger than 16-bit do not generate a lookup table if ( mRasterDataTypeRange <= 65535.0 ) { mLookupTable = new int[static_cast <int>( mRasterDataTypeRange+1 )]; } }