Quantum GIS API Documentation  1.8
src/core/raster/qgsrastershader.cpp
Go to the documentation of this file.
00001 /* **************************************************************************
00002                 qgsrastershader.cpp -  description
00003                        -------------------
00004 begin                : Fri Dec 28 2007
00005 copyright            : (C) 2007 by Peter J. Ersts
00006 email                : ersts@amnh.org
00007 
00008 ****************************************************************************/
00009 
00010 /* **************************************************************************
00011  *                                                                         *
00012  *   This program is free software; you can redistribute it and/or modify  *
00013  *   it under the terms of the GNU General Public License as published by  *
00014  *   the Free Software Foundation; either version 2 of the License, or     *
00015  *   (at your option) any later version.                                   *
00016  *                                                                         *
00017  ***************************************************************************/
00018 
00019 #include "qgslogger.h"
00020 
00021 #include "qgsrastershader.h"
00022 
00023 QgsRasterShader::QgsRasterShader( double theMinimumValue, double theMaximumValue )
00024 {
00025   QgsDebugMsg( "called." );
00026 
00027   mMinimumValue = theMinimumValue;
00028   mMaximumValue = theMaximumValue;
00029   mRasterShaderFunction = new QgsRasterShaderFunction( mMinimumValue, mMaximumValue );
00030 }
00031 
00032 QgsRasterShader::~QgsRasterShader()
00033 {
00034   delete mRasterShaderFunction;
00035 }
00036 
00046 bool QgsRasterShader::shade( double theValue, int* theReturnRedValue, int* theReturnGreenValue, int* theReturnBlueValue )
00047 {
00048   if ( 0 != mRasterShaderFunction )
00049   {
00050     return mRasterShaderFunction->shade( theValue, theReturnRedValue, theReturnGreenValue, theReturnBlueValue );
00051   }
00052 
00053   return false;
00054 }
00067 bool QgsRasterShader::shade( double theRedValue, double theGreenValue, double theBlueValue, int* theReturnRedValue, int* theReturnGreenValue, int* theReturnBlueValue )
00068 {
00069   if ( 0 != mRasterShaderFunction )
00070   {
00071     return mRasterShaderFunction->shade( theRedValue, theGreenValue, theBlueValue, theReturnRedValue, theReturnGreenValue, theReturnBlueValue );
00072   }
00073 
00074   return false;
00075 }
00076 
00082 void QgsRasterShader::setRasterShaderFunction( QgsRasterShaderFunction* theFunction )
00083 {
00084   QgsDebugMsg( "called." );
00085 
00086   if ( mRasterShaderFunction == theFunction )
00087     return;
00088 
00089   if ( 0 != theFunction )
00090   {
00091     delete mRasterShaderFunction;
00092     mRasterShaderFunction = theFunction;
00093   }
00094 }
00095 
00101 void QgsRasterShader::setMaximumValue( double theValue )
00102 {
00103   QgsDebugMsg( "Value = " + QString::number( theValue ) );
00104 
00105   mMaximumValue = theValue;
00106   if ( 0 != mRasterShaderFunction )
00107   {
00108     mRasterShaderFunction->setMaximumValue( theValue );
00109   }
00110 }
00111 
00117 void QgsRasterShader::setMinimumValue( double theValue )
00118 {
00119   QgsDebugMsg( "Value = " + QString::number( theValue ) );
00120 
00121   mMinimumValue = theValue;
00122   if ( 0 != mRasterShaderFunction )
00123   {
00124     mRasterShaderFunction->setMinimumValue( theValue );
00125   }
00126 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines