Loading...
Searching...
No Matches
Envelope.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/gml/Envelope.h
22
23 \brief Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions.
24 */
25
26#ifndef __TERRALIB_GML_INTERNAL_ENVELOPE_H
27#define __TERRALIB_GML_INTERNAL_ENVELOPE_H
28
29// TerraLib
30#include "Config.h"
31
32namespace te
33{
34 namespace gm { class Envelope; }
35
36 namespace gml
37 {
38 /*!
39 \class Envelope
40
41 \brief Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions.
42
43 The first direct position is the "lower corner" (a coordinate position
44 consisting of all the minimal ordinates for each dimension for all points
45 within the envelope), the second one the "upper corner" (a coordinate position
46 consisting of all the maximal ordinates for each dimension for all points
47 within the envelope).
48 <br>
49 The use of the properties "coordinates" and "pos" has been deprecated.
50 The explicitly named properties "lowerCorner" and "upperCorner" shall be used instead.
51 */
53 {
54 public:
55
56 /** @name Initializer Methods
57 * Methods related to instantiation and destruction.
58 */
59 //@{
60
61 /*! \brief It initializes a new empty Envelope. */
63
64 /*!
65 \brief It initializes the GML envelope with the given coordinates and srs.
66
67 \param e The envelope.
68 \param srid The envelope spatial reference system.
69 */
71
72 /*! \brief Destructor. */
74
75 //@}
76
77 /** @name Accessor methods
78 * Methods used to get or set properties.
79 */
80 //@{
81
83
84 void setCoordinates(const double& llx, const double& lly, const double& urx, const double& ury);
85
86 int getSRID() const;
87
88 void setSRID(int srid);
89
90 //@}
91
92 private:
93
94 /** @name Not Allowed Methods
95 * No copy allowed.
96 */
97 //@{
98
99 /*!
100 \brief No copy constructor allowed.
101
102 \param rhs The other object.
103 */
104 Envelope(const Envelope& rhs);
105
106 /*!
107 \brief No assignment operator allowed.
108
109 \param rhs The other object.
110
111 \return A reference for this object.
112 */
114
115 //@}
116
117 private:
118
119 te::gm::Envelope* m_envelope; //!< The envelope coordinates.
120 int m_srid; //!< The SRS associated to the envelope coordinates.
121 };
122
123 } // end namespace gml
124} // end namespace te
125
126#endif // __TERRALIB_GML_INTERNAL_ENVELOPE_H
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:52
Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimension...
Definition: Envelope.h:53
te::gm::Envelope * getCoordinates() const
~Envelope()
Destructor.
int m_srid
The SRS associated to the envelope coordinates.
Definition: Envelope.h:120
Envelope(te::gm::Envelope *e, int srid)
It initializes the GML envelope with the given coordinates and srs.
te::gm::Envelope * m_envelope
The envelope coordinates.
Definition: Envelope.h:119
Envelope(const Envelope &rhs)
No copy constructor allowed.
Envelope & operator=(const Envelope &rhs)
No assignment operator allowed.
void setSRID(int srid)
Envelope()
It initializes a new empty Envelope.
void setCoordinates(const double &llx, const double &lly, const double &urx, const double &ury)
int getSRID() const
TerraLib.
#define TEGMLEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:60
Proxy configuration file for TerraView (see terraview_config.h).