Skip To Content ArcGIS for Developers Sign In Dashboard

HatchFillSymbolLayer Class

class Esri::ArcGISRuntime::HatchFillSymbolLayer

A HatchFillSymbolLayer represents a polygon geometry filled with hatch lines. More...

Header: #include <HatchFillSymbolLayer>
Since: Esri::ArcGISRuntime 100.5
Inherits: Esri::ArcGISRuntime::FillSymbolLayer

This class was introduced in Esri::ArcGISRuntime 100.5.

Public Functions

HatchFillSymbolLayer(Esri::ArcGISRuntime::MultilayerPolylineSymbol *multilayerPolylineSymbol, double angle, QObject *parent = nullptr)
HatchFillSymbolLayer(QObject *parent = nullptr)
virtual ~HatchFillSymbolLayer() override
double angle() const
Esri::ArcGISRuntime::MultilayerPolylineSymbol *polyline() const
double separation() const
void setAngle(double angle)
void setPolyline(Esri::ArcGISRuntime::MultilayerPolylineSymbol *polyline)
void setSeparation(double separation)

Detailed Description

"Hatch lines" are uniformly spaced parallel lines. A HatchFillSymbolLayer, in a multilayer polygon symbol, fills the geometry of the symbol with the specified hatch lines. Each hatch line is itself a multilayer polyline symbol. You can define a custom hatch line (through the setPolyline and certain create methods) that is repeated in parallel throughout the inside of the geometry attatched to a multilayer polygon symbol's geometry.

The HatchFillSymbolLayer provides a similar experience to the SimpleFillSymbol, but with more customizability. Whereas you can select from a list of predefined hatch fill styles for a SimpleFillSymbol, the HatchFillSymbolLayer allows you to specify a fully-customized symbol to use as the hatch line. You can also adjust line, angle, and separation distance.

Member Function Documentation

HatchFillSymbolLayer::HatchFillSymbolLayer(Esri::ArcGISRuntime::MultilayerPolylineSymbol *multilayerPolylineSymbol, double angle, QObject *parent = nullptr)

Constructor with multilayerPolylineSymbol, angle and an optional parent.

angle must be in degrees and represents the angle to rotate the hatch lines. The multilayerPolylineSymbol will be used as the hatch line of the symbol layer.

Angle values can be negative. Angle rotation is counterclockwise from horizontal.

HatchFillSymbolLayer::HatchFillSymbolLayer(QObject *parent = nullptr)

Default constructor with an optional parent.

[override virtual] HatchFillSymbolLayer::~HatchFillSymbolLayer()


double HatchFillSymbolLayer::angle() const

Returns the angle, in degrees measured counterclockwise from East.

This is the angle of rotation of the hatch lines in the HatchFillSymbolLayer. The hatch lines rotate counterclockwise from horizontal. If there is no angle set, the method returns 0.0.

See also setAngle().

Esri::ArcGISRuntime::MultilayerPolylineSymbol *HatchFillSymbolLayer::polyline() const

Returns the polyline symbol used to symbolize the hatch lines of the HatchFillSymbolLayer.

If no polyline is set, the property returns a default polyline containing a single SolidStrokeSymbolLayer, with width of 1.3333 DIPs (1.0 points) and opaque gray color.

See also setPolyline().

double HatchFillSymbolLayer::separation() const

Returns the distance between the line symbols in the hatch pattern in DIPs.

If there is no separation set, the method returns 5.3333 DIPs, converted from the internal default 4.0 points. Separation values must be non-negative.

See also setSeparation().

void HatchFillSymbolLayer::setAngle(double angle)

Sets the angle, in degrees, to angle.

The hatch lines rotate counterclockwise from East.

See also angle().

void HatchFillSymbolLayer::setPolyline(Esri::ArcGISRuntime::MultilayerPolylineSymbol *polyline)

Sets the polyline symbol used to symbolize the hatch lines to polyline.

See also polyline().

void HatchFillSymbolLayer::setSeparation(double separation)

Sets the distance between the line symbols to separation.

The separation units is DIPs.

See also separation().

Feedback on this topic?