27 #include "../../../common/Translator.h" 
   28 #include "../../../fe/Expression.h" 
   29 #include "../../../maptools/Utils.h" 
   30 #include "../../../xml/AbstractWriter.h" 
   31 #include "../../../xml/Reader.h" 
   32 #include "../../../se/LineSymbolizer.h" 
   33 #include "../../../se/ParameterValue.h" 
   34 #include "../../../se/PointSymbolizer.h" 
   35 #include "../../../se/PolygonSymbolizer.h" 
   36 #include "../../../se/RasterSymbolizer.h" 
   37 #include "../../../se/TextSymbolizer.h" 
   38 #include "../../../xlink/serialization/xml/XLinkSerializer.h" 
   39 #include "../../Exception.h" 
   40 #include "../../Utils.h" 
   49 #include <boost/format.hpp> 
   65   m_fncts[symbolizerType] = fncts;
 
   72   SymbolizerFnctIdxType::const_iterator it = m_fncts.find(symbolizerType);
 
   74   if(it == m_fncts.end())
 
   75     throw Exception((boost::format(
TE_TR(
"Could not find a reader for the following symbolizer type: %1%.")) % symbolizerType).str());
 
   77   assert(it->second.second);
 
   79   return it->second.first(reader);
 
   86   SymbolizerFnctIdxType::const_iterator it = m_fncts.find(symbolizer->
getType());
 
   88   if(it == m_fncts.end())
 
   89     throw Exception((boost::format(
TE_TR(
"Could not find a writer for the following symbolizer type: %1%.")) % symbolizer->
getType()).str());
 
   91   assert(it->second.second);
 
   93   return it->second.second(symbolizer, writer);
 
A TextSymbolizer is used to render text labels according to various graphical parameters. 
 
const Fill * getFill() const 
Gets the Fill associates with the PolygonSymbolizer. 
 
te::se::Symbolizer * TextSymbolizerReader(te::xml::Reader &reader)
 
const LabelPlacement * getLabelPlacement() const 
 
const Graphic * getGraphic() const 
 
void LineSymbolizerWriter(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
const te::fe::PropertyName * getGeometry() const 
 
This class models a XML reader object. 
 
A PolygonSymbolizer is used to draw a polygon (or other area-type geometries), including filling its ...
 
virtual void writeStartElement(const std::string &qName)=0
 
A Symbolizer describes how a feature is to appear on a map. 
 
te::se::Symbolizer * PolygonSymbolizerReader(te::xml::Reader &reader)
 
const te::fe::PropertyName * getGeometry() const 
 
ParameterValue * getOffset() const 
 
void PointSymbolizerWriter(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
te::se::ChannelSelection * getChannelSelection() const 
 
std::pair< SymbolizerReadFnctType, SymbolizerWriteFnctType > SymbolizerFnctSerializeType
 
A PointSymbolizer specifies the rendering of a graphic Symbolizer at a point. 
 
TESEEXPORT te::se::ContrastEnhancement * ReadContrastEnhancement(te::xml::Reader &reader)
 
TESEEXPORT double GetDouble(const te::se::ParameterValue *param)
It gets the parameter value as a double. 
 
This class models a XML writer object. 
 
#define TE_TR(message)
It marks a string in order to get translated. 
 
TESEEXPORT te::se::Fill * ReadFill(te::xml::Reader &reader)
 
TESEEXPORT te::se::Halo * ReadHalo(te::xml::Reader &reader)
 
The "ParameterValueType" uses WFS-Filter expressions to give values for SE graphic parameters...
 
TESEEXPORT te::se::ParameterValue * ReadParameterValue(te::xml::Reader &reader)
 
te::se::ContrastEnhancement * getContrastEnhancement() const 
 
virtual std::string getElementLocalName() const =0
It returns the local part of the element name in the case of an element node. 
 
te::se::Symbolizer * LineSymbolizerReader(te::xml::Reader &reader)
 
te::se::Symbolizer * RasterSymbolizerReader(te::xml::Reader &reader)
 
TESEEXPORT te::se::Stroke * ReadStroke(te::xml::Reader &reader)
 
ParameterValue * getGain() const 
 
ShadedRelief * getShadedRelief() const 
 
TESEEXPORT RasterSymbolizer::OverlapBehavior ReadOverlapBehavior(te::xml::Reader &reader)
 
virtual void writeElement(const std::string &qName, const std::string &value)=0
 
void WriteSymbolizerHelper(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
te::se::Symbolizer * read(te::xml::Reader &reader) const 
 
void reg(const std::string &symbolizerType, const SymbolizerFnctSerializeType &fncts)
 
TESEEXPORT te::se::Displacement * ReadDisplacement(te::xml::Reader &reader)
 
ParameterValue * getOpacity() const 
 
Auxiliary classes and functions to serialize Symbolizer informations from a XML document. 
 
OverlapBehavior getOverlapBehavior() const 
 
const Stroke * getStroke() const 
Gets the Stroke associates with the PolygonSymbolizer. 
 
The RasterSymbolizer describes how to render raster/matrix-coverage data (e.g., satellite photos...
 
void WriteGeometryPropertyHelper(const te::fe::PropertyName *p, te::xml::AbstractWriter &writer)
 
const ParameterValue * getPerpendicularOffset() const 
 
te::fe::PropertyName * ReadGeometryPropertyHelper(te::xml::Reader &reader)
 
const Font * getFont() const 
 
TESEEXPORT void Save(const te::se::AnchorPoint *ap, te::xml::AbstractWriter &writer)
 
const Displacement * getDisplacement() const 
 
TESEEXPORT te::se::ColorMap * ReadColorMap(te::xml::Reader &reader)
 
TESEEXPORT te::se::LabelPlacement * ReadLabelPlacement(te::xml::Reader &reader)
 
const Stroke * getStroke() const 
 
Data serialization for the Symbology Encoder module. 
 
const te::fe::PropertyName * getGeometry() const 
 
void TextSymbolizerWriter(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
const ParameterValue * getLabel() const 
 
const ParameterValue * getPerpendicularOffset() const 
 
TESEEXPORT te::se::ChannelSelection * ReadChannelSelection(te::xml::Reader &reader)
 
virtual NodeType getNodeType() const =0
It return the type of node read. 
 
boost::function< te::se::Symbolizer *(te::xml::Reader &)> SymbolizerReadFnctType
 
virtual std::string getElementValue() const =0
It returns the element data value in the case of VALUE node. 
 
TESEEXPORT te::se::ImageOutline * ReadImageOutline(te::xml::Reader &reader)
 
virtual void writeEndElement(const std::string &qName)=0
 
A LineSymbolizer is used to style a stroke along a linear geometry type, such as a string of line seg...
 
TESEEXPORT te::se::Font * ReadFont(te::xml::Reader &reader)
 
const Fill * getFill() const 
 
te::se::ColorMap * getColorMap() const 
 
void write(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer) const 
 
void PolygonSymbolizerWriter(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
boost::function< void(const te::se::Symbolizer *, te::xml::AbstractWriter &)> SymbolizerWriteFnctType
 
SymbolizerFnctIdxType m_fncts
 
void WriteParameterValuePtrHelper(const std::string &elementName, const te::se::ParameterValue *p, te::xml::AbstractWriter &writer)
 
virtual const std::string & getType() const =0
It returns the symbolizer type. 
 
const Halo * getHalo() const 
 
virtual bool next()=0
It gets the next event to be read. 
 
te::se::Symbolizer * PointSymbolizerReader(te::xml::Reader &reader)
 
void ReadSymbolizerHelper(te::se::Symbolizer *symbolizer, te::xml::Reader &reader)
 
void RasterSymbolizerWriter(const te::se::Symbolizer *symbolizer, te::xml::AbstractWriter &writer)
 
TESEEXPORT te::se::Graphic * ReadGraphic(te::xml::Reader &reader)
 
TESEEXPORT te::se::ShadedRelief * ReadShadedRelief(te::xml::Reader &reader)
 
te::se::ImageOutline * getImageOutline() const