QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
#include <qgssymbolv2.h>
Public Member Functions | |
QgsMarkerSymbolV2 (const QgsSymbolLayerV2List &layers=QgsSymbolLayerV2List()) | |
double | angle () const |
Returns the marker angle for the whole symbol. More... | |
QRectF | bounds (QPointF point, QgsRenderContext &context, const QgsFeature &feature=QgsFeature()) const |
Returns the approximate bounding box of the marker symbol, which includes the bounding box of all symbol layers for the symbol. More... | |
virtual QgsMarkerSymbolV2 * | clone () const override |
QgsDataDefined | dataDefinedAngle () const |
Returns data defined angle for whole symbol (including all symbol layers). More... | |
QgsDataDefined | dataDefinedSize () const |
Returns data defined size for whole symbol (including all symbol layers). More... | |
void | renderPoint (QPointF point, const QgsFeature *f, QgsRenderContext &context, int layer=-1, bool selected=false) |
ScaleMethod | scaleMethod () |
void | setAngle (double angle) |
Sets the angle for the whole symbol. More... | |
void | setDataDefinedAngle (const QgsDataDefined &dd) |
Set data defined angle for whole symbol (including all symbol layers). More... | |
void | setDataDefinedSize (const QgsDataDefined &dd) |
Set data defined size for whole symbol (including all symbol layers). More... | |
void | setLineAngle (double lineAngle) |
Sets the line angle modification for the symbol's angle. More... | |
void | setScaleMethod (QgsSymbolV2::ScaleMethod scaleMethod) |
void | setSize (double size) |
Sets the size for the whole symbol. More... | |
void | setSizeMapUnitScale (const QgsMapUnitScale &scale) |
Sets the size map unit scale for the whole symbol (including all symbol layers). More... | |
void | setSizeUnit (OutputUnit unit) |
Sets the size units for the whole symbol (including all symbol layers). More... | |
double | size () const |
Returns the size for the whole symbol, which is the maximum size of all marker symbol layers in the symbol. More... | |
QgsMapUnitScale | sizeMapUnitScale () const |
Returns the size map unit scale for the whole symbol. More... | |
OutputUnit | sizeUnit () const |
Returns the size units for the whole symbol (including all symbol layers). More... | |
Public Member Functions inherited from QgsSymbolV2 | |
virtual | ~QgsSymbolV2 () |
qreal | alpha () const |
Get alpha transparency 1 for opaque, 0 for invisible. More... | |
bool | appendSymbolLayer (QgsSymbolLayerV2 *layer) |
Append symbol layer at the end of the list Ownership will be transferred. More... | |
QImage | asImage (QSize size, QgsRenderContext *customContext=nullptr) |
Generate symbol as image. More... | |
QImage | bigSymbolPreviewImage (QgsExpressionContext *expressionContext=nullptr) |
Returns a large (roughly 100x100 pixel) preview image for the symbol. More... | |
bool | changeSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
delete layer at specified index and set a new one More... | |
bool | clipFeaturesToExtent () const |
Returns whether features drawn by the symbol will be clipped to the render context's extent. More... | |
QColor | color () const |
bool | deleteSymbolLayer (int index) |
delete symbol layer at specified index More... | |
void | drawPreviewIcon (QPainter *painter, QSize size, QgsRenderContext *customContext=nullptr) |
Draw icon of the symbol that occupyies area given by size using the painter. More... | |
QString | dump () const |
void | exportImage (const QString &path, const QString &format, QSize size) |
export symbol as image format. PNG and SVG supported More... | |
bool | hasDataDefinedProperties () const |
Returns whether the symbol utilises any data defined properties. More... | |
bool | insertSymbolLayer (int index, QgsSymbolLayerV2 *layer) |
Insert symbol layer to specified index Ownership will be transferred. More... | |
const QgsVectorLayer * | layer () const |
QgsMapUnitScale | mapUnitScale () const |
QgsSymbolV2::OutputUnit | outputUnit () const |
void | renderFeature (const QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false, int currentVertexMarkerType=0, int currentVertexMarkerSize=0) |
Render a feature. More... | |
int | renderHints () const |
void | setAlpha (qreal alpha) |
Set alpha transparency 1 for opaque, 0 for invisible. More... | |
void | setClipFeaturesToExtent (bool clipFeaturesToExtent) |
Sets whether features drawn by the symbol should be clipped to the render context's extent. More... | |
void | setColor (const QColor &color) |
void | setLayer (const QgsVectorLayer *layer) |
void | setMapUnitScale (const QgsMapUnitScale &scale) |
void | setOutputUnit (QgsSymbolV2::OutputUnit u) |
void | setRenderHints (int hints) |
void | startRender (QgsRenderContext &context, const QgsFields *fields=nullptr) |
void | stopRender (QgsRenderContext &context) |
QgsSymbolLayerV2 * | symbolLayer (int layer) |
Returns a specific symbol layers contained in the symbol. More... | |
int | symbolLayerCount () |
Returns total number of symbol layers contained in the symbol. More... | |
QgsSymbolLayerV2List | symbolLayers () |
Returns list of symbol layers contained in the symbol. More... | |
QgsSymbolV2RenderContext * | symbolRenderContext () |
Returns the symbol render context. More... | |
QgsSymbolLayerV2 * | takeSymbolLayer (int index) |
Remove symbol layer from the list and return pointer to it. More... | |
void | toSld (QDomDocument &doc, QDomElement &element, const QgsStringMap &props) const |
Writes the SLD element following the SLD v1.1 specs. More... | |
SymbolType | type () const |
QSet< QString > | usedAttributes () const |
Return a list of attributes required to render this feature. More... | |
Static Public Member Functions | |
static QgsMarkerSymbolV2 * | createSimple (const QgsStringMap &properties) |
Create a marker symbol with one symbol layer: SimpleMarker with specified properties. More... | |
Static Public Member Functions inherited from QgsSymbolV2 | |
static QgsSymbolV2 * | defaultSymbol (QGis::GeometryType geomType) |
return new default symbol for specified geometry type More... | |
Additional Inherited Members | |
Public Types inherited from QgsSymbolV2 | |
enum | OutputUnit { MM = 0, MapUnit, Mixed, Pixel, Percentage } |
The unit of the output. More... | |
typedef QList< OutputUnit > | OutputUnitList |
enum | RenderHint { DataDefinedSizeScale = 1, DataDefinedRotation = 2 } |
enum | ScaleMethod { ScaleArea, ScaleDiameter } |
Scale method. More... | |
enum | SymbolType { Marker, Line, Fill, Hybrid } |
Type of the symbol. More... | |
Protected Member Functions inherited from QgsSymbolV2 | |
QgsSymbolV2 (SymbolType type, const QgsSymbolLayerV2List &layers) | |
QgsSymbolLayerV2List | cloneLayers () const |
Retrieve a cloned list of all layers that make up this symbol. More... | |
Q_DECL_DEPRECATED bool | isSymbolLayerCompatible (SymbolType layerType) |
check whether a symbol layer type can be used within the symbol (marker-marker, line-line, fill-fill/line) More... | |
void | renderUsingLayer (QgsSymbolLayerV2 *layer, QgsSymbolV2RenderContext &context) |
Renders a context using a particular symbol layer without passing in a geometry. More... | |
void | renderVertexMarker (QPointF pt, QgsRenderContext &context, int currentVertexMarkerType, int currentVertexMarkerSize) |
Render editing vertex marker at specified point. More... | |
Static Protected Member Functions inherited from QgsSymbolV2 | |
static QgsConstWkbPtr | _getLineString (QPolygonF &pts, QgsRenderContext &context, QgsConstWkbPtr &wkb, bool clipToExtent=true) |
Creates a line string in screen coordinates from a wkb string in map coordinates. More... | |
static void | _getPoint (QPointF &pt, QgsRenderContext &context, const QgsPointV2 *point) |
Creates a point in screen coordinates from a QgsPointV2 in map coordinates. More... | |
static QgsConstWkbPtr | _getPoint (QPointF &pt, QgsRenderContext &context, QgsConstWkbPtr &wkb) |
Creates a point in screen coordinates from a wkb string in map coordinates. More... | |
static QgsConstWkbPtr | _getPolygon (QPolygonF &pts, QList< QPolygonF > &holes, QgsRenderContext &context, QgsConstWkbPtr &wkb, bool clipToExtent=true) |
Creates a polygon in screen coordinates from a wkb string in map coordinates. More... | |
Protected Attributes inherited from QgsSymbolV2 | |
qreal | mAlpha |
Symbol opacity (in the range 0 - 1) More... | |
bool | mClipFeaturesToExtent |
const QgsVectorLayer * | mLayer |
QgsSymbolLayerV2List | mLayers |
int | mRenderHints |
SymbolType | mType |
Definition at line 460 of file qgssymbolv2.h.
QgsMarkerSymbolV2::QgsMarkerSymbolV2 | ( | const QgsSymbolLayerV2List & | layers = QgsSymbolLayerV2List() | ) |
Definition at line 1169 of file qgssymbolv2.cpp.
double QgsMarkerSymbolV2::angle | ( | ) | const |
Returns the marker angle for the whole symbol.
Note that for symbols with multiple symbol layers, this will correspond just to the angle of the first symbol layer.
Definition at line 1188 of file qgssymbolv2.cpp.
QRectF QgsMarkerSymbolV2::bounds | ( | QPointF | point, |
QgsRenderContext & | context, | ||
const QgsFeature & | feature = QgsFeature() |
||
) | const |
Returns the approximate bounding box of the marker symbol, which includes the bounding box of all symbol layers for the symbol.
It is recommended to use this method only between startRender() and stopRender() calls, or data defined rotation and offset will not be correctly calculated.
point | location of rendered point in painter units |
context | render context |
feature | feature being rendered at point (optional). If not specified, the bounds calculation will not include data defined parameters such as offset and rotation |
Definition at line 1557 of file qgssymbolv2.cpp.
|
overridevirtual |
Implements QgsSymbolV2.
Definition at line 1576 of file qgssymbolv2.cpp.
|
static |
Create a marker symbol with one symbol layer: SimpleMarker with specified properties.
This is a convenience method for easier creation of marker symbols.
Definition at line 1134 of file qgssymbolv2.cpp.
QgsDataDefined QgsMarkerSymbolV2::dataDefinedAngle | ( | ) | const |
Returns data defined angle for whole symbol (including all symbol layers).
Definition at line 1239 of file qgssymbolv2.cpp.
QgsDataDefined QgsMarkerSymbolV2::dataDefinedSize | ( | ) | const |
Returns data defined size for whole symbol (including all symbol layers).
Definition at line 1420 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::renderPoint | ( | QPointF | point, |
const QgsFeature * | f, | ||
QgsRenderContext & | context, | ||
int | layer = -1 , |
||
bool | selected = false |
||
) |
Definition at line 1523 of file qgssymbolv2.cpp.
QgsSymbolV2::ScaleMethod QgsMarkerSymbolV2::scaleMethod | ( | ) |
Definition at line 1486 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setAngle | ( | double | angle | ) |
Sets the angle for the whole symbol.
Individual symbol layer sizes will be rotated to maintain their current relative angle to the whole symbol angle.
angle | new symbol angle |
Definition at line 1176 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setDataDefinedAngle | ( | const QgsDataDefined & | dd | ) |
Set data defined angle for whole symbol (including all symbol layers).
dd | data defined angle |
Definition at line 1211 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setDataDefinedSize | ( | const QgsDataDefined & | dd | ) |
Set data defined size for whole symbol (including all symbol layers).
dd | data defined size |
Definition at line 1384 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setLineAngle | ( | double | lineAngle | ) |
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, valid values are between 0 and 360 |
Definition at line 1200 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setScaleMethod | ( | QgsSymbolV2::ScaleMethod | scaleMethod | ) |
Definition at line 1475 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setSize | ( | double | size | ) |
Sets the size for the whole symbol.
Individual symbol layer sizes will be scaled to maintain their current relative size to the whole symbol size.
size | new symbol size |
Definition at line 1284 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setSizeMapUnitScale | ( | const QgsMapUnitScale & | scale | ) |
Sets the size map unit scale for the whole symbol (including all symbol layers).
scale | map unit scale |
Definition at line 1359 of file qgssymbolv2.cpp.
void QgsMarkerSymbolV2::setSizeUnit | ( | QgsSymbolV2::OutputUnit | unit | ) |
Sets the size units for the whole symbol (including all symbol layers).
unit | size units |
Definition at line 1323 of file qgssymbolv2.cpp.
double QgsMarkerSymbolV2::size | ( | ) | const |
Returns the size for the whole symbol, which is the maximum size of all marker symbol layers in the symbol.
Definition at line 1307 of file qgssymbolv2.cpp.
QgsMapUnitScale QgsMarkerSymbolV2::sizeMapUnitScale | ( | ) | const |
Returns the size map unit scale for the whole symbol.
Note that for symbols with multiple symbol layers, this will correspond just to the map unit scale for the first symbol layer.
Definition at line 1371 of file qgssymbolv2.cpp.
QgsSymbolV2::OutputUnit QgsMarkerSymbolV2::sizeUnit | ( | ) | const |
Returns the size units for the whole symbol (including all symbol layers).
Definition at line 1335 of file qgssymbolv2.cpp.