Profile.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2009 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/mnt/core/Profile.h
22 
23  \brief This file contains a class that represents the profile.
24 
25  \reference Adapted from TerraLib4.
26 */
27 
28 #ifndef __TERRALIB_MNT_INTERNAL_PROFILE_H
29 #define __TERRALIB_MNT_INTERNAL_PROFILE_H
30 
31 // Terralib Includes
32 #include "Config.h"
33 //#include "CreateIsolinesParams.h"
34 
35 #include "../../../../src/terralib/dataaccess.h"
36 #include "../../../../src/terralib/dataaccess/datasource/DataSourceFactory.h"
37 #include "../../../../src/terralib/memory/DataSet.h"
38 #include "../../../../src/terralib/common/Holder.h"
39 #include "../../../../src/terralib/statistics/core/Enums.h"
40 
41 // STL Includes
42 #include <map>
43 #include <memory>
44 
45 
46 namespace te
47 {
48  //forward declarations
49  namespace da { class DataSetType; }
50  namespace gm { class Geometry; }
51  namespace mem { class DataSet; }
52 }
53 
54 
55 namespace te
56 {
57  namespace mnt
58  {
60  {
61  /*!
62  \class CreateIsolines
63 
64  \brief Class used to execute the create isolines
65 
66  */
67 
68  public:
69 
70  /*! \brief Default constructor. */
71  Profile();
72 
73  /*! \brief Virtual destructor. */
74  ~Profile();
75 
76  public:
77 
78  bool runRasterProfile(std::auto_ptr<te::rst::Raster> raster, std::vector<te::gm::LineString*> visadas, std::vector<te::gm::LineString*>& profileSet);
79  std::vector<te::gm::LineString*> prepareVector(std::string &inDsetName, te::da::DataSourcePtr &inDsrc, std::string &geostype);
80 
81  std::auto_ptr<te::mem::DataSet> createDataSet(te::da::DataSet* inputDataSet, te::da::DataSetType* dsType);
82  std::auto_ptr<te::rst::Raster> getPrepareRaster();
83  void setInput(te::da::DataSourcePtr inRasterDsrc, std::string inRasterName, std::auto_ptr<te::da::DataSetType> inDsetType, double dummy);
84  int m_srid;
85  double m_dummy;
87  std::string m_inRasterName;
88  std::auto_ptr<te::da::DataSetType> m_inRasterDsType;
89 
90 
91  };
92  }
93 }
94 
95 #endif //__TERRALIB_MNT_INTERNAL_CREATEISOLINES_H
std::string m_inRasterName
Definition: Profile.h:87
te::da::DataSourcePtr m_inRasterDsrc
Definition: Profile.h:86
boost::shared_ptr< DataSource > DataSourcePtr
Definition: DataSource.h:1435
std::auto_ptr< te::da::DataSetType > m_inRasterDsType
Definition: Profile.h:88
A class that models the description of a dataset.
Definition: DataSetType.h:72
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:41
URI C++ Library.
double m_dummy
Definition: Profile.h:85
A dataset is the unit of information manipulated by the data access module of TerraLib.
Definition: DataSet.h:112