22 , mGeometry( std::move( geometry ) )
26 , mHasFixedPosition( false )
27 , mHasFixedAngle( false )
29 , mHasFixedQuadrant( false )
32 , mRepeatDistance( 0 )
33 , mAlwaysShow( false )
34 , mIsObstacle( false )
35 , mObstacleFactor( 1 )
41 if ( mPermissibleZoneGeosPrepared )
43 mPermissibleZoneGeosPrepared.reset();
44 mPermissibleZoneGeos.reset();
59 if ( mPermissibleZoneGeosPrepared )
61 mPermissibleZoneGeosPrepared.reset();
62 mPermissibleZoneGeos.reset();
63 mPermissibleZoneGeosPrepared =
nullptr;
70 if ( !mPermissibleZoneGeos )
bool isNull() const
Returns true if the geometry is null (ie, contains no underlying geometry accessible via geometry() )...
virtual ~QgsLabelFeature()
Clean up geometry and curved label info (if present)
pal::LabelInfo * mInfo
extra information for curved labels (may be null)
GEOSGeometry * geometry() const
Gets access to the associated geometry.
A geometry is the spatial representation of a feature.
static GEOSContextHandle_t getGEOSHandler()
void setPermissibleZone(const QgsGeometry &geometry)
Sets the label's permissible zone geometry.
geos::unique_ptr mObstacleGeometry
Optional geometry to use for label obstacles, if different to mGeometry.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
QgsLabelFeature(QgsFeatureId id, geos::unique_ptr geometry, QSizeF size)
Create label feature, takes ownership of the geometry instance.
static geos::unique_ptr asGeos(const QgsGeometry &geometry, double precision=0)
Returns a geos geometry - caller takes ownership of the object (should be deleted with GEOSGeom_destr...
void setObstacleGeometry(geos::unique_ptr obstacleGeom)
Sets the label's obstacle geometry, if different to the feature geometry.
QgsGeometry mPermissibleZone
Optional geometry to use for label's permissible zone.