SymbologySerializer.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/serialization/xml/SymbologySerializer.h
22 
23  \brief Data serialization for the Symbology Encoder module.
24 */
25 
26 #ifndef __TERRALIB_SE_SERIALIZATION_XML_INTERNAL_SYMBOLOGYSERIALIZER_H
27 #define __TERRALIB_SE_SERIALIZATION_XML_INTERNAL_SYMBOLOGYSERIALIZER_H
28 
29 // TerraLib
30 #include "../../Config.h"
31 #include "../../RasterSymbolizer.h"
32 
33 //#ifdef TE_ENABLED_XML
34 
35 namespace te
36 {
37  namespace xml
38  {
39  class AbstractWriter;
40  class Reader;
41  }
42 
43  namespace se
44  {
45  class AnchorPoint;
46  class Categorize;
47  class ChannelSelection;
48  class ColorMap;
49  class ContrastEnhancement;
50  class Description;
51  class ExternalGraphic;
52  class Fill;
53  class Font;
54  class Graphic;
55  class GraphicStroke;
56  class Halo;
57  class ImageOutline;
58  class InlineContent;
59  class Interpolate;
60  class InterpolationPoint;
61  class LabelPlacement;
62  class LinePlacement;
63  class MapItem;
64  class Mark;
65  class ParameterValue;
66  class PointPlacement;
67  class Recode;
68  class Rule;
69  class SelectedChannel;
70  class ShadedRelief;
71  class Stroke;
72  class Style;
73  class SvgParameter;
74  class Symbolizer;
75 
76  namespace serialize
77  {
79 
81 
83 
85 
87 
89 
91 
93 
95 
97 
99 
101 
103 
105 
107 
109 
111 
112  TESEEXPORT void Save(const te::se::Fill* fill, te::xml::AbstractWriter& writer);
113 
115 
116  TESEEXPORT void Save(const te::se::Font* font, te::xml::AbstractWriter& writer);
117 
119 
120  TESEEXPORT void Save(const te::se::Graphic* graphic, te::xml::AbstractWriter& writer);
121 
123 
124  TESEEXPORT void Save(const te::se::GraphicStroke* graphicStroke, te::xml::AbstractWriter& writer);
125 
127 
128  TESEEXPORT void Save(const te::se::Halo* halo, te::xml::AbstractWriter& writer);
129 
131 
132  TESEEXPORT void Save(const te::se::ImageOutline* imageOutline, te::xml::AbstractWriter& writer);
133 
135 
137 
139 
140  TESEEXPORT void Save(const te::se::Interpolate* interpolate, te::xml::AbstractWriter& writer);
141 
143 
145 
147 
149 
151 
153 
155 
156  TESEEXPORT void Save(const te::se::MapItem* mapItem, te::xml::AbstractWriter& writer);
157 
159 
160  TESEEXPORT void Save(const te::se::Mark* mark, te::xml::AbstractWriter& writer);
161 
163 
165 
167 
169 
171 
173 
175 
176  TESEEXPORT void Save(const te::se::Recode* rule, te::xml::AbstractWriter& writer);
177 
179 
180  TESEEXPORT void Save(const te::se::Rule* rule, te::xml::AbstractWriter& writer);
181 
183 
185 
187 
189 
191 
192  TESEEXPORT void Save(const te::se::Stroke* stroke, te::xml::AbstractWriter& writer);
193 
195 
197 
198  } // end namespace serialize
199  } // end namespace se
200 } // end namespace te
201 
202 //#endif // TE_ENABLED_XML
203 
204 #endif // __TERRALIB_SE_SERIALIZATION_XML_INTERNAL_SYMBOLOGYSERIALIZER_H
TESEEXPORT RasterSymbolizer::OverlapBehavior ReadOverlapBehavior(te::xml::Reader &reader)
A selected channel to be display.
A Description gives human-readable descriptive information for the object it is included within...
Definition: Description.h:56
The transformation of continuous values to distinct values (Categorize function). ...
Definition: Categorize.h:90
TESEEXPORT te::se::ImageOutline * ReadImageOutline(te::xml::Reader &reader)
A Mark specifies a geometric shape and applies coloring to it.
Definition: Mark.h:84
TESEEXPORT te::se::ParameterValue * ReadParameterValue(te::xml::Reader &reader)
This class models a XML reader object.
Definition: Reader.h:55
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
TESEEXPORT te::se::Stroke * ReadStroke(te::xml::Reader &reader)
A LinePlacement specifies how a text label should be rendered relative to a linear geometry...
Definition: LinePlacement.h:61
TESEEXPORT te::se::Categorize * ReadCategorize(te::xml::Reader &reader)
The LabelPlacement specifies where and how a text label should be rendered relative to a geometry...
TESEEXPORT void Save(const te::se::AnchorPoint *ap, te::xml::AbstractWriter &writer)
TESEEXPORT te::se::ExternalGraphic * ReadExternalGraphic(te::xml::Reader &reader)
This class models a XML writer object.
TESEEXPORT te::se::LabelPlacement * ReadLabelPlacement(te::xml::Reader &reader)
A Graphic is a graphic symbol with an inherent shape, color(s), and possibly size.
Definition: Graphic.h:66
The transformation of continuous values to a number of values (Interpolate function).
Definition: Interpolate.h:88
TESEEXPORT te::se::SelectedChannel * ReadSelectedChannel(te::xml::Reader &reader)
InlineContent is XML- or base64-encoded encoded content in some externally-defined format that is inc...
Definition: InlineContent.h:51
The "ParameterValueType" uses WFS-Filter expressions to give values for SE graphic parameters...
TESEEXPORT te::se::Graphic * ReadGraphic(te::xml::Reader &reader)
An AnchorPoint identifies the location inside of a text label to use an 'anchor' for positioning it r...
Definition: AnchorPoint.h:63
TESEEXPORT te::se::AnchorPoint * ReadAnchorPoint(te::xml::Reader &reader)
TESEEXPORT te::se::PointPlacement * ReadPointPlacement(te::xml::Reader &reader)
A PointPlacement specifies how a text label should be rendered relative to a geometric point...
The ExternalGraphic allows a reference to be made to an external graphic file with a Web URL or to in...
OverlapBehavior
OverlapBehavior tells a system how to behave when multiple raster images in a layer overlap each othe...
TESEEXPORT te::se::GraphicStroke * ReadGraphicStroke(te::xml::Reader &reader)
URI C++ Library.
ContrastEnhancement defines the 'stretching' of contrast for a channel of a false-color image or for ...
TESEEXPORT te::se::LinePlacement * ReadLinePlacement(te::xml::Reader &reader)
A Font specifies the text font to use in a text symbolizer.
Definition: Font.h:63
TESEEXPORT te::se::Displacement * ReadDisplacement(te::xml::Reader &reader)
ImageOutline specifies how individual source rasters in a multi-raster set (such as a set of satellit...
Definition: ImageOutline.h:53
A Fill specifies the pattern for filling an area geometry.
Definition: Fill.h:59
TESEEXPORT te::se::ShadedRelief * ReadShadedRelief(te::xml::Reader &reader)
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:187
TESEEXPORT te::se::Description * ReadDescription(te::xml::Reader &reader)
Transformation of discrete values to other values.
Definition: Recode.h:75
TESEEXPORT te::se::ContrastEnhancement * ReadContrastEnhancement(te::xml::Reader &reader)
TESEEXPORT te::se::Mark * ReadMark(te::xml::Reader &reader)
TESEEXPORT te::se::Halo * ReadHalo(te::xml::Reader &reader)
A Rule is used to attach property/scale conditions to and group the individual symbols used for rende...
Definition: Rule.h:78
TESEEXPORT te::se::Fill * ReadFill(te::xml::Reader &reader)
They are used to define a graph of points.
A Stroke specifies the appearance of a linear geometry.
Definition: Stroke.h:67
TESEEXPORT te::se::SvgParameter * ReadSvgParameter(te::xml::Reader &reader)
TESEEXPORT te::se::MapItem * ReadMapItem(te::xml::Reader &reader)
TESEEXPORT te::se::ChannelSelection * ReadChannelSelection(te::xml::Reader &reader)
A SvgParameter refers to an SVG/CSS graphical-formatting parameter.
Definition: SvgParameter.h:48
TESEEXPORT te::se::Font * ReadFont(te::xml::Reader &reader)
TESEEXPORT te::se::Interpolate * ReadInterpolate(te::xml::Reader &reader)
TESEEXPORT te::se::Recode * ReadRecode(te::xml::Reader &reader)
TESEEXPORT te::se::Rule * ReadRule(te::xml::Reader &reader)
TESEEXPORT te::se::ColorMap * ReadColorMap(te::xml::Reader &reader)
A Halo is a type of Fill that is applied to the backgrounds of font glyphs.
Definition: Halo.h:64
A ColorMap defines either the colors of a pallette-type raster source or the mapping of numeric pixel...
Definition: ColorMap.h:61
TESEEXPORT te::se::InlineContent * ReadInlineContent(te::xml::Reader &reader)
A class that models a XML writer object built on top of Xerces-C++.
TESEEXPORT te::se::InterpolationPoint * ReadInterpolationPoint(te::xml::Reader &reader)
ShadedRelief specifies the application of relief shading (or "hill shading") to a DEM raster to give ...
Definition: ShadedRelief.h:58
A GraphicStroke defines a repeated-linear graphic pattern to be used for stroking a line...
Definition: GraphicStroke.h:50
ChannelSelection specifies the false-color channel selection for a multi-spectral raster source (such...