Loading...
Searching...
No Matches
SpatialOperators.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 SpatialOperators.h
22
23 \brief Spatial operators.
24 */
25
26#ifndef __TERRALIB_FE_INTERNAL_SPATIALOPERATORS_H
27#define __TERRALIB_FE_INTERNAL_SPATIALOPERATORS_H
28
29// TerraLib
30#include "Config.h"
31
32// STL
33#include <vector>
34
35namespace te
36{
37 namespace fe
38 {
39// Forward declarations
40 class SpatialOperator;
41
42 /*!
43 \class SpatialOperators
44
45 \brief Spatial operators.
46
47 \sa SpatialCapabilities, SpatialOperator
48 */
50 {
51 public:
52
53 /** @name Initializer Methods
54 * Methods related to instantiation and destruction.
55 */
56 //@{
57
58 /*! \brief It initializes a new SpatialOperators. */
60
61 /*! \brief Destructor. */
63
64 //@}
65
66 /** @name Accessor methods
67 * Methods used to get or set properties.
68 */
69 //@{
70
71 /*!
72 \brief It returns the number of operators.
73
74 \return The number of available operators.
75 */
76 size_t size() const;
77
78 /*!
79 \brief It adds the spatial operator to the list.
80
81 \param sOp The spatial operator to be added to the list.
82
83 \note The SpatialOperators object will take the ownership of the operator. So, you must not free it.
84 */
86
87 /*!
88 \brief It returns a specified operator.
89
90 \param i The index of desired operator.
91
92 \return A specified operator.
93
94 \note You must not clear the returned operator.
95
96 \note The method will not check the index range.
97 */
98 const SpatialOperator* operator[](size_t i) const;
99
100 //@}
101
102 private:
103
104 std::vector<SpatialOperator*> m_spatialOperators; //!< Mandatory at least one.
105 };
106
107 } // end namespace fe
108} // end namespace te
109
110#endif // __TERRALIB_FE_INTERNAL_SPATIALOPERATORS_H
Spatial operator.
Spatial operators.
size_t size() const
It returns the number of operators.
void push_back(SpatialOperator *sOp)
It adds the spatial operator to the list.
~SpatialOperators()
Destructor.
std::vector< SpatialOperator * > m_spatialOperators
Mandatory at least one.
SpatialOperators()
It initializes a new SpatialOperators.
const SpatialOperator * operator[](size_t i) const
It returns a specified operator.
TerraLib.
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59
Proxy configuration file for TerraView (see terraview_config.h).