Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Text.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 Text.h
22
23
\brief An Text consists of a Envelope and a Text Element array.
24
*/
25
26
#ifndef __TERRALIB_ANNOTATIONTEXT_INTERNAL_TEXT_H
27
#define __TERRALIB_ANNOTATIONTEXT_INTERNAL_TEXT_H
28
29
// TerraLib
30
#include "
Config.h
"
31
#include "../geometry/Envelope.h"
32
#include "../common/STLUtils.h"
33
34
namespace
te
35
{
36
// Forward declarations
37
namespace
gm
38
{
39
class
Envelope;
40
}
41
42
namespace
at
43
{
44
class
Element;
45
46
/*!
47
\class Text
48
49
\brief A Text may contain 1 or more Text Elements.
50
*/
51
class
TEANNOTATIONTEXTEXPORT
Text
52
{
53
public
:
54
55
/*! \brief Text constructor. */
56
Text
();
57
58
/*! \brief Text destructor. */
59
~
Text
();
60
61
/*!
62
\brief It clones the Text.
63
64
\return A copy of the given Text.
65
66
\note The caller of this method will take the ownership of the returned Text.
67
*/
68
Text
* clone();
69
70
/*!
71
\brief It sets the envelope.
72
73
\param envelope The envelope.
74
*/
75
void
setEnvelope(
const
te::gm::Envelope
& envelope);
76
77
/*!
78
\brief It returns the envelope.
79
80
\return The envelope.
81
*/
82
const
te::gm::Envelope
& getEnvelope();
83
84
/*!
85
\brief It sets the elements.
86
87
\param envelope The envelope.
88
89
\note The Text will become owner of elements.
90
*/
91
void
setElements(
const
std::vector<Element*> elements);
92
93
/*!
94
\brief It returns the elements.
95
96
\return The elements.
97
*/
98
const
std::vector<Element*>& getElements()
const
;
99
100
/*!
101
\brief It adds the element.
102
103
\param element The element to be added.
104
105
\note The Text will become owner of the element.
106
*/
107
void
add(
Element
* element);
108
109
private
:
110
111
/** @name Not Allowed Methods
112
* No copy allowed.
113
*/
114
//@{
115
116
/*!
117
\brief No copy constructor allowed.
118
119
\param rhs The other Text.
120
*/
121
Text
(
const
Text
& rhs);
122
123
/*!
124
\brief No assignment operator allowed.
125
126
\param rhs The other Text.
127
128
\return A reference for this.
129
*/
130
Text
& operator=(
const
Text
& rhs);
131
132
private
:
133
134
te::gm::Envelope
m_envelope
;
// envelope
135
std::vector<Element*>
m_elements
;
// elements
136
};
137
138
}
// end namespace at
139
}
// end namespace te
140
141
#endif // __TERRALIB_ANNOTATIONTEXT_INTERNAL_TEXT_H
142
te::at::Text::m_envelope
te::gm::Envelope m_envelope
Definition:
Text.h:134
Config.h
te::at::Element
Definition:
annotationtext/Element.h:55
te::at::Text
A Text may contain 1 or more Text Elements.
Definition:
Text.h:51
te::gm::Envelope
An Envelope defines a 2D rectangular region.
Definition:
geometry/Envelope.h:51
te
URI C++ Library.
Definition:
Attributes.h:37
TEANNOTATIONTEXTEXPORT
#define TEANNOTATIONTEXTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition:
attic/src/annotationtext/Config.h:59
te::at::Text::m_elements
std::vector< Element * > m_elements
Definition:
Text.h:135
terralib5_src
attic
src
annotationtext
Text.h
Generated on Wed Jun 6 2018 12:16:15 for TerraLib by
1.8.11