Displacement.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/Displacement.h
22 
23  \brief A Displacement gives X and Y offset displacements to use for rendering a text label, graphic or other Symbolizer near a point.
24 */
25 
26 #ifndef __TERRALIB_SE_INTERNAL_DISPLACEMENT_H
27 #define __TERRALIB_SE_INTERNAL_DISPLACEMENT_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 // Boost
33 #include <boost/noncopyable.hpp>
34 
35 namespace te
36 {
37  namespace se
38  {
39 // Forward declaration
40  class ParameterValue;
41 
42  /*!
43  \class Displacement
44 
45  \brief A Displacement gives X and Y offset displacements to use for rendering a text label, graphic or other Symbolizer near a point.
46 
47  This element may be used to avoid over-plotting of
48  multiple graphic symbols used as part of the same point
49  symbol. The displacements are in units of measure above
50  and to the right of the point. The default displacement
51  is X = 0, Y = 0.
52  <br>
53  If Displacement is used in conjunction with Size and/or Rotation
54  then the graphic symbol shall be scaled and/or rotated before it is displaced.
55 
56  \sa Graphic, ParameterValue, PointPlacement
57  */
58  class TESEEXPORT Displacement : public boost::noncopyable
59  {
60  public:
61 
62  /** @name Initializer Methods
63  * Methods related to instantiation and destruction.
64  */
65  //@{
66 
67  /*! \brief It initializes a new Displacement. */
68  Displacement();
69 
70  /*! \brief Destructor. */
71  ~Displacement();
72 
73  //@}
74 
75  /** @name Accessor methods
76  * Methods used to get or set properties.
77  */
78  //@{
79 
80  void setDisplacementX(ParameterValue* x);
81 
82  const ParameterValue* getDisplacementX() const;
83 
84  void setDisplacementY(ParameterValue* y);
85 
86  const ParameterValue* getDisplacementY() const;
87 
88  //@}
89 
90  /*! \brief It creates a new copy of this object. */
91  Displacement* clone() const;
92 
93  private:
94 
95  ParameterValue* m_x; //!< It gives the X offset displacement.
96  ParameterValue* m_y; //!< It gives the Y offset displacement.
97  };
98 
99  } // end namespace se
100 } // end namespace te
101 
102 #endif // __TERRALIB_SE_INTERNAL_DISPLACEMENT_H
103 
ParameterValue * m_y
It gives the Y offset displacement.
Definition: Displacement.h:96
A Displacement gives X and Y offset displacements to use for rendering a text label, graphic or other Symbolizer near a point.
Definition: Displacement.h:58
The "ParameterValueType" uses WFS-Filter expressions to give values for SE graphic parameters...
URI C++ Library.
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:187
Configuration flags for the Symbology Encoding support of TerraLib.
ParameterValue * m_x
It gives the X offset displacement.
Definition: Displacement.h:95