ClassifierDialog.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 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/ClassifierDialog.h
22 
23  \brief A dialog used to execute image classification.
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_CLASSIFIERDIALOG_H
27 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_CLASSIFIERDIALOG_H
28 
29 // TerraLib
30 #include "../Config.h"
31 #ifndef Q_MOC_RUN
32 #include "../../../raster/Raster.h"
33 #endif
34 
35 // Qt
36 #include <QDialog>
37 
38 // STL
39 #include <map>
40 #include <string>
41 
42 // Boost
43 #ifndef Q_MOC_RUN
44 #include <boost/shared_ptr.hpp>
45 #endif
46 
47 // Forward user interface declaration
48 namespace Ui
49 {
50  class ClassifierForm;
51 }
52 
53 namespace te
54 {
55  namespace qt
56  {
57  namespace widgets
58  {
59  /*!
60  \class ClassifierDialog
61 
62  \brief A dialog used to execute image classification.
63  */
64  class TEQTWIDGETSEXPORT ClassifierDialog : public QDialog
65  {
66  Q_OBJECT
67 
68  public:
69 
70  /*!
71  \brief Constructs a basic dialog which is a child of parent, with widget flags set to f.
72 
73  \param inputRasterPtr Input raster pointer.
74  \param inputPolygons Vector of input polygons.
75  \param outpuRasterDSType Output raster data source type (as described in te::rst::RasterFactory).
76  \param outpuRasterInfo The necessary information to create the raster (as described in te::rst::RasterFactory).
77  \param parent Parent widget pointer.
78  \param f Widget flags.
79  */
80  ClassifierDialog(const te::rst::Raster* inputRasterPtr,
81  std::vector<te::gm::Polygon*> inputPolygons,
82  const std::string& outpuRasterDSType,
83  const std::map<std::string, std::string>& outpuRasterInfo,
84  QWidget* parent = 0,
85  Qt::WindowFlags f = 0);
86 
87  /*! \brief Destructor. */
89 
90  /*!
91  \brief Returns the output result raster.
92 
93  \param outputRasterPtr A pointer to the output result raster
94 
95  \return true if OK, false on errors.
96  */
97  bool getOutputRaster(boost::shared_ptr< te::rst::Raster >& outputRasterPtr);
98 
99  protected slots:
100 
101  void on_okPushButton_clicked();
102 
103  private:
104 
105  Ui::ClassifierForm* m_uiPtr; //!< User interface.
106  const te::rst::Raster* m_inputRasterPtr; //!< Input raster pointer.
107  std::vector<te::gm::Polygon*> m_inputPolygons; //!< Vector of input polygons.
108  std::string m_outpuRasterDSType; //!< Output raster data source type (as described in te::rst::RasterFactory).
109  std::map<std::string, std::string> m_outpuRasterInfo; //!< The necessary information to create the raster (as described in te::rst::RasterFactory).
110  boost::shared_ptr<te::rst::Raster> m_outputRasterPtr; //!< Output raster pointer.
111  };
112 
113  } // end namespace widgets
114  } // end namespace qt
115 } // end namespace te
116 
117 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_CLASSIFIERDIALOG_H
std::vector< te::gm::Polygon * > m_inputPolygons
Vector of input polygons.
A dialog used to execute image classification.
std::string m_outpuRasterDSType
Output raster data source type (as described in te::rst::RasterFactory).
An abstract class for raster data strucutures.
Definition: Raster.h:71
URI C++ Library.
const te::rst::Raster * m_inputRasterPtr
Input raster pointer.
std::map< std::string, std::string > m_outpuRasterInfo
The necessary information to create the raster (as described in te::rst::RasterFactory).
Ui::ClassifierForm * m_uiPtr
User interface.
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
boost::shared_ptr< te::rst::Raster > m_outputRasterPtr
Output raster pointer.