All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
FusionWizardPage.h
Go to the documentation of this file.
1 /* Copyright (C) 2011-2012 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/qt/widgets/rp/FusionWizardPage.h
22 
23  \brief This file defines a class for a Fusion Wizard page.
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
27 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
28 
29 // TerraLib
30 #include "../../../maptools/AbstractLayer.h"
31 #include "../../../rp/IHSFusion.h"
32 #include "../../../rp/PCAFusion.h"
33 #include "../Config.h"
34 
35 // STL
36 #include <memory>
37 
38 // Qt
39 #include <QWizardPage>
40 
41 
42 // Forward declaration
43 namespace Ui { class FusionWizardPageForm; }
44 
45 namespace te
46 {
47  namespace qt
48  {
49  namespace widgets
50  {
51  /*!
52  \class FusionWizardPage
53 
54  \brief This class is GUI used to define the fusion parameters for the RP fusion operation.
55  */
56  class TEQTWIDGETSEXPORT FusionWizardPage : public QWizardPage
57  {
59  {
61  FUSION_PCA
62  };
63 
64  public:
65 
66  FusionWizardPage(QWidget* parent = 0);
67 
69 
70  bool isComplete() const;
71 
72  public:
73 
74  /*!
75  \brief This method is used to set the selected layer for classifier operation
76 
77  \param layer The layer ptr
78 
79  \note This layer MUST HAVE a valid raster object.
80  */
81  void setLower(te::map::AbstractLayerPtr layer);
82 
83  /*!
84  \brief This method is used to set the selected layer for classifier operation
85 
86  \param layer The layer ptr
87 
88  \note This layer MUST HAVE a valid raster object.
89  */
90  void setHigher(te::map::AbstractLayerPtr layer);
91 
92  bool isIHSFusion();
93 
94  bool isPCAFusion();
95 
96  bool cropRasters();
97 
98  te::rp::IHSFusion::InputParameters getInputIHSParams();
99 
100  te::rp::IHSFusion::OutputParameters getOutputIHSParams();
101 
102  te::rp::PCAFusion::InputParameters getInputPCAParams();
103 
104  te::rp::PCAFusion::OutputParameters getOutputPCAParams();
105 
106  protected:
107 
108  void fillFusionTypes();
109 
110  void listBandsLower();
111 
112  void listBandsHigher();
113 
114  private:
115 
116  std::auto_ptr<Ui::FusionWizardPageForm> m_ui;
117 
120  };
121 
122  } // end namespace widgets
123  } // end namespace qt
124 } // end namespace te
125 
126 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
te::map::AbstractLayerPtr m_layerLower
IHSFusion output parameters.
Definition: IHSFusion.h:108
IHSFusion input parameters.
Definition: IHSFusion.h:64
PCAFusion output parameters.
Definition: PCAFusion.h:96
std::auto_ptr< Ui::FusionWizardPageForm > m_ui
This class is GUI used to define the fusion parameters for the RP fusion operation.
PCAFusion input parameters.
Definition: PCAFusion.h:58
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:66
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
te::map::AbstractLayerPtr m_layerHigher