28#define POINTS_TO_MM 2.83464567
29#define INCH_TO_MM 25.4
32 : mFlags(
Qgis::RenderContextFlag::DrawEditingInfo |
Qgis::RenderContextFlag::UseAdvancedEffects |
Qgis::RenderContextFlag::DrawSelection |
Qgis::RenderContextFlag::UseRenderingOptimization )
45 , mPainter( rh.mPainter )
46 , mMaskPainter( rh.mMaskPainter )
47 , mCoordTransform( rh.mCoordTransform )
48 , mDistanceArea( rh.mDistanceArea )
49 , mExtent( rh.mExtent )
50 , mOriginalMapExtent( rh.mOriginalMapExtent )
51 , mMapToPixel( rh.mMapToPixel )
52 , mRenderingStopped( rh.mRenderingStopped )
53 , mFeedback( rh.mFeedback )
54 , mScaleFactor( rh.mScaleFactor )
55 , mDpiTarget( rh.mDpiTarget )
56 , mRendererScale( rh.mRendererScale )
57 , mSymbologyReferenceScale( rh.mSymbologyReferenceScale )
58 , mLabelingEngine( rh.mLabelingEngine )
59 , mLabelSink( rh.mLabelSink )
60 , mSelectionColor( rh.mSelectionColor )
61 , mVectorSimplifyMethod( rh.mVectorSimplifyMethod )
62 , mExpressionContext( rh.mExpressionContext )
63 , mGeometry( rh.mGeometry )
64 , mFeatureFilterProvider( rh.mFeatureFilterProvider ? rh.mFeatureFilterProvider->clone() : nullptr )
65 , mSegmentationTolerance( rh.mSegmentationTolerance )
66 , mSegmentationToleranceType( rh.mSegmentationToleranceType )
67 , mTransformContext( rh.mTransformContext )
68 , mPathResolver( rh.mPathResolver )
69 , mTextRenderFormat( rh.mTextRenderFormat )
70 , mRenderedFeatureHandlers( rh.mRenderedFeatureHandlers )
71 , mHasRenderedFeatureHandlers( rh.mHasRenderedFeatureHandlers )
72 , mCustomRenderingFlags( rh.mCustomRenderingFlags )
73 , mDisabledSymbolLayers()
74 , mClippingRegions( rh.mClippingRegions )
75 , mFeatureClipGeometry( rh.mFeatureClipGeometry )
76 , mTextureOrigin( rh.mTextureOrigin )
77 , mZRange( rh.mZRange )
79 , mDevicePixelRatio( rh.mDevicePixelRatio )
80 , mImageFormat( rh.mImageFormat )
81 , mRendererUsage( rh.mRendererUsage )
82 , mFrameRate( rh.mFrameRate )
83 , mCurrentFrame( rh.mCurrentFrame )
84 , mSymbolLayerClipPaths( rh.mSymbolLayerClipPaths )
86 , mHasTransformContext( rh.mHasTransformContext )
94 mPainter = rh.mPainter;
95 mMaskPainter = rh.mMaskPainter;
96 mCoordTransform = rh.mCoordTransform;
98 mOriginalMapExtent = rh.mOriginalMapExtent;
99 mMapToPixel = rh.mMapToPixel;
100 mRenderingStopped = rh.mRenderingStopped;
101 mFeedback = rh.mFeedback;
102 mScaleFactor = rh.mScaleFactor;
103 mDpiTarget = rh.mDpiTarget;
104 mRendererScale = rh.mRendererScale;
105 mSymbologyReferenceScale = rh.mSymbologyReferenceScale;
106 mLabelingEngine = rh.mLabelingEngine;
107 mLabelSink = rh.mLabelSink;
108 mSelectionColor = rh.mSelectionColor;
109 mVectorSimplifyMethod = rh.mVectorSimplifyMethod;
110 mExpressionContext = rh.mExpressionContext;
111 mGeometry = rh.mGeometry;
112 mFeatureFilterProvider.reset( rh.mFeatureFilterProvider ? rh.mFeatureFilterProvider->clone() :
nullptr );
113 mSegmentationTolerance = rh.mSegmentationTolerance;
114 mSegmentationToleranceType = rh.mSegmentationToleranceType;
115 mDistanceArea = rh.mDistanceArea;
116 mTransformContext = rh.mTransformContext;
117 mPathResolver = rh.mPathResolver;
118 mTextRenderFormat = rh.mTextRenderFormat;
119 mRenderedFeatureHandlers = rh.mRenderedFeatureHandlers;
120 mHasRenderedFeatureHandlers = rh.mHasRenderedFeatureHandlers;
121 mCustomRenderingFlags = rh.mCustomRenderingFlags;
122 mClippingRegions = rh.mClippingRegions;
123 mFeatureClipGeometry = rh.mFeatureClipGeometry;
124 mTextureOrigin = rh.mTextureOrigin;
125 mZRange = rh.mZRange;
127 mDevicePixelRatio = rh.mDevicePixelRatio;
128 mImageFormat = rh.mImageFormat;
130 mRendererUsage = rh.mRendererUsage;
131 mFrameRate = rh.mFrameRate;
132 mCurrentFrame = rh.mCurrentFrame;
133 mSymbolLayerClipPaths = rh.mSymbolLayerClipPaths;
137 mHasTransformContext = rh.mHasTransformContext;
158 if (
painter &&
painter->renderHints() & QPainter::SmoothPixmapTransform )
160 if (
painter &&
painter->renderHints() & QPainter::LosslessImageRendering )
182 if ( !mHasTransformContext )
183 QgsDebugMsgLevel( QStringLiteral(
"No QgsCoordinateTransformContext context set for transform" ), 4 );
185 return mTransformContext;
190 mTransformContext = context;
192 mHasTransformContext =
true;
216 mFlags &= ~(
static_cast< int >( flag ) );
226 return mFlags.testFlag( flag );
284 ctx.mFrameRate = mapSettings.
frameRate();
349 mFeatureFilterProvider.reset( ffp->
clone() );
353 mFeatureFilterProvider.reset(
nullptr );
359 return mFeatureFilterProvider.get();
364 double conversionFactor = 1.0;
365 bool isMapUnitHack =
false;
369 conversionFactor = mScaleFactor;
395 conversionFactor = 1.0 / mup;
399 conversionFactor = 1.0;
406 isMapUnitHack =
true;
412 conversionFactor = 1.0;
418 conversionFactor = 1.0;
422 double convertedSize = size * conversionFactor;
428 convertedSize = std::max( convertedSize, scale.
minSizeMM * mScaleFactor );
430 convertedSize = std::min( convertedSize, scale.
maxSizeMM * mScaleFactor );
436 convertedSize = std::clamp( convertedSize, 10.0, 100.0 );
440 const double symbologyReferenceScaleFactor = mSymbologyReferenceScale > 0 ? mSymbologyReferenceScale / mRendererScale : 1;
441 convertedSize *= symbologyReferenceScaleFactor;
454 convertedSize = std::min( convertedSize, 100.0 );
458 convertedSize = std::min<double>( convertedSize, 30 );
462 convertedSize = std::min<double>( convertedSize, 50 );
467 return convertedSize;
474 const double symbologyReferenceScaleFactor = mSymbologyReferenceScale > 0 ? mSymbologyReferenceScale / mRendererScale : 1;
487 double minSizeMU = std::numeric_limits<double>::lowest();
490 minSizeMU = scale.
minSizeMM * mScaleFactor * mup;
494 minSizeMU = std::max( minSizeMU, size * ( mRendererScale / scale.
minScale ) );
496 size = std::max( size, minSizeMU );
498 double maxSizeMU = std::numeric_limits<double>::max();
501 maxSizeMU = scale.
maxSizeMM * mScaleFactor * mup;
505 maxSizeMU = std::min( maxSizeMU, size * ( mRendererScale / scale.
maxScale ) );
507 size = std::min( size, maxSizeMU );
513 return size * mScaleFactor * mup / symbologyReferenceScaleFactor;
517 return size * mScaleFactor * mup /
POINTS_TO_MM / symbologyReferenceScaleFactor;
521 return size * mScaleFactor * mup *
INCH_TO_MM / symbologyReferenceScaleFactor;
525 return size * mup / symbologyReferenceScaleFactor;
539 const double symbologyReferenceScaleFactor = mSymbologyReferenceScale > 0 ? mSymbologyReferenceScale / mRendererScale : 1;
541 switch ( outputUnit )
549 return sizeInMapUnits;
553 return sizeInMapUnits / ( mScaleFactor * mup ) * symbologyReferenceScaleFactor;
557 return sizeInMapUnits / ( mScaleFactor * mup /
POINTS_TO_MM ) * symbologyReferenceScaleFactor;
561 return sizeInMapUnits / ( mScaleFactor * mup *
INCH_TO_MM ) * symbologyReferenceScaleFactor;
565 return sizeInMapUnits / mup * symbologyReferenceScaleFactor;
596 pointCenter = mCoordTransform.
transform( pointCenter );
599 const int multiplier = meters < 0 ? -1 : 1;
617 return mRenderedFeatureHandlers;
622 return mClippingRegions;
627 return mFeatureClipGeometry;
637 return mTextureOrigin;
642 mTextureOrigin = origin;
667 return mDevicePixelRatio;
672 mDevicePixelRatio = ratio;
692 return mCurrentFrame;
697 mCurrentFrame = frame;
702 mSymbolLayerClipPaths[ symbolLayer ].append( path );
707 return mSymbolLayerClipPaths[ symbolLayer ];
The Qgis class provides global constants for use throughout the application.
RenderSubcomponentProperty
Rendering subcomponent properties.
@ ShadowOffset
Shadow offset.
@ GlowSpread
Glow spread size.
@ Generic
Generic subcomponent property.
RenderContextFlag
Flags which affect rendering operations.
@ DrawEditingInfo
Enable drawing of vertex markers for layers in editing mode.
@ RenderSymbolPreview
The render is for a symbol preview only and map based properties may not be available,...
@ DrawSymbolBounds
Draw bounds of symbols (for debugging/testing)
@ RenderPreviewJob
Render is a 'canvas preview' render, and shortcuts should be taken to ensure fast rendering.
@ RenderMapTile
Draw map such that there are no problems between adjacent tiles.
@ UseRenderingOptimization
Enable vector simplification and other rendering optimizations.
@ ForceVectorOutput
Vector graphics should not be cached and drawn as raster images.
@ RenderPartialOutput
Whether to make extra effort to update map image with partially rendered layers (better for interacti...
@ LosslessImageRendering
Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some...
@ DrawSelection
Whether vector selections should be shown in the rendered map.
@ Antialiasing
Use antialiasing while drawing.
@ SkipSymbolRendering
Disable symbol rendering while still drawing labels if enabled (since QGIS 3.24)
@ Render3DMap
Render is for a 3D map.
@ UseAdvancedEffects
Enable layer opacity and blending effects.
@ HighQualityImageTransforms
Enable high quality image transformations, which results in better appearance of scaled or rotated ra...
@ RenderBlocking
Render and load remote sources in the same thread to ensure rendering remote sources (svg and images)...
@ DrawEditingInfo
Enable drawing of vertex markers for layers in editing mode.
@ DrawSymbolBounds
Draw bounds of symbols (for debugging/testing)
@ RenderPreviewJob
Render is a 'canvas preview' render, and shortcuts should be taken to ensure fast rendering.
@ RenderMapTile
Draw map such that there are no problems between adjacent tiles.
@ UseRenderingOptimization
Enable vector simplification and other rendering optimizations.
@ ForceVectorOutput
Vector graphics should not be cached and drawn as raster images.
@ RenderPartialOutput
Whether to make extra effort to update map image with partially rendered layers (better for interacti...
@ LosslessImageRendering
Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some...
@ DrawSelection
Whether vector selections should be shown in the rendered map.
@ Antialiasing
Enable anti-aliasing for map rendering.
@ SkipSymbolRendering
Disable symbol rendering while still drawing labels if enabled (since QGIS 3.24)
@ Render3DMap
Render is for a 3D map.
@ UseAdvancedEffects
Enable layer opacity and blending effects.
@ HighQualityImageTransforms
Enable high quality image transformations, which results in better appearance of scaled or rotated ra...
@ RenderBlocking
Render and load remote sources in the same thread to ensure rendering remote sources (svg and images)...
QString ellipsoidAcronym() const
Returns the ellipsoid acronym for the ellipsoid used by the CRS.
Q_GADGET QgsUnitTypes::DistanceUnit mapUnits
Contains information about the context in which a coordinate transform is executed.
QgsCoordinateReferenceSystem sourceCrs() const
Returns the source spatial reference system.
void setSourceCrs(const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &context)
Sets source spatial reference system crs.
double measureLineProjected(const QgsPointXY &p1, double distance=1, double azimuth=M_PI_2, QgsPointXY *projectedPoint=nullptr) const
Calculates the distance from one point with distance in meters and azimuth (direction) When the sourc...
bool setEllipsoid(const QString &ellipsoid)
Sets the ellipsoid by its acronym.
QgsRange which stores a range of double values.
Abstract interface for use by classes that filter the features or attributes of a layer.
virtual QgsFeatureFilterProvider * clone() const =0
Create a clone of the feature filter provider.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
A geometry is the spatial representation of a feature.
The QgsMapSettings class contains configuration for rendering of the map.
Qgis::RendererUsage rendererUsage() const
Returns the rendering usage.
double scale() const
Returns the calculated map scale.
double segmentationTolerance() const
Gets the segmentation tolerance applied when rendering curved geometries.
QgsDoubleRange zRange() const
Returns the range of z-values which will be visible in the map.
const QgsVectorSimplifyMethod & simplifyMethod() const
Returns the simplification settings to use when rendering vector layers.
QList< QgsRenderedFeatureHandlerInterface * > renderedFeatureHandlers() const
Returns the list of rendered feature handlers to use while rendering the map settings.
double dpiTarget() const
Returns the target DPI (dots per inch) to be taken into consideration when rendering.
long long currentFrame() const
Returns the current frame number of the map, for maps which are part of an animation.
const QgsMapToPixel & mapToPixel() const
float devicePixelRatio() const
Returns the device pixel ratio.
QSize outputSize() const
Returns the size of the resulting map image, in pixels.
QImage::Format outputImageFormat() const
format of internal QImage, default QImage::Format_ARGB32_Premultiplied
double extentBuffer() const
Returns the buffer in map units to use around the visible extent for rendering symbols whose correspo...
double frameRate() const
Returns the frame rate of the map (in frames per second), for maps which are part of an animation.
QColor selectionColor() const
Returns the color that is used for drawing of selected vector features.
QgsAbstractGeometry::SegmentationToleranceType segmentationToleranceType() const
Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation...
QgsRectangle visibleExtent() const
Returns the actual extent derived from requested extent that takes output image size into account.
QVariantMap customRenderingFlags() const
Returns any custom rendering flags.
QString ellipsoid() const
Returns ellipsoid's acronym.
Qgis::TextRenderFormat textRenderFormat() const
Returns the text render format, which dictates how text is rendered (e.g.
double outputDpi() const
Returns the DPI (dots per inch) used for conversion between real world units (e.g.
bool testFlag(Qgis::MapSettingsFlag flag) const
Check whether a particular flag is enabled.
QList< QgsMapClippingRegion > clippingRegions() const
Returns the list of clipping regions to apply to the map.
const QgsPathResolver & pathResolver() const
Returns the path resolver for conversion between relative and absolute paths during rendering operati...
QgsCoordinateReferenceSystem destinationCrs() const
Returns the destination coordinate reference system for the map render.
const QgsExpressionContext & expressionContext() const
Gets the expression context.
QgsCoordinateTransformContext transformContext() const
Returns the coordinate transform context, which stores various information regarding which datum tran...
bool isValid() const
Returns true if the object is valid (i.e.
double mapUnitsPerPixel() const
Returns the current map units per pixel.
Struct for storing maximum and minimum scales for measurements in map units.
double computeMapUnitsPerPixel(const QgsRenderContext &c) const
Computes a map units per pixel scaling factor, respecting the minimum and maximum scales set for the ...
bool minSizeMMEnabled
Whether the minimum size in mm should be respected.
double maxScale
The maximum scale, or 0.0 if unset.
double minScale
The minimum scale, or 0.0 if unset.
double maxSizeMM
The maximum size in millimeters, or 0.0 if unset.
bool maxSizeMMEnabled
Whether the maximum size in mm should be respected.
double minSizeMM
The minimum size in millimeters, or 0.0 if unset.
A class to represent a 2D point.
A rectangle specified with double values.
bool isNull() const
Test if the rectangle is null (all coordinates zero or after call to setMinimal()).
void grow(double delta)
Grows the rectangle in place by the specified amount.
QgsPointXY center() const SIP_HOLDGIL
Returns the center point of the rectangle.
Contains information about the context of a rendering operation.
void setForceVectorOutput(bool force)
Sets whether rendering operations should use vector operations instead of any faster raster shortcuts...
void setMapExtent(const QgsRectangle &extent)
Sets the original extent of the map being rendered.
void setTextureOrigin(const QPointF &origin)
Sets the texture origin, which should be used as a brush transform when rendering using QBrush object...
void setRenderingStopped(bool stopped)
Sets whether the rendering operation has been stopped and any ongoing rendering should be canceled im...
void setCoordinateTransform(const QgsCoordinateTransform &t)
Sets the current coordinate transform for the context.
void setShowSelection(bool showSelection)
Sets whether vector selections should be shown in the rendered map.
void setDrawEditingInformation(bool b)
Sets whether edit markers should be drawn during the render operation.
bool useAdvancedEffects() const
Returns true if advanced effects such as blend modes such be used.
void setScaleFactor(double factor)
Sets the scaling factor for the render to convert painter units to physical sizes.
void setImageFormat(QImage::Format format)
Sets QImage format which should be used for QImages created during rendering.
void setSegmentationToleranceType(QgsAbstractGeometry::SegmentationToleranceType type)
Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation...
void setDevicePixelRatio(float ratio)
Sets the device pixel ratio.
double convertFromMapUnits(double sizeInMapUnits, QgsUnitTypes::RenderUnit outputUnit) const
Converts a size from map units to the specified units.
void setUseAdvancedEffects(bool enabled)
Used to enable or disable advanced effects such as blend modes.
void setCurrentFrame(long long frame)
Sets the current frame of the map, for maps which are part of an animation.
QPainter * painter()
Returns the destination QPainter for the render operation.
void setPainterFlagsUsingContext(QPainter *painter=nullptr) const
Sets relevant flags on a destination painter, using the flags and settings currently defined for the ...
double convertToPainterUnits(double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale(), Qgis::RenderSubcomponentProperty property=Qgis::RenderSubcomponentProperty::Generic) const
Converts a size from the specified units to painter units (pixels).
void setTextRenderFormat(Qgis::TextRenderFormat format)
Sets the text render format, which dictates how text is rendered (e.g.
void setVectorSimplifyMethod(const QgsVectorSimplifyMethod &simplifyMethod)
Sets the simplification setting to use when rendering vector layers.
QgsCoordinateTransformContext transformContext() const
Returns the context's coordinate transform context, which stores various information regarding which ...
QSize outputSize() const
Returns the size of the resulting rendered image, in pixels.
QgsGeometry featureClipGeometry() const
Returns the geometry to use to clip features at render time.
const QgsRectangle & extent() const
When rendering a map layer, calling this method returns the "clipping" extent for the layer (in the l...
bool testFlag(Qgis::RenderContextFlag flag) const
Check whether a particular flag is enabled.
bool forceVectorOutput() const
Returns true if rendering operations should use vector operations instead of any faster raster shortc...
long long currentFrame() const
Returns the current frame number of the map (in frames per second), for maps which are part of an ani...
void setDpiTarget(double dpi)
Sets the targeted dpi for rendering.
~QgsRenderContext() override
void setPathResolver(const QgsPathResolver &resolver)
Sets the path resolver for conversion between relative and absolute paths during rendering operations...
float devicePixelRatio() const
Returns the device pixel ratio.
void setFeedback(QgsFeedback *feedback)
Attach a feedback object that can be queried regularly during rendering to check if rendering should ...
void setFeatureClipGeometry(const QgsGeometry &geometry)
Sets a geometry to use to clip features at render time.
const QgsFeatureFilterProvider * featureFilterProvider() const
Gets the filter feature provider used for additional filtering of rendered features.
QList< QgsRenderedFeatureHandlerInterface * > renderedFeatureHandlers() const
Returns the list of rendered feature handlers to use while rendering map layers.
void setFlag(Qgis::RenderContextFlag flag, bool on=true)
Enable or disable a particular flag (other flags are not affected)
QList< QPainterPath > symbolLayerClipPaths(const QgsSymbolLayer *symbolLayer) const
Returns clip paths to be applied to the symbolLayer before rendering.
double frameRate() const
Returns the frame rate of the map, for maps which are part of an animation.
bool showSelection() const
Returns true if vector selections should be shown in the rendered map.
QList< QgsMapClippingRegion > clippingRegions() const
Returns the list of clipping regions to apply during the render.
void setFrameRate(double rate)
Sets the frame rate of the map (in frames per second), for maps which are part of an animation.
void setTransformContext(const QgsCoordinateTransformContext &context)
Sets the context's coordinate transform context, which stores various information regarding which dat...
void setFlags(Qgis::RenderContextFlags flags)
Set combination of flags that will be used for rendering.
void setExtent(const QgsRectangle &extent)
When rendering a map layer, calling this method sets the "clipping" extent for the layer (in the laye...
void setMapToPixel(const QgsMapToPixel &mtp)
Sets the context's map to pixel transform, which transforms between map coordinates and device coordi...
void setOutputSize(QSize size)
Sets the size of the resulting rendered image, in pixels.
QgsFeedback * feedback() const
Returns the feedback object that can be queried regularly during rendering to check if rendering shou...
QPointF textureOrigin() const
Returns the texture origin, which should be used as a brush transform when rendering using QBrush obj...
double convertToMapUnits(double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale()) const
Converts a size from the specified units to map units.
void setPainter(QPainter *p)
Sets the destination QPainter for the render operation.
QgsDoubleRange zRange() const
Returns the range of z-values which should be rendered.
QSize deviceOutputSize() const
Returns the device output size of the render.
static QgsRenderContext fromMapSettings(const QgsMapSettings &mapSettings)
create initialized QgsRenderContext instance from given QgsMapSettings
bool drawEditingInformation() const
Returns true if edit markers should be drawn during the render operation.
static QgsRenderContext fromQPainter(QPainter *painter)
Creates a default render context given a pixel based QPainter destination.
void setExpressionContext(const QgsExpressionContext &context)
Sets the expression context.
void setUseRenderingOptimization(bool enabled)
Sets whether the rendering optimization (geometry simplification) should be executed.
void setRendererScale(double scale)
Sets the renderer map scale.
void setZRange(const QgsDoubleRange &range)
Sets the range of z-values which should be rendered.
double convertMetersToMapUnits(double meters) const
Convert meter distances to active MapUnit values for QgsUnitTypes::RenderMetersInMapUnits.
Qgis::RenderContextFlags flags() const
Returns combination of flags used for rendering.
const QgsAbstractGeometry * geometry() const
Returns pointer to the unsegmentized geometry.
QgsRenderContext & operator=(const QgsRenderContext &rh)
bool useRenderingOptimization() const
Returns true if the rendering optimization (geometry simplification) can be executed.
void setSelectionColor(const QColor &color)
Sets the color to use when rendering selected features.
void addSymbolLayerClipPath(const QgsSymbolLayer *symbolLayer, QPainterPath path)
Add a clip path to be applied to the symbolLayer before rendering.
void setSegmentationTolerance(double tolerance)
Sets the segmentation tolerance applied when rendering curved geometries.
void setFeatureFilterProvider(const QgsFeatureFilterProvider *ffp)
Set a filter feature provider used for additional filtering of rendered features.
Base class for objects with an associated (optional) temporal range.
const QgsDateTimeRange & temporalRange() const
Returns the datetime range for the object.
bool isTemporal() const
Returns true if the object's temporal range is enabled, and the object will be filtered when renderin...
void setIsTemporal(bool enabled)
Sets whether the temporal range is enabled (i.e.
void setTemporalRange(const QgsDateTimeRange &range)
Sets the temporal range for the object.
@ DistanceDegrees
Degrees, for planar geographic CRS distance measurements.
@ DistanceKilometers
Kilometers.
@ DistanceMiles
Terrestrial miles.
@ DistanceUnknownUnit
Unknown distance unit.
@ DistanceMillimeters
Millimeters.
@ DistanceYards
Imperial yards.
@ DistanceFeet
Imperial feet.
@ DistanceNauticalMiles
Nautical miles.
@ DistanceCentimeters
Centimeters.
static Q_INVOKABLE double fromUnitToUnitFactor(QgsUnitTypes::DistanceUnit fromUnit, QgsUnitTypes::DistanceUnit toUnit)
Returns the conversion factor between the specified distance units.
RenderUnit
Rendering size units.
@ RenderUnknownUnit
Mixed or unknown units.
@ RenderMetersInMapUnits
Meters value as Map units.
@ RenderPercentage
Percentage of another measurement (e.g., canvas size, feature size)
@ RenderPoints
Points (e.g., for font sizes)
@ RenderMillimeters
Millimeters.
@ RenderMapUnits
Map units.
void setSimplifyHints(SimplifyHints simplifyHints)
Sets the simplification hints of the vector layer managed.
@ NoSimplification
No simplification can be applied.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
#define QgsDebugMsgLevel(str, level)