te::se::LineSymbolizer Class Referenceabstract

A LineSymbolizer is used to style a stroke along a linear geometry type, such as a string of line segments. More...

#include <LineSymbolizer.h>

Inheritance diagram for te::se::LineSymbolizer:
te::se::Symbolizer te::common::BaseVisitable< Visitor >

Public Types

typedef void ReturnType
 
typedef Visitor VisitorType
 

Public Member Functions

virtual ReturnType accept (VisitorType &guest) const=0
 It call the visit method from the guest object. More...
 
Symbolizerclone () const
 It creates a new copy of this object. More...
 
Initializer Methods

Methods related to instantiation and destruction.

 LineSymbolizer ()
 It initializes a new LineSymbolizer. More...
 
 LineSymbolizer (const LineSymbolizer &rhs)
 Copy constructor. More...
 
 ~LineSymbolizer ()
 Destructor. More...
 
Accessor methods

Methods used to get or set properties.

void setGeometry (te::fe::PropertyName *geometry)
 The Geometry element of a LineSymbolizer defines the linear geometry to be used for styling. The Geometry element is optional and if it is absent then the all geometry properties of the feature type that is used in the containing FeatureType are used. Most frequently, though, feature types will have only a single geometry property. See OGC te::fe::PropertyName class for more information on attribute names. More...
 
const te::fe::PropertyNamegetGeometry () const
 
void setStroke (Stroke *stroke)
 A Stroke specifies the appearance of a linear geometry. The Stroke element is optional inside of LineSymbolizer (and other Symbolizers), and its absence means that no stroke is to be rendered. More...
 
const StrokegetStroke () const
 
void setPerpendicularOffset (ParameterValue *perpendicularOffset)
 PerpendicularOffset allows to draw lines in parallel to the original geometry. For complex line strings these parallel lines have to be constructed so that the distance between original geometry and drawn line stays equal. This construction can result in drawn lines that are actually smaller or longer than the original geometry. The distance is in uoms and is positive to the left-hand side of the line string. Negative numbers mean right. The default offset is 0. More...
 
const ParameterValuegetPerpendicularOffset () const
 
const std::string & getType () const
 It returns the symbolizer type. More...
 
Accessor methods

Methods used to get or set properties.

void setName (const std::string &name)
 
const std::string & getName () const
 
void setDescription (Description *d)
 
const DescriptiongetDescription () const
 
void setBaseSymbolizer (te::xl::SimpleLink *baseSymbolizer)
 
const te::xl::SimpleLinkgetBaseSymbolizer () const
 
void setVersion (const std::string &version)
 
const std::string & getVersion () const
 
void setUom (const te::common::BaseUnitOfMeasure *uom)
 It sets the unit-of-measure. More...
 
const te::common::BaseUnitOfMeasure * getUom () const
 

Private Attributes

te::fe::PropertyNamem_geometry
 A Geometry gives reference to a (the) geometry property of a feature to be used for rendering. (Optional) More...
 
ParameterValuem_perpendicularOffset
 A PerpendicularOffset gives the perpendicular distance away from a line to draw a label. (Optional) More...
 
Strokem_stroke
 A Stroke specifies the appearance of a linear geometry. (Optional) More...
 

Static Private Attributes

static const std::string sm_type
 A static data member used in the implementation of getType method. More...
 

Detailed Description

A LineSymbolizer is used to style a stroke along a linear geometry type, such as a string of line segments.

See also
Symbolizer, Stroke, ParameterValue, te::fe::PropertyName, ImageOutline

Definition at line 51 of file LineSymbolizer.h.

Member Typedef Documentation

◆ ReturnType

typedef void te::common::BaseVisitable< Visitor , void >::ReturnType
inherited

Definition at line 58 of file BaseVisitable.h.

◆ VisitorType

typedef Visitor te::common::BaseVisitable< Visitor , void >::VisitorType
inherited

Definition at line 57 of file BaseVisitable.h.

Constructor & Destructor Documentation

◆ LineSymbolizer() [1/2]

te::se::LineSymbolizer::LineSymbolizer ( )

It initializes a new LineSymbolizer.

◆ LineSymbolizer() [2/2]

te::se::LineSymbolizer::LineSymbolizer ( const LineSymbolizer rhs)

Copy constructor.

Parameters
rhsThe other line symbolizer.

◆ ~LineSymbolizer()

te::se::LineSymbolizer::~LineSymbolizer ( )

Destructor.

Member Function Documentation

◆ accept()

virtual ReturnType te::common::BaseVisitable< Visitor , void >::accept ( VisitorType guest) const
pure virtualinherited

It call the visit method from the guest object.

Parameters
guestThe guest or visitor.
Returns
Any valid value define by the template type R.

◆ clone()

Symbolizer* te::se::LineSymbolizer::clone ( ) const
virtual

It creates a new copy of this object.

Implements te::se::Symbolizer.

◆ getBaseSymbolizer()

const te::xl::SimpleLink* te::se::Symbolizer::getBaseSymbolizer ( ) const
inherited

◆ getDescription()

const Description* te::se::Symbolizer::getDescription ( ) const
inherited

◆ getGeometry()

const te::fe::PropertyName* te::se::LineSymbolizer::getGeometry ( ) const

◆ getName()

const std::string& te::se::Symbolizer::getName ( ) const
inherited

◆ getPerpendicularOffset()

const ParameterValue* te::se::LineSymbolizer::getPerpendicularOffset ( ) const

◆ getStroke()

const Stroke* te::se::LineSymbolizer::getStroke ( ) const

◆ getType()

const std::string& te::se::LineSymbolizer::getType ( ) const
virtual

It returns the symbolizer type.

Returns
The symbolizer type.

Implements te::se::Symbolizer.

◆ getUom()

const te::common::BaseUnitOfMeasure* te::se::Symbolizer::getUom ( ) const
inherited

◆ getVersion()

const std::string& te::se::Symbolizer::getVersion ( ) const
inherited

◆ setBaseSymbolizer()

void te::se::Symbolizer::setBaseSymbolizer ( te::xl::SimpleLink baseSymbolizer)
inherited

◆ setDescription()

void te::se::Symbolizer::setDescription ( Description d)
inherited

◆ setGeometry()

void te::se::LineSymbolizer::setGeometry ( te::fe::PropertyName geometry)

The Geometry element of a LineSymbolizer defines the linear geometry to be used for styling. The Geometry element is optional and if it is absent then the all geometry properties of the feature type that is used in the containing FeatureType are used. Most frequently, though, feature types will have only a single geometry property. See OGC te::fe::PropertyName class for more information on attribute names.

Note
Geometry types other than inherently linear types can also be used. If a point geometry is used, it should be interpreted as a line of "epsilon" (arbitrarily small) length with a horizontal orientation centered on the point, and should be rendered with two end caps. If a polygon is used (or other "area" type), then its closed outline is used as the line string (with no end caps). If a raster geometry is used, its coverage-area outline is used for the line, rendered with no end caps.

◆ setName()

void te::se::Symbolizer::setName ( const std::string &  name)
inherited

◆ setPerpendicularOffset()

void te::se::LineSymbolizer::setPerpendicularOffset ( ParameterValue perpendicularOffset)

PerpendicularOffset allows to draw lines in parallel to the original geometry. For complex line strings these parallel lines have to be constructed so that the distance between original geometry and drawn line stays equal. This construction can result in drawn lines that are actually smaller or longer than the original geometry. The distance is in uoms and is positive to the left-hand side of the line string. Negative numbers mean right. The default offset is 0.

◆ setStroke()

void te::se::LineSymbolizer::setStroke ( Stroke stroke)

A Stroke specifies the appearance of a linear geometry. The Stroke element is optional inside of LineSymbolizer (and other Symbolizers), and its absence means that no stroke is to be rendered.

◆ setUom()

void te::se::Symbolizer::setUom ( const te::common::BaseUnitOfMeasure *  uom)
inherited

It sets the unit-of-measure.

All Symbolizers include an optional gml:uom-attribute as used by GML (this is set inside the abstract SymbolizerType and therefore inherited by all Symbolizers). This applies to all elements included inside a Symbolizer such as stroke-width, size, font-size, Gap, InitialGap, Displacement and PerpendicularOffset. If no uom is set inside of Symbolizer, all units are measured in pixel, the behaviour used by SLD 1.0.0. The following uom definitions are recommended to be used:

◆ setVersion()

void te::se::Symbolizer::setVersion ( const std::string &  version)
inherited

Member Data Documentation

◆ m_geometry

te::fe::PropertyName* te::se::LineSymbolizer::m_geometry
private

A Geometry gives reference to a (the) geometry property of a feature to be used for rendering. (Optional)

Definition at line 144 of file LineSymbolizer.h.

◆ m_perpendicularOffset

ParameterValue* te::se::LineSymbolizer::m_perpendicularOffset
private

A PerpendicularOffset gives the perpendicular distance away from a line to draw a label. (Optional)

Definition at line 146 of file LineSymbolizer.h.

◆ m_stroke

Stroke* te::se::LineSymbolizer::m_stroke
private

A Stroke specifies the appearance of a linear geometry. (Optional)

Definition at line 145 of file LineSymbolizer.h.

◆ sm_type

const std::string te::se::LineSymbolizer::sm_type
staticprivate

A static data member used in the implementation of getType method.

Definition at line 148 of file LineSymbolizer.h.


The documentation for this class was generated from the following file: