Visitor.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/Visitor.h
22 
23  \brief A visitor interface for the SymbologyEncoding hierarchy.
24 */
25 
26 #ifndef __TERRALIB_SE_INTERNAL_VISITOR_H
27 #define __TERRALIB_SE_INTERNAL_VISITOR_H
28 
29 // TerraLib
30 #include "../se_fw.h"
31 
32 namespace te
33 {
34  namespace se
35  {
36  /*!
37  \class Visitor
38 
39  \brief A visitor interface for the SymbologyEncoding hierarchy.
40  */
41  class Visitor
42  {
43  public:
44 
45  /** @name Initializer Methods
46  * Methods related to instantiation and destruction.
47  */
48  //@{
49 
50  /*! \brief Default constructor. */
51  Visitor() {}
52 
53  /*! \brief Virtual destructor. */
54  virtual ~Visitor() {}
55 
56  //@}
57 
58  /** @name Select
59  * All concrete visitors must implement these methods.
60  */
61  //@{
62 
63  virtual void visit(const Style& visited) = 0;
64  virtual void visit(const FeatureTypeStyle& visited) = 0;
65  virtual void visit(const CoverageStyle& visited) = 0;
66  virtual void visit(const Symbolizer& visited) = 0;
67  virtual void visit(const PolygonSymbolizer& visited) = 0;
68  virtual void visit(const LineSymbolizer& visited) = 0;
69  virtual void visit(const PointSymbolizer& visited) = 0;
70  virtual void visit(const TextSymbolizer& visited) = 0;
71  virtual void visit(const RasterSymbolizer& visited) = 0;
72 
73  //@}
74  };
75 
76  } // end namespace se
77 } // end namespace te
78 
79 #endif // __TERRALIB_SE_INTERNAL_VISITOR_H
A TextSymbolizer is used to render text labels according to various graphical parameters.
The Style defines the styling that is to be applied to a geographic dataset (vector geometries or cov...
Definition: Style.h:65
A PolygonSymbolizer is used to draw a polygon (or other area-type geometries), including filling its ...
A Symbolizer describes how a feature is to appear on a map.
Definition: Symbolizer.h:80
The CoverageStyle defines the styling that is to be applied to a subset of Coverage data...
Definition: CoverageStyle.h:45
virtual ~Visitor()
Virtual destructor.
Definition: Visitor.h:54
A PointSymbolizer specifies the rendering of a graphic Symbolizer at a point.
A visitor interface for the SymbologyEncoding hierarchy.
Definition: Visitor.h:41
Visitor()
Default constructor.
Definition: Visitor.h:51
virtual void visit(const Style &visited)=0
The FeatureTypeStyle defines the styling that is to be applied to a dataset that can be viewed as a f...
URI C++ Library.
The RasterSymbolizer describes how to render raster/matrix-coverage data (e.g., satellite photos...
A LineSymbolizer is used to style a stroke along a linear geometry type, such as a string of line seg...