PointSymbolizer.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/se/PointSymbolizer.h
22 
23  \brief A PointSymbolizer specifies the rendering of a graphic Symbolizer at a point.
24 */
25 
26 #ifndef __TERRALIB_SE_INTERNAL_POINTSYMBOLIZER_H
27 #define __TERRALIB_SE_INTERNAL_POINTSYMBOLIZER_H
28 
29 // TerraLib
30 #include "Symbolizer.h"
31 
32 namespace te
33 {
34  namespace fe { class PropertyName; }
35 
36  namespace se
37  {
38  /*!
39  \class PointSymbolizer
40 
41  \brief A PointSymbolizer specifies the rendering of a graphic Symbolizer at a point.
42 
43  In the PointSymbolizer case, if a line, polygon, or raster geometry
44  is used, then the semantic is to
45  use the centroid of the geometry, or any similar
46  representative point.
47 
48  \ingroup se
49 
50  \sa Symbolizer, Graphic, te::fe::PropertyName
51  */
53  {
54  public:
55 
57 
58  /** @name Initializer Methods
59  * Methods related to instantiation and destruction.
60  */
61  //@{
62 
63  /*! \brief It initializes a new PointSymbolizer. */
65 
66  /*!
67  \brief Copy constructor.
68 
69  \param rhs The other point symbolizer.
70  */
72 
73  /*! \brief Destructor */
75 
76  //@}
77 
78  /** @name Accessor methods
79  * Methods used to get or set properties.
80  */
81  //@{
82 
84 
86 
87  void setGraphic(Graphic* graphic);
88 
89  const Graphic* getGraphic() const;
90 
91  const std::string& getType() const;
92 
93  //@}
94 
95  /*! \brief It creates a new copy of this object. */
96  Symbolizer* clone() const;
97 
98  private:
99 
100  te::fe::PropertyName* m_geometry; //!< A Geometry gives reference to a (the) geometry property of a feature to be used for rendering. (Optional)
101  Graphic* m_graphic; //!< A Graphic specifies or refers to a graphic Symbolizer with inherent shape, size, and coloring. (Optional)
102 
103  static const std::string sm_type; //!< A static data member used in the implementation of getType method.
104  };
105 
106  } // end namespace se
107 } // end namespace te
108 
109 #endif // __TERRALIB_SE_INTERNAL_POINTSYMBOLIZER_H
110 
te::se::PointSymbolizer::getType
const std::string & getType() const
It returns the symbolizer type.
te
TerraLib.
Definition: AddressGeocodingOp.h:52
te::se::PointSymbolizer::PointSymbolizer
PointSymbolizer()
It initializes a new PointSymbolizer.
te::se::PointSymbolizer::clone
Symbolizer * clone() const
It creates a new copy of this object.
te::se::PointSymbolizer::m_graphic
Graphic * m_graphic
A Graphic specifies or refers to a graphic Symbolizer with inherent shape, size, and coloring....
Definition: PointSymbolizer.h:101
te::se::PointSymbolizer::~PointSymbolizer
~PointSymbolizer()
Destructor.
te::se::PointSymbolizer
A PointSymbolizer specifies the rendering of a graphic Symbolizer at a point.
Definition: PointSymbolizer.h:53
te::se::PointSymbolizer::setGraphic
void setGraphic(Graphic *graphic)
te::se::PointSymbolizer::sm_type
static const std::string sm_type
A static data member used in the implementation of getType method.
Definition: PointSymbolizer.h:103
te::se::PointSymbolizer::PointSymbolizer
PointSymbolizer(const PointSymbolizer &rhs)
Copy constructor.
TESEEXPORT
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:201
Symbolizer.h
A Symbolizer describes how a Feature is to appear on a map.
te::se::PointSymbolizer::m_geometry
te::fe::PropertyName * m_geometry
A Geometry gives reference to a (the) geometry property of a feature to be used for rendering....
Definition: PointSymbolizer.h:100
TE_DEFINE_VISITABLE
#define TE_DEFINE_VISITABLE
Definition: BaseVisitable.h:75
te::se::PointSymbolizer::getGraphic
const Graphic * getGraphic() const
te::se::PointSymbolizer::getGeometry
const te::fe::PropertyName * getGeometry() const
te::fe::PropertyName
This class is used to encode the name of any property of an object.
Definition: PropertyName.h:55
te::se::Graphic
A Graphic is a graphic symbol with an inherent shape, color(s), and possibly size.
Definition: Graphic.h:67
te::se::Symbolizer
A Symbolizer describes how a feature is to appear on a map.
Definition: Symbolizer.h:81
te::se::PointSymbolizer::setGeometry
void setGeometry(te::fe::PropertyName *geometry)