GeometricOpMemory.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 GeometricMemory.h
22 
23  \brief
24 
25  \ingroup vp
26 */
27 
28 #ifndef __TERRALIB_VP_INTERNAL_GEOMETRIC_OP_MEMORY_H
29 #define __TERRALIB_VP_INTERNAL_GEOMETRIC_OP_MEMORY_H
30 
31 //Terralib
32 #include "../geometry/Geometry.h"
33 #include "../memory/DataSet.h"
34 
35 #include "GeometricOp.h"
36 #include "Exception.h"
37 
38 namespace te
39 {
40  namespace vp
41  {
43  {
44 
45  public:
46 
48 
50 
51  bool run() throw(te::common::Exception);
52 
53  protected:
54 
55  te::mem::DataSet* SetAllObjects(te::da::DataSetType* dsType,
56  std::vector<int> tabVec,
57  std::vector<int> geoVec);
58 
59  te::mem::DataSet* SetAggregObj( te::da::DataSetType* dsType,
60  std::vector<int> tabVec,
61  std::vector<int> geoVec);
62 
63  te::mem::DataSet* SetAggregByAttribute( te::da::DataSetType* dsType,
64  std::vector<int> tabVec,
65  std::vector<int> geoVec);
66 
67  double CalculateTabularOp(int tabOperation,
68  te::gm::Geometry* geom);
69 
70  }; // end class
71  } // end namespace vp
72 } // end namespace te
73 
74 #endif // __TERRALIB_VP_INTERNAL_GEOMETRIC_OP_MEMORY_H
75 
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:61
An exception class for the Vector processing module.
A class that models the description of a dataset.
Definition: DataSetType.h:72
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
Definition: DataSet.h:65
URI C++ Library.
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
Definition: Exception.h:58
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Definition: Geometry.h:74
Geometric operation.