[QGIS Commit] r14027 - branches/threading-branch/src/core/raster

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sun Aug 8 05:16:18 EDT 2010


Author: wonder
Date: 2010-08-08 09:16:18 +0000 (Sun, 08 Aug 2010)
New Revision: 14027

Modified:
   branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.cpp
   branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.h
Log:
Small optimizations in raster rendering - contrast enhancement function


Modified: branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.cpp
===================================================================
--- branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.cpp	2010-08-07 22:05:59 UTC (rev 14026)
+++ branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.cpp	2010-08-08 09:16:18 UTC (rev 14027)
@@ -24,6 +24,9 @@
   mMaximumValue = theMaximumValue;
   mMinimumValue = theMinimumValue;
   mMinimumMaximumRange = mMaximumValue - mMinimumValue;
+
+  mMinimumValuePossible = QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType );
+  mMaximumValuePossible = QgsContrastEnhancement::maximumValuePossible( mQgsRasterDataType );
 }
 
 
@@ -35,14 +38,14 @@
   }
   else
   {
-    return static_cast<int>(((( theValue - QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType ) ) / ( QgsContrastEnhancement::maximumValuePossible( mQgsRasterDataType ) - QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType ) ) )*255.0 ) );
+    return static_cast<int>(((( theValue - mMinimumValuePossible ) / ( mMaximumValuePossible - mMinimumValuePossible ) )*255.0 ) );
   }
 }
 
 bool QgsContrastEnhancementFunction::isValueInDisplayableRange( double theValue )
 {
   //A default check is to see if the provided value is with the range for the data type
-  if ( theValue < QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType ) || theValue > QgsContrastEnhancement::maximumValuePossible( mQgsRasterDataType ) )
+  if ( theValue < mMinimumValuePossible || theValue > mMaximumValuePossible )
   {
     return false;
   }
@@ -52,9 +55,9 @@
 
 void QgsContrastEnhancementFunction::setMaximumValue( double theValue )
 {
-  if ( QgsContrastEnhancement::maximumValuePossible( mQgsRasterDataType ) < theValue )
+  if ( mMaximumValuePossible < theValue )
   {
-    mMaximumValue = QgsContrastEnhancement::maximumValuePossible( mQgsRasterDataType );
+    mMaximumValue = mMaximumValuePossible;
   }
   else
   {
@@ -67,9 +70,9 @@
 void QgsContrastEnhancementFunction::setMinimumValue( double theValue )
 {
 
-  if ( QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType ) > theValue )
+  if ( mMinimumValuePossible > theValue )
   {
-    mMinimumValue = QgsContrastEnhancement::minimumValuePossible( mQgsRasterDataType );
+    mMinimumValue = mMinimumValuePossible;
   }
   else
   {

Modified: branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.h
===================================================================
--- branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.h	2010-08-07 22:05:59 UTC (rev 14026)
+++ branches/threading-branch/src/core/raster/qgscontrastenhancementfunction.h	2010-08-08 09:16:18 UTC (rev 14027)
@@ -58,6 +58,8 @@
 
     /** \brief Data type of the band */
     QgsContrastEnhancement::QgsRasterDataType mQgsRasterDataType;
+
+    double mMinimumValuePossible, mMaximumValuePossible;
 };
 
 #endif



More information about the QGIS-commit mailing list