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

#include <qgssymbolv2.h>

Inheritance diagram for QgsMarkerSymbolV2:
Inheritance graph
[legend]

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 QgsMarkerSymbolV2clone () 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 QgsVectorLayerlayer () 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)
 
QgsSymbolLayerV2symbolLayer (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...
 
QgsSymbolV2RenderContextsymbolRenderContext ()
 Returns the symbol render context. More...
 
QgsSymbolLayerV2takeSymbolLayer (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< QStringusedAttributes () const
 Return a list of attributes required to render this feature. More...
 

Static Public Member Functions

static QgsMarkerSymbolV2createSimple (const QgsStringMap &properties)
 Create a marker symbol with one symbol layer: SimpleMarker with specified properties. More...
 
- Static Public Member Functions inherited from QgsSymbolV2
static QgsSymbolV2defaultSymbol (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< OutputUnitOutputUnitList
 
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 QgsVectorLayermLayer
 
QgsSymbolLayerV2List mLayers
 
int mRenderHints
 
SymbolType mType
 

Detailed Description

Definition at line 460 of file qgssymbolv2.h.

Constructor & Destructor Documentation

◆ QgsMarkerSymbolV2()

QgsMarkerSymbolV2::QgsMarkerSymbolV2 ( const QgsSymbolLayerV2List layers = QgsSymbolLayerV2List())

Definition at line 1169 of file qgssymbolv2.cpp.

Member Function Documentation

◆ angle()

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.

Note
added in QGIS 2.16
See also
setAngle()

Definition at line 1188 of file qgssymbolv2.cpp.

◆ bounds()

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.

Parameters
pointlocation of rendered point in painter units
contextrender context
featurefeature being rendered at point (optional). If not specified, the bounds calculation will not include data defined parameters such as offset and rotation
Returns
approximate symbol bounds, in painter units
Note
added in QGIS 2.14

Definition at line 1557 of file qgssymbolv2.cpp.

◆ clone()

QgsMarkerSymbolV2 * QgsMarkerSymbolV2::clone ( ) const
overridevirtual

Implements QgsSymbolV2.

Definition at line 1576 of file qgssymbolv2.cpp.

◆ createSimple()

QgsMarkerSymbolV2 * QgsMarkerSymbolV2::createSimple ( const QgsStringMap properties)
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.

◆ dataDefinedAngle()

QgsDataDefined QgsMarkerSymbolV2::dataDefinedAngle ( ) const

Returns data defined angle for whole symbol (including all symbol layers).

Returns
data defined angle, or empty data defined if angle is not set at the marker level
Note
added in QGIS 2.9
See also
setDataDefinedAngle

Definition at line 1239 of file qgssymbolv2.cpp.

◆ dataDefinedSize()

QgsDataDefined QgsMarkerSymbolV2::dataDefinedSize ( ) const

Returns data defined size for whole symbol (including all symbol layers).

Returns
data defined size, or empty data defined if size is not set at the marker level
Note
added in QGIS 2.9
See also
setDataDefinedSize

Definition at line 1420 of file qgssymbolv2.cpp.

◆ renderPoint()

void QgsMarkerSymbolV2::renderPoint ( QPointF  point,
const QgsFeature f,
QgsRenderContext context,
int  layer = -1,
bool  selected = false 
)

Definition at line 1523 of file qgssymbolv2.cpp.

◆ scaleMethod()

QgsSymbolV2::ScaleMethod QgsMarkerSymbolV2::scaleMethod ( )

Definition at line 1486 of file qgssymbolv2.cpp.

◆ setAngle()

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.

Parameters
anglenew symbol angle
See also
angle()

Definition at line 1176 of file qgssymbolv2.cpp.

◆ setDataDefinedAngle()

void QgsMarkerSymbolV2::setDataDefinedAngle ( const QgsDataDefined dd)

Set data defined angle for whole symbol (including all symbol layers).

Parameters
dddata defined angle
Note
added in QGIS 2.9
See also
dataDefinedAngle

Definition at line 1211 of file qgssymbolv2.cpp.

◆ setDataDefinedSize()

void QgsMarkerSymbolV2::setDataDefinedSize ( const QgsDataDefined dd)

Set data defined size for whole symbol (including all symbol layers).

Parameters
dddata defined size
Note
added in QGIS 2.9
See also
dataDefinedSize

Definition at line 1384 of file qgssymbolv2.cpp.

◆ setLineAngle()

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.

Parameters
lineAngleAngle in degrees, valid values are between 0 and 360
Note
added in QGIS 2.9

Definition at line 1200 of file qgssymbolv2.cpp.

◆ setScaleMethod()

void QgsMarkerSymbolV2::setScaleMethod ( QgsSymbolV2::ScaleMethod  scaleMethod)

Definition at line 1475 of file qgssymbolv2.cpp.

◆ setSize()

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.

Parameters
sizenew symbol size
See also
size()
setSizeUnit()
setSizeMapUnitScale()

Definition at line 1284 of file qgssymbolv2.cpp.

◆ setSizeMapUnitScale()

void QgsMarkerSymbolV2::setSizeMapUnitScale ( const QgsMapUnitScale scale)

Sets the size map unit scale for the whole symbol (including all symbol layers).

Parameters
scalemap unit scale
Note
added in QGIS 2.16
See also
sizeMapUnitScale()
setSizeUnit()
setSize()

Definition at line 1359 of file qgssymbolv2.cpp.

◆ setSizeUnit()

void QgsMarkerSymbolV2::setSizeUnit ( QgsSymbolV2::OutputUnit  unit)

Sets the size units for the whole symbol (including all symbol layers).

Parameters
unitsize units
Note
added in QGIS 2.16
See also
sizeUnit()
setSizeMapUnitScale()
setSize()

Definition at line 1323 of file qgssymbolv2.cpp.

◆ size()

double QgsMarkerSymbolV2::size ( ) const

Returns the size for the whole symbol, which is the maximum size of all marker symbol layers in the symbol.

See also
setSize()
sizeUnit()
sizeMapUnitScale()

Definition at line 1307 of file qgssymbolv2.cpp.

◆ sizeMapUnitScale()

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.

Note
added in QGIS 2.16
See also
setSizeMapUnitScale()
sizeUnit()
size()

Definition at line 1371 of file qgssymbolv2.cpp.

◆ sizeUnit()

QgsSymbolV2::OutputUnit QgsMarkerSymbolV2::sizeUnit ( ) const

Returns the size units for the whole symbol (including all symbol layers).

Returns
size units, or mixed units if symbol layers have different units
Note
added in QGIS 2.16
See also
setSizeUnit()
sizeMapUnitScale()
size()

Definition at line 1335 of file qgssymbolv2.cpp.


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