QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Static Public Member Functions | List of all members
QgsFilledMarkerSymbolLayer Class Reference

Filled marker symbol layer, consisting of a shape which is rendered using a QgsFillSymbolV2. More...

#include <qgsmarkersymbollayerv2.h>

Inheritance diagram for QgsFilledMarkerSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsFilledMarkerSymbolLayer (Shape shape=Circle, double size=DEFAULT_SIMPLEMARKER_SIZE, double angle=DEFAULT_SIMPLEMARKER_ANGLE, QgsSymbolV2::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD)
 Constructor for QgsFilledMarkerSymbolLayer. More...
 
QgsFilledMarkerSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
virtual QColor color () const override
 The fill color. More...
 
virtual double estimateMaxBleed () const override
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape. More...
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
QgsStringMap properties () const override
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More...
 
void setColor (const QColor &c) override
 The fill color. More...
 
virtual bool setSubSymbol (QgsSymbolV2 *symbol) override
 set layer's subsymbol. takes ownership of the passed symbol More...
 
void startRender (QgsSymbolV2RenderContext &context) override
 
void stopRender (QgsSymbolV2RenderContext &context) override
 
virtual QgsSymbolV2subSymbol () override
 
QSet< QStringusedAttributes () const override
 Returns the set of attributes referenced by the layer. More...
 
- Public Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
 QgsSimpleMarkerSymbolLayerBase (Shape shape=Circle, double size=DEFAULT_SIMPLEMARKER_SIZE, double angle=DEFAULT_SIMPLEMARKER_ANGLE, QgsSymbolV2::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD)
 Constructor for QgsSimpleMarkerSymbolLayerBase. More...
 
QRectF bounds (QPointF point, QgsSymbolV2RenderContext &context) override
 Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer. More...
 
void renderPoint (QPointF point, QgsSymbolV2RenderContext &context) override
 Renders a marker at the specified point. More...
 
void setShape (Shape shape)
 Sets the rendered marker shape. More...
 
Shape shape () const
 Returns the shape for the rendered marker symbol. More...
 
- Public Member Functions inherited from QgsMarkerSymbolLayerV2
double angle () const
 Returns the rotation angle for the marker, in degrees clockwise from north. More...
 
void drawPreviewIcon (QgsSymbolV2RenderContext &context, QSize size) override
 
HorizontalAnchorPoint horizontalAnchorPoint () const
 Returns the horizontal anchor point for positioning the symbol. More...
 
QgsMapUnitScale mapUnitScale () const override
 
QPointF offset () const
 Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry. More...
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the symbol's offset. More...
 
QgsSymbolV2::OutputUnit offsetUnit () const
 Returns the units for the symbol's offset. More...
 
QgsSymbolV2::OutputUnit outputUnit () const override
 
QgsSymbolV2::ScaleMethod scaleMethod () const
 Returns the method to use for scaling the marker's size. More...
 
void setAngle (double angle)
 Sets the rotation angle for the marker. More...
 
void setHorizontalAnchorPoint (HorizontalAnchorPoint h)
 Sets the horizontal anchor point for positioning the symbol. More...
 
void setLineAngle (double lineAngle)
 Sets the line angle modification for the symbol's angle. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOffset (QPointF offset)
 Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry. More...
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's offset. More...
 
void setOffsetUnit (QgsSymbolV2::OutputUnit unit)
 Sets the units for the symbol's offset. More...
 
void setOutputUnit (QgsSymbolV2::OutputUnit unit) override
 
void setScaleMethod (QgsSymbolV2::ScaleMethod scaleMethod)
 Sets the method to use for scaling the marker's size. More...
 
void setSize (double size)
 Sets the symbol size. More...
 
void setSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the symbol's size. More...
 
void setSizeUnit (QgsSymbolV2::OutputUnit unit)
 Sets the units for the symbol's size. More...
 
void setVerticalAnchorPoint (VerticalAnchorPoint v)
 Sets the vertical anchor point for positioning the symbol. More...
 
double size () const
 Returns the symbol size. More...
 
const QgsMapUnitScalesizeMapUnitScale () const
 Returns the map unit scale for the symbol's size. More...
 
QgsSymbolV2::OutputUnit sizeUnit () const
 Returns the units for the symbol's size. More...
 
void startRender (QgsSymbolV2RenderContext &context) override
 
virtual void toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const override
 Writes the SLD element following the SLD v1.1 specs. More...
 
VerticalAnchorPoint verticalAnchorPoint () const
 Returns the vertical anchor point for positioning the symbol. More...
 
virtual void writeSldMarker (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const
 Writes the symbol layer definition as a SLD XML element. More...
 
- Public Member Functions inherited from QgsSymbolLayerV2
virtual ~QgsSymbolLayerV2 ()
 
virtual Q_DECL_DEPRECATED const QgsExpressiondataDefinedProperty (const QString &property) const
 Returns a data defined expression for a property, if set. More...
 
virtual Q_DECL_DEPRECATED QString dataDefinedPropertyString (const QString &property) const
 Returns a data defined expression for a property, if set. More...
 
virtual double dxfAngle (QgsSymbolV2RenderContext &context) const
 get angle More...
 
virtual QColor dxfBrushColor (QgsSymbolV2RenderContext &context) const
 get brush/fill color More...
 
virtual Qt::BrushStyle dxfBrushStyle () const
 get brush/fill style More...
 
virtual QColor dxfColor (QgsSymbolV2RenderContext &context) const
 get color More...
 
virtual QVector< qreal > dxfCustomDashPattern (QgsSymbolV2::OutputUnit &unit) const
 get dash pattern More...
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolV2RenderContext &context) const
 get offset More...
 
virtual Qt::PenStyle dxfPenStyle () const
 get pen style More...
 
virtual double dxfWidth (const QgsDxfExport &e, QgsSymbolV2RenderContext &context) const
 get line width More...
 
virtual Q_DECL_DEPRECATED QVariant evaluateDataDefinedProperty (const QString &property, const QgsFeature *feature, const QVariant &defaultVal=QVariant(), bool *ok=nullptr) const
 Evaluates the matching data defined property and returns the calculated value. More...
 
virtual QVariant evaluateDataDefinedProperty (const QString &property, const QgsSymbolV2RenderContext &context, const QVariant &defaultVal=QVariant(), bool *ok=nullptr) const
 Evaluates the matching data defined property and returns the calculated value. More...
 
virtual QColor fillColor () const
 Get fill color. More...
 
virtual QgsDataDefinedgetDataDefinedProperty (const QString &property) const
 Returns the data defined property corresponding to the specified property key. More...
 
virtual bool hasDataDefinedProperties () const
 Checks whether the layer has any associated data defined properties. More...
 
virtual bool hasDataDefinedProperty (const QString &property) const
 Checks whether the layer has a matching data defined property and if that property is currently actived. More...
 
virtual bool isCompatibleWithSymbol (QgsSymbolV2 *symbol) const
 Returns if the layer can be used below the specified symbol. More...
 
bool isLocked () const
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
virtual QColor outlineColor () const
 Get outline color. More...
 
QgsPaintEffectpaintEffect () const
 Returns the current paint effect for the layer. More...
 
virtual void removeDataDefinedProperties ()
 Removes all data defined properties from the layer and deletes associated objects. More...
 
virtual void removeDataDefinedProperty (const QString &property)
 Removes a data defined property from the layer. More...
 
int renderingPass () const
 
virtual Q_DECL_DEPRECATED void setDataDefinedProperty (const QString &property, const QString &expressionString)
 Sets a data defined expression for a property. More...
 
virtual void setDataDefinedProperty (const QString &property, QgsDataDefined *dataDefined)
 Sets a data defined property for the layer. More...
 
virtual void setFillColor (const QColor &color)
 Set fill color. More...
 
void setLocked (bool locked)
 
virtual void setOutlineColor (const QColor &color)
 Set outline color. More...
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the current paint effect for the layer. More...
 
void setRenderingPass (int renderingPass)
 
QgsSymbolV2::SymbolType type () const
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolV2RenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const
 write as DXF More...
 

Static Public Member Functions

static QgsSymbolLayerV2create (const QgsStringMap &properties=QgsStringMap())
 Creates a new QgsFilledMarkerSymbolLayer. More...
 
- Static Public Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
static QList< ShapeavailableShapes ()
 Returns a list of all available shape types. More...
 
static Shape decodeShape (const QString &name, bool *ok=nullptr)
 Attempts to decode a string representation of a shape name to the corresponding shape. More...
 
static QString encodeShape (Shape shape)
 Encodes a shape to its string representation. More...
 
static bool shapeIsFilled (Shape shape)
 Returns true if a symbol shape has a fill. More...
 

Additional Inherited Members

- Public Types inherited from QgsSimpleMarkerSymbolLayerBase
enum  Shape {
  Square, Diamond, Pentagon, Hexagon,
  Triangle, EquilateralTriangle, Star, Arrow,
  Circle, Cross, CrossFill, Cross2,
  Line, ArrowHead, ArrowHeadFilled, SemiCircle,
  ThirdCircle, QuarterCircle, QuarterSquare, HalfSquare,
  DiagonalHalfSquare, RightHalfTriangle, LeftHalfTriangle
}
 Marker symbol shapes. More...
 
- Public Types inherited from QgsMarkerSymbolLayerV2
enum  HorizontalAnchorPoint { Left, HCenter, Right }
 Symbol horizontal anchor points. More...
 
enum  VerticalAnchorPoint { Top, VCenter, Bottom }
 Symbol vertical anchor points. More...
 
- Protected Member Functions inherited from QgsSimpleMarkerSymbolLayerBase
void calculateOffsetAndRotation (QgsSymbolV2RenderContext &context, double scaledSize, bool &hasDataDefinedRotation, QPointF &offset, double &angle) const
 Calculates the marker offset and rotation. More...
 
double calculateSize (QgsSymbolV2RenderContext &context, bool &hasDataDefinedSize) const
 Calculates the desired size of the marker, considering data defined size overrides. More...
 
bool prepareMarkerPath (Shape symbol)
 Prepares the layer for drawing the specified shape (QPainterPath version) More...
 
bool prepareMarkerShape (Shape shape)
 Prepares the layer for drawing the specified shape (QPolygonF version) More...
 
bool shapeToPolygon (Shape shape, QPolygonF &polygon) const
 Creates a polygon representing the specified shape. More...
 
- Protected Member Functions inherited from QgsMarkerSymbolLayerV2
 QgsMarkerSymbolLayerV2 (bool locked=false)
 Constructor for QgsMarkerSymbolLayerV2. More...
 
void markerOffset (QgsSymbolV2RenderContext &context, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolV2RenderContext &context, double width, double height, double &offsetX, double &offsetY) const
 Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. More...
 
void markerOffset (QgsSymbolV2RenderContext &context, double width, double height, QgsSymbolV2::OutputUnit widthUnit, QgsSymbolV2::OutputUnit heightUnit, double &offsetX, double &offsetY, const QgsMapUnitScale &widthMapUnitScale, const QgsMapUnitScale &heightMapUnitScale) const
 
- Protected Member Functions inherited from QgsSymbolLayerV2
 QgsSymbolLayerV2 (QgsSymbolV2::SymbolType type, bool locked=false)
 
void copyDataDefinedProperties (QgsSymbolLayerV2 *destLayer) const
 Copies all data defined properties of this layer to another symbol layer. More...
 
void copyPaintEffect (QgsSymbolLayerV2 *destLayer) const
 Copies paint effect of this layer to another symbol layer. More...
 
virtual Q_DECL_DEPRECATED QgsExpressionexpression (const QString &property) const
 Returns the data defined expression associated with a property. More...
 
virtual Q_DECL_DEPRECATED void prepareExpressions (const QgsFields *fields, double scale=-1.0)
 Prepares all data defined property expressions for evaluation. More...
 
virtual void prepareExpressions (const QgsSymbolV2RenderContext &context)
 Prepares all data defined property expressions for evaluation. More...
 
void restoreDataDefinedProperties (const QgsStringMap &stringMap)
 Restores all data defined properties from string map. More...
 
void saveDataDefinedProperties (QgsStringMap &stringMap) const
 Saves all data defined properties to a string map. More...
 
- Static Protected Member Functions inherited from QgsMarkerSymbolLayerV2
static QPointF _rotatedOffset (QPointF offset, double angle)
 Adjusts a marker offset to account for rotation. More...
 
- Protected Attributes inherited from QgsSimpleMarkerSymbolLayerBase
QPainterPath mPath
 Painter path representing shape. If mPolygon is empty then the shape is stored in mPath. More...
 
QPolygonF mPolygon
 Polygon of points in shape. If polygon is empty then shape is using mPath. More...
 
Shape mShape
 Symbol shape. More...
 
- Protected Attributes inherited from QgsMarkerSymbolLayerV2
double mAngle
 Marker rotation angle, in degrees clockwise from north. More...
 
HorizontalAnchorPoint mHorizontalAnchorPoint
 Horizontal anchor point. More...
 
double mLineAngle
 Line rotation angle (see setLineAngle() for details) More...
 
QPointF mOffset
 Marker offset. More...
 
QgsMapUnitScale mOffsetMapUnitScale
 Offset map unit scale. More...
 
QgsSymbolV2::OutputUnit mOffsetUnit
 Offset units. More...
 
QgsSymbolV2::ScaleMethod mScaleMethod
 Marker size scaling method. More...
 
double mSize
 Marker size. More...
 
QgsMapUnitScale mSizeMapUnitScale
 Marker size map unit scale. More...
 
QgsSymbolV2::OutputUnit mSizeUnit
 Marker size unit. More...
 
VerticalAnchorPoint mVerticalAnchorPoint
 Vertical anchor point. More...
 
- Protected Attributes inherited from QgsSymbolLayerV2
QColor mColor
 
QMap< QString, QgsDataDefined *> mDataDefinedProperties
 
QgsFields mFields
 
bool mLocked
 
QgsPaintEffectmPaintEffect
 
int mRenderingPass
 
QgsSymbolV2::SymbolType mType
 
- Static Protected Attributes inherited from QgsSymbolLayerV2
static const QString EXPR_ALPHA
 
static const QString EXPR_ANGLE
 
static const QString EXPR_BLUR_RADIUS
 
static const QString EXPR_BORDER_COLOR
 
static const QString EXPR_BORDER_STYLE
 
static const QString EXPR_CAPSTYLE
 
static const QString EXPR_CHAR
 
static const QString EXPR_COLOR
 
static const QString EXPR_COLOR2
 
static const QString EXPR_COLOR_BORDER
 
static const QString EXPR_COORDINATE_MODE
 
static const QString EXPR_CUSTOMDASH
 
static const QString EXPR_DISPLACEMENT_X
 
static const QString EXPR_DISPLACEMENT_Y
 
static const QString EXPR_DISTANCE
 
static const QString EXPR_DISTANCE_X
 
static const QString EXPR_DISTANCE_Y
 
static const QString EXPR_FILE
 
static const QString EXPR_FILL
 
static const QString EXPR_FILL_COLOR
 
static const QString EXPR_FILL_STYLE
 
static const QString EXPR_GRADIENT_TYPE
 
static const QString EXPR_HEIGHT
 
static const QString EXPR_HORIZONTAL_ANCHOR_POINT
 
static const QString EXPR_IGNORE_RINGS
 
static const QString EXPR_INTERVAL
 
static const QString EXPR_JOIN_STYLE
 
static const QString EXPR_JOINSTYLE
 
static const QString EXPR_LINE_STYLE
 
static const QString EXPR_LINEANGLE
 
static const QString EXPR_LINEWIDTH
 
static const QString EXPR_MAX_DISTANCE
 
static const QString EXPR_NAME
 
static const QString EXPR_OFFSET
 
static const QString EXPR_OFFSET_ALONG_LINE
 
static const QString EXPR_OUTLINE
 
static const QString EXPR_OUTLINE_COLOR
 
static const QString EXPR_OUTLINE_STYLE
 
static const QString EXPR_OUTLINE_WIDTH
 
static const QString EXPR_PLACEMENT
 
static const QString EXPR_REFERENCE1_ISCENTROID
 
static const QString EXPR_REFERENCE1_X
 
static const QString EXPR_REFERENCE1_Y
 
static const QString EXPR_REFERENCE2_ISCENTROID
 
static const QString EXPR_REFERENCE2_X
 
static const QString EXPR_REFERENCE2_Y
 
static const QString EXPR_ROTATION
 
static const QString EXPR_SIZE
 
static const QString EXPR_SPREAD
 
static const QString EXPR_SVG_FILE
 
static const QString EXPR_SVG_FILL_COLOR
 
static const QString EXPR_SVG_OUTLINE_COLOR
 
static const QString EXPR_SVG_OUTLINE_WIDTH
 
static const QString EXPR_SYMBOL_NAME
 
static const QString EXPR_USE_WHOLE_SHAPE
 
static const QString EXPR_VERTICAL_ANCHOR_POINT
 
static const QString EXPR_WIDTH
 
static const QString EXPR_WIDTH_BORDER
 
static const bool selectFillBorder = false
 
static const bool selectFillStyle = false
 
static const bool selectionIsOpaque = true
 

Detailed Description

Filled marker symbol layer, consisting of a shape which is rendered using a QgsFillSymbolV2.

This allows the symbol to support advanced styling of the interior and outline of the shape.

Note
Added in version 2.16

Definition at line 433 of file qgsmarkersymbollayerv2.h.

Constructor & Destructor Documentation

◆ QgsFilledMarkerSymbolLayer()

QgsFilledMarkerSymbolLayer::QgsFilledMarkerSymbolLayer ( QgsSimpleMarkerSymbolLayerBase::Shape  shape = Circle,
double  size = DEFAULT_SIMPLEMARKER_SIZE,
double  angle = DEFAULT_SIMPLEMARKER_ANGLE,
QgsSymbolV2::ScaleMethod  scaleMethod = DEFAULT_SCALE_METHOD 
)

Constructor for QgsFilledMarkerSymbolLayer.

Parameters
shapesymbol shape
sizesymbol size (in mm)
anglesymbol rotation angle
scaleMethodsize scaling method

Definition at line 1562 of file qgsmarkersymbollayerv2.cpp.

Member Function Documentation

◆ clone()

QgsFilledMarkerSymbolLayer * QgsFilledMarkerSymbolLayer::clone ( ) const
overridevirtual

Shall be reimplemented by subclasses to create a deep copy of the instance.

Implements QgsSymbolLayerV2.

Definition at line 1659 of file qgsmarkersymbollayerv2.cpp.

◆ color()

QColor QgsFilledMarkerSymbolLayer::color ( ) const
overridevirtual

The fill color.

Reimplemented from QgsSymbolLayerV2.

Definition at line 1710 of file qgsmarkersymbollayerv2.cpp.

◆ create()

QgsSymbolLayerV2 * QgsFilledMarkerSymbolLayer::create ( const QgsStringMap properties = QgsStringMap())
static

Creates a new QgsFilledMarkerSymbolLayer.

Parameters
propertiesa property map containing symbol properties (see properties())
Returns
new QgsFilledMarkerSymbolLayer

Definition at line 1568 of file qgsmarkersymbollayerv2.cpp.

◆ estimateMaxBleed()

double QgsFilledMarkerSymbolLayer::estimateMaxBleed ( ) const
overridevirtual

Returns the estimated maximum distance which the layer style will bleed outside the drawn shape.

Eg, polygons drawn with an outline will draw half the width of the outline outside of the polygon. This amount is estimated, since it may be affected by data defined symbology rules.

Reimplemented from QgsSymbolLayerV2.

Definition at line 1686 of file qgsmarkersymbollayerv2.cpp.

◆ layerType()

QString QgsFilledMarkerSymbolLayer::layerType ( ) const
overridevirtual

Returns a string that represents this layer type.

Used for serialization. Should match with the string used to register this symbol layer in the registry.

Implements QgsSymbolLayerV2.

Definition at line 1611 of file qgsmarkersymbollayerv2.cpp.

◆ properties()

QgsStringMap QgsFilledMarkerSymbolLayer::properties ( ) const
overridevirtual

Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.

This is used to serialize a symbol layer perstistently.

Implements QgsSymbolLayerV2.

Definition at line 1634 of file qgsmarkersymbollayerv2.cpp.

◆ setColor()

void QgsFilledMarkerSymbolLayer::setColor ( const QColor color)
overridevirtual

The fill color.

Reimplemented from QgsSymbolLayerV2.

Definition at line 1703 of file qgsmarkersymbollayerv2.cpp.

◆ setSubSymbol()

bool QgsFilledMarkerSymbolLayer::setSubSymbol ( QgsSymbolV2 symbol)
overridevirtual

set layer's subsymbol. takes ownership of the passed symbol

Reimplemented from QgsSymbolLayerV2.

Definition at line 1672 of file qgsmarkersymbollayerv2.cpp.

◆ startRender()

void QgsFilledMarkerSymbolLayer::startRender ( QgsSymbolV2RenderContext context)
overridevirtual

Reimplemented from QgsSimpleMarkerSymbolLayerBase.

Definition at line 1616 of file qgsmarkersymbollayerv2.cpp.

◆ stopRender()

void QgsFilledMarkerSymbolLayer::stopRender ( QgsSymbolV2RenderContext context)
overridevirtual

Reimplemented from QgsSimpleMarkerSymbolLayerBase.

Definition at line 1626 of file qgsmarkersymbollayerv2.cpp.

◆ subSymbol()

QgsSymbolV2 * QgsFilledMarkerSymbolLayer::subSymbol ( )
overridevirtual

Reimplemented from QgsSymbolLayerV2.

Definition at line 1667 of file qgsmarkersymbollayerv2.cpp.

◆ usedAttributes()

QSet< QString > QgsFilledMarkerSymbolLayer::usedAttributes ( ) const
overridevirtual

Returns the set of attributes referenced by the layer.

This includes attributes required by any data defined properties associated with the layer.

Reimplemented from QgsSymbolLayerV2.

Definition at line 1695 of file qgsmarkersymbollayerv2.cpp.


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