~ubuntu-branches/ubuntu/wily/qgis/wily

« back to all changes in this revision

Viewing changes to src/core/raster/qgscontrastenhancementfunction.h

  • Committer: Bazaar Package Importer
  • Author(s): Johan Van de Wauw
  • Date: 2010-07-11 20:23:24 UTC
  • mfrom: (3.1.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100711202324-5ktghxa7hracohmr
Tags: 1.4.0+12730-3ubuntu1
* Merge from Debian unstable (LP: #540941).
* Fix compilation issues with QT 4.7
* Add build-depends on libqt4-webkit-dev 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* **************************************************************************
 
2
              qgscontrastenhancementfunction.h -  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
#ifndef QGSCONTRASTENHANCEMENTFUNCTION_H
 
20
#define QGSCONTRASTENHANCEMENTFUNCTION_H
 
21
 
 
22
#include "qgscontrastenhancement.h"
 
23
 
 
24
/** \ingroup core
 
25
 * A contrast enhancement funcion is the base class for all raster contrast enhancements.
 
26
 *
 
27
 * The purpose of a contrast enhancement is to enhanceContrast or clip a pixel value into
 
28
 * a specified bounding range.
 
29
 */
 
30
class CORE_EXPORT QgsContrastEnhancementFunction
 
31
{
 
32
 
 
33
  public:
 
34
    QgsContrastEnhancementFunction( QgsContrastEnhancement::QgsRasterDataType, double, double );
 
35
    virtual ~QgsContrastEnhancementFunction() {}
 
36
 
 
37
    /** \brief A customizable method that takes in a double and returns a int between 0 and 255 */
 
38
    virtual int enhance( double );
 
39
 
 
40
    /** \brief A customicable method to indicate if the pixels is displayable */
 
41
    virtual bool isValueInDisplayableRange( double );
 
42
 
 
43
    /** \brief Mustator for the maximum value */
 
44
    void setMaximumValue( double );
 
45
 
 
46
    /** \brief Mutator for the minimum value */
 
47
    void setMinimumValue( double );
 
48
 
 
49
  protected:
 
50
    /** \brief User defineable maximum value for the band, used for enhanceContrasting */
 
51
    double mMaximumValue;
 
52
 
 
53
    /** \brief User defineable minimum value for the band, used for enhanceContrasting */
 
54
    double mMinimumValue;
 
55
 
 
56
    /** \brief Minimum maximum range for the band, used for enhanceContrasting */
 
57
    double mMinimumMaximumRange;
 
58
 
 
59
    /** \brief Data type of the band */
 
60
    QgsContrastEnhancement::QgsRasterDataType mQgsRasterDataType;
 
61
};
 
62
 
 
63
#endif