All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 R 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

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

Definition at line 58 of file BaseVisitable.h.

Definition at line 57 of file BaseVisitable.h.

Constructor & Destructor Documentation

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

It initializes a new LineSymbolizer.

Definition at line 34 of file LineSymbolizer.cpp.

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

Copy constructor.

Parameters
rhsThe other line symbolizer.

Definition at line 42 of file LineSymbolizer.cpp.

References te::se::ParameterValue::clone(), te::se::Stroke::clone(), te::fe::PropertyName::getName(), m_geometry, m_perpendicularOffset, and m_stroke.

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

Destructor.

Definition at line 58 of file LineSymbolizer.cpp.

Member Function Documentation

virtual ReturnType te::common::BaseVisitable< Visitor , R >::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.
te::se::Symbolizer * te::se::LineSymbolizer::clone ( ) const
virtual

It creates a new copy of this object.

Implements te::se::Symbolizer.

Definition at line 103 of file LineSymbolizer.cpp.

Referenced by te::qt::widgets::LineSymbolizerWidget::setSymbolizer().

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

Definition at line 94 of file Symbolizer.cpp.

Referenced by te::se::serialize::WriteSymbolizerHelper().

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

Definition at line 83 of file Symbolizer.cpp.

Referenced by te::se::serialize::WriteSymbolizerHelper().

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

Definition at line 71 of file LineSymbolizer.cpp.

Referenced by LineSymbolizerWriter().

const std::string & te::se::Symbolizer::getName ( ) const
inherited
const te::se::ParameterValue * te::se::LineSymbolizer::getPerpendicularOffset ( ) const

Definition at line 93 of file LineSymbolizer.cpp.

Referenced by LineSymbolizerWriter().

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

It returns the symbolizer type.

Returns
The symbolizer type.

Implements te::se::Symbolizer.

Definition at line 98 of file LineSymbolizer.cpp.

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

Definition at line 114 of file Symbolizer.cpp.

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

Definition at line 104 of file Symbolizer.cpp.

Referenced by te::se::serialize::WriteSymbolizerHelper().

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

Definition at line 88 of file Symbolizer.cpp.

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

Definition at line 77 of file Symbolizer.cpp.

Referenced by te::se::serialize::ReadSymbolizerHelper().

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.

Definition at line 65 of file LineSymbolizer.cpp.

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

Definition at line 67 of file Symbolizer.cpp.

Referenced by te::se::serialize::ReadSymbolizerHelper().

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.

Definition at line 87 of file LineSymbolizer.cpp.

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.

Definition at line 76 of file LineSymbolizer.cpp.

Referenced by te::se::CreateLineSymbolizer(), te::se::CreateSymbolizer(), te::qt::widgets::LineSymbolizerWidget::LineSymbolizerWidget(), and te::qt::widgets::LineSymbolizerProperty::setSymbolizer().

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:

Definition at line 109 of file Symbolizer.cpp.

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

Definition at line 99 of file Symbolizer.cpp.

Referenced by te::se::serialize::ReadSymbolizerHelper().

Member Data Documentation

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.

Referenced by LineSymbolizer().

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.

Referenced by LineSymbolizer().

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.

Referenced by LineSymbolizer().

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 files: