QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Abstract base class for marker symbol layers. More...
#include <qgssymbollayerv2.h>
Public Types | |
enum | HorizontalAnchorPoint { Left, HCenter, Right } |
Symbol horizontal anchor points. More... | |
enum | VerticalAnchorPoint { Top, VCenter, Bottom } |
Symbol vertical anchor points. More... | |
Public Member Functions | |
double | angle () const |
Returns the rotation angle for the marker, in degrees clockwise from north. More... | |
virtual QRectF | bounds (QPointF point, QgsSymbolV2RenderContext &context) |
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 | 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 QgsMapUnitScale & | offsetMapUnitScale () 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 |
virtual void | renderPoint (QPointF point, QgsSymbolV2RenderContext &context)=0 |
Renders a marker at the specified point. More... | |
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 QgsMapUnitScale & | sizeMapUnitScale () 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 QgsSymbolLayerV2 * | clone () const =0 |
Shall be reimplemented by subclasses to create a deep copy of the instance. More... | |
virtual QColor | color () const |
The fill color. More... | |
virtual Q_DECL_DEPRECATED const QgsExpression * | dataDefinedProperty (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 double | estimateMaxBleed () const |
Returns the estimated maximum distance which the layer style will bleed outside the drawn shape. 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 QgsDataDefined * | getDataDefinedProperty (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 | layerType () const =0 |
Returns a string that represents this layer type. More... | |
virtual QString | ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const |
virtual QColor | outlineColor () const |
Get outline color. More... | |
QgsPaintEffect * | paintEffect () const |
Returns the current paint effect for the layer. More... | |
virtual QgsStringMap | properties () const =0 |
Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol 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 void | setColor (const QColor &color) |
The fill color. More... | |
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) |
virtual bool | setSubSymbol (QgsSymbolV2 *symbol) |
set layer's subsymbol. takes ownership of the passed symbol More... | |
virtual void | stopRender (QgsSymbolV2RenderContext &context)=0 |
virtual QgsSymbolV2 * | subSymbol () |
QgsSymbolV2::SymbolType | type () const |
virtual QSet< QString > | usedAttributes () const |
Returns the set of attributes referenced by the layer. More... | |
virtual bool | writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolV2RenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const |
write as DXF More... | |
Protected Member Functions | |
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 QgsExpression * | expression (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 | |
static QPointF | _rotatedOffset (QPointF offset, double angle) |
Adjusts a marker offset to account for rotation. More... | |
Protected Attributes | |
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 |
QgsPaintEffect * | mPaintEffect |
int | mRenderingPass |
QgsSymbolV2::SymbolType | mType |
Abstract base class for marker symbol layers.
Definition at line 410 of file qgssymbollayerv2.h.
Symbol horizontal anchor points.
Enumerator | |
---|---|
Left | Align to left side of symbol |
HCenter | Align to horizontal center of symbol |
Right | Align to right side of symbol |
Definition at line 415 of file qgssymbollayerv2.h.
Symbol vertical anchor points.
Enumerator | |
---|---|
Top | Align to top of symbol |
VCenter | Align to vertical center of symbol |
Bottom | Align to bottom of symbol |
Definition at line 423 of file qgssymbollayerv2.h.
|
protected |
Constructor for QgsMarkerSymbolLayerV2.
locked | set to true to lock symbol color |
Definition at line 489 of file qgssymbollayerv2.cpp.
Adjusts a marker offset to account for rotation.
offset | offset prior to rotation |
angle | rotation angle in degrees clockwise from north |
Definition at line 597 of file qgssymbollayerv2.cpp.
|
inline |
Returns the rotation angle for the marker, in degrees clockwise from north.
Definition at line 451 of file qgssymbollayerv2.h.
|
inlinevirtual |
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.
Reimplemented in QgsFontMarkerSymbolLayerV2, QgsSvgMarkerSymbolLayerV2, QgsSimpleMarkerSymbolLayerV2, QgsSimpleMarkerSymbolLayerBase, and QgsEllipseSymbolLayerV2.
Definition at line 619 of file qgssymbollayerv2.h.
|
overridevirtual |
Implements QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 523 of file qgssymbollayerv2.cpp.
|
inline |
Returns the horizontal anchor point for positioning the symbol.
The symbol will be drawn so that the horizontal anchor point is aligned with the marker's desired location.
Definition at line 579 of file qgssymbollayerv2.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 657 of file qgssymbollayerv2.cpp.
|
protected |
Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point.
context | symbol render context |
offsetX | will be set to required horizontal offset (in painter units) |
offsetY | will be set to required vertical offset (in painter units) |
Definition at line 530 of file qgssymbollayerv2.cpp.
|
protected |
Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point.
context | symbol render context |
width | marker width |
height | marker height |
offsetX | will be set to required horizontal offset (in painter units) |
offsetY | will be set to required vertical offset (in painter units) |
Definition at line 535 of file qgssymbollayerv2.cpp.
|
protected |
Definition at line 540 of file qgssymbollayerv2.cpp.
|
inline |
Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry.
Units are specified by offsetUnit().
Definition at line 534 of file qgssymbollayerv2.h.
|
inline |
Returns the map unit scale for the symbol's offset.
Definition at line 564 of file qgssymbollayerv2.h.
|
inline |
Returns the units for the symbol's offset.
Definition at line 549 of file qgssymbollayerv2.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 642 of file qgssymbollayerv2.cpp.
|
pure virtual |
Renders a marker at the specified point.
Derived classes must implement this to handle drawing the point.
point | position at which to render point, in painter units |
context | symbol render context |
Implemented in QgsFontMarkerSymbolLayerV2, QgsSvgMarkerSymbolLayerV2, QgsSimpleMarkerSymbolLayerV2, QgsSimpleMarkerSymbolLayerBase, QgsVectorFieldSymbolLayer, and QgsEllipseSymbolLayerV2.
|
inline |
Returns the method to use for scaling the marker's size.
Definition at line 517 of file qgssymbollayerv2.h.
|
inline |
Sets the rotation angle for the marker.
angle | angle in degrees clockwise from north. |
Definition at line 446 of file qgssymbollayerv2.h.
|
inline |
Sets the horizontal anchor point for positioning the symbol.
h | anchor point. Symbol will be drawn so that the horizontal anchor point is aligned with the marker's desired location. |
Definition at line 572 of file qgssymbollayerv2.h.
|
inline |
Sets the line angle modification for the symbol's angle.
This angle is added to the marker's rotation and data defined rotation before rendering the symbol, and is usually used for orienting symbols to match a line's angle.
lineAngle | Angle in degrees clockwise from north, valid values are between 0 and 360 |
Definition at line 461 of file qgssymbollayerv2.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 651 of file qgssymbollayerv2.cpp.
|
inline |
Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry.
offset | marker offset. Units are specified by offsetUnit() |
Definition at line 526 of file qgssymbollayerv2.h.
|
inline |
Sets the map unit scale for the symbol's offset.
scale | offset map unit scale |
Definition at line 557 of file qgssymbollayerv2.h.
|
inline |
Sets the units for the symbol's offset.
unit | offset units |
Definition at line 542 of file qgssymbollayerv2.h.
|
overridevirtual |
Reimplemented from QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 636 of file qgssymbollayerv2.cpp.
|
inline |
Sets the method to use for scaling the marker's size.
scaleMethod | scale method |
Definition at line 512 of file qgssymbollayerv2.h.
|
inline |
Sets the symbol size.
size | symbol size. Units are specified by sizeUnit(). |
Definition at line 469 of file qgssymbollayerv2.h.
|
inline |
Sets the map unit scale for the symbol's size.
scale | size map unit scale |
Definition at line 499 of file qgssymbollayerv2.h.
|
inline |
Sets the units for the symbol's size.
unit | size units |
Definition at line 484 of file qgssymbollayerv2.h.
|
inline |
Sets the vertical anchor point for positioning the symbol.
v | anchor point. Symbol will be drawn so that the vertical anchor point is aligned with the marker's desired location. |
Definition at line 587 of file qgssymbollayerv2.h.
|
inline |
Returns the symbol size.
Units are specified by sizeUnit().
Definition at line 476 of file qgssymbollayerv2.h.
|
inline |
Returns the map unit scale for the symbol's size.
Definition at line 506 of file qgssymbollayerv2.h.
|
inline |
Returns the units for the symbol's size.
Definition at line 491 of file qgssymbollayerv2.h.
|
overridevirtual |
Implements QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer.
Definition at line 518 of file qgssymbollayerv2.cpp.
|
overridevirtual |
Writes the SLD element following the SLD v1.1 specs.
Reimplemented from QgsSymbolLayerV2.
Reimplemented in QgsVectorFieldSymbolLayer, and QgsEllipseSymbolLayerV2.
Definition at line 771 of file qgssymbollayerv2.cpp.
|
inline |
Returns the vertical anchor point for positioning the symbol.
The symbol will be drawn so that the vertical anchor point is aligned with the marker's desired location.
Definition at line 594 of file qgssymbollayerv2.h.
|
inlinevirtual |
Writes the symbol layer definition as a SLD XML element.
doc | XML document |
element | parent XML element |
props | symbol layer definition (see properties()) |
Reimplemented in QgsFontMarkerSymbolLayerV2, QgsSvgMarkerSymbolLayerV2, QgsSimpleMarkerSymbolLayerV2, and QgsEllipseSymbolLayerV2.
Definition at line 604 of file qgssymbollayerv2.h.
|
protected |
Marker rotation angle, in degrees clockwise from north.
Definition at line 661 of file qgssymbollayerv2.h.
|
protected |
Horizontal anchor point.
Definition at line 679 of file qgssymbollayerv2.h.
|
protected |
Line rotation angle (see setLineAngle() for details)
Definition at line 663 of file qgssymbollayerv2.h.
|
protected |
Marker offset.
Definition at line 671 of file qgssymbollayerv2.h.
|
protected |
Offset map unit scale.
Definition at line 675 of file qgssymbollayerv2.h.
|
protected |
Offset units.
Definition at line 673 of file qgssymbollayerv2.h.
|
protected |
Marker size scaling method.
Definition at line 677 of file qgssymbollayerv2.h.
|
protected |
Marker size.
Definition at line 665 of file qgssymbollayerv2.h.
|
protected |
Marker size map unit scale.
Definition at line 669 of file qgssymbollayerv2.h.
|
protected |
Marker size unit.
Definition at line 667 of file qgssymbollayerv2.h.
|
protected |
Vertical anchor point.
Definition at line 681 of file qgssymbollayerv2.h.