Move simplification enums to Qgis, promote to enum class

This commit is contained in:
Nyall Dawson 2024-06-05 10:29:02 +10:00
parent e13412e49b
commit 43e7d18cd8
43 changed files with 263 additions and 202 deletions

View File

@ -2545,6 +2545,44 @@ Qgis.TextCharacterVerticalAlignment.SubScript.__doc__ = "Characters are placed b
Qgis.TextCharacterVerticalAlignment.__doc__ = "Text vertical alignment for characters.\n\nThis enum controls vertical alignment of individual characters within a block\nof text.\n\n.. versionadded:: 3.30\n\n" + '* ``Normal``: ' + Qgis.TextCharacterVerticalAlignment.Normal.__doc__ + '\n' + '* ``SuperScript``: ' + Qgis.TextCharacterVerticalAlignment.SuperScript.__doc__ + '\n' + '* ``SubScript``: ' + Qgis.TextCharacterVerticalAlignment.SubScript.__doc__
# --
Qgis.TextCharacterVerticalAlignment.baseClass = Qgis
QgsVectorSimplifyMethod.SimplifyAlgorithm = Qgis.VectorSimplificationAlgorithm
# monkey patching scoped based enum
QgsVectorSimplifyMethod.Distance = Qgis.VectorSimplificationAlgorithm.Distance
QgsVectorSimplifyMethod.Distance.is_monkey_patched = True
QgsVectorSimplifyMethod.Distance.__doc__ = "The simplification uses the distance between points to remove duplicate points"
QgsVectorSimplifyMethod.SnapToGrid = Qgis.VectorSimplificationAlgorithm.SnapToGrid
QgsVectorSimplifyMethod.SnapToGrid.is_monkey_patched = True
QgsVectorSimplifyMethod.SnapToGrid.__doc__ = "The simplification uses a grid (similar to ST_SnapToGrid) to remove duplicate points"
QgsVectorSimplifyMethod.Visvalingam = Qgis.VectorSimplificationAlgorithm.Visvalingam
QgsVectorSimplifyMethod.Visvalingam.is_monkey_patched = True
QgsVectorSimplifyMethod.Visvalingam.__doc__ = "The simplification gives each point in a line an importance weighting, so that least important points are removed first"
QgsVectorSimplifyMethod.SnappedToGridGlobal = Qgis.VectorSimplificationAlgorithm.SnappedToGridGlobal
QgsVectorSimplifyMethod.SnappedToGridGlobal.is_monkey_patched = True
QgsVectorSimplifyMethod.SnappedToGridGlobal.__doc__ = "Snap to a global grid based on the tolerance. Good for consistent results for incoming vertices, regardless of their feature"
Qgis.VectorSimplificationAlgorithm.__doc__ = "Simplification algorithms for vector features.\n\n.. note::\n\n Prior to QGIS 3.28 this was available as :py:class:`QgsVectorSimplifyMethod`.SimplifyAlgorithm\n\n.. versionadded:: 3.28\n\n" + '* ``Distance``: ' + Qgis.VectorSimplificationAlgorithm.Distance.__doc__ + '\n' + '* ``SnapToGrid``: ' + Qgis.VectorSimplificationAlgorithm.SnapToGrid.__doc__ + '\n' + '* ``Visvalingam``: ' + Qgis.VectorSimplificationAlgorithm.Visvalingam.__doc__ + '\n' + '* ``SnappedToGridGlobal``: ' + Qgis.VectorSimplificationAlgorithm.SnappedToGridGlobal.__doc__
# --
Qgis.VectorSimplificationAlgorithm.baseClass = Qgis
QgsVectorSimplifyMethod.SimplifyHint = Qgis.VectorRenderingSimplificationFlag
# monkey patching scoped based enum
QgsVectorSimplifyMethod.NoSimplification = Qgis.VectorRenderingSimplificationFlag.NoSimplification
QgsVectorSimplifyMethod.NoSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.NoSimplification.__doc__ = "No simplification can be applied"
QgsVectorSimplifyMethod.GeometrySimplification = Qgis.VectorRenderingSimplificationFlag.GeometrySimplification
QgsVectorSimplifyMethod.GeometrySimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.GeometrySimplification.__doc__ = "The geometries can be simplified using the current map2pixel context state"
QgsVectorSimplifyMethod.AntialiasingSimplification = Qgis.VectorRenderingSimplificationFlag.AntialiasingSimplification
QgsVectorSimplifyMethod.AntialiasingSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.AntialiasingSimplification.__doc__ = "The geometries can be rendered with 'AntiAliasing' disabled because of it is '1-pixel size'"
QgsVectorSimplifyMethod.FullSimplification = Qgis.VectorRenderingSimplificationFlag.FullSimplification
QgsVectorSimplifyMethod.FullSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.FullSimplification.__doc__ = "All simplification hints can be applied ( Geometry + AA-disabling )"
Qgis.VectorRenderingSimplificationFlag.__doc__ = "Simplification flags for vector feature rendering.\n\n.. note::\n\n Prior to QGIS 3.36 this was available as :py:class:`QgsVectorSimplifyMethod`.SimplifyHint\n\n.. versionadded:: 3.36\n\n" + '* ``NoSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.NoSimplification.__doc__ + '\n' + '* ``GeometrySimplification``: ' + Qgis.VectorRenderingSimplificationFlag.GeometrySimplification.__doc__ + '\n' + '* ``AntialiasingSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.AntialiasingSimplification.__doc__ + '\n' + '* ``FullSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.FullSimplification.__doc__
# --
Qgis.VectorRenderingSimplificationFlag.baseClass = Qgis
Qgis.VectorRenderingSimplificationFlags = lambda flags=0: Qgis.VectorRenderingSimplificationFlag(flags)
QgsVectorSimplifyMethod.SimplifyHints = Qgis.VectorRenderingSimplificationFlags
Qgis.VectorRenderingSimplificationFlags.baseClass = Qgis
VectorRenderingSimplificationFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.RenderSubcomponentProperty.Generic.__doc__ = "Generic subcomponent property"
Qgis.RenderSubcomponentProperty.ShadowOffset.__doc__ = "Shadow offset"
@ -3683,7 +3721,7 @@ Qgis.LayerTreeFilterFlags.baseClass = Qgis
LayerTreeFilterFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__ = "If set, the rule expression of a rule based renderer legend item will be added to the JSON"
Qgis.LegendJsonRenderFlag.__doc__ = "Legend JSON export flags.\n\nFlags to control JSON attributes when exporting a legend in JSON format.\n\n.. versionadded:: 3.36\n\n" + '* ``ShowRuleDetails``: ' + Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__
Qgis.LegendJsonRenderFlag.__doc__ = "Legend JSON export flags.\n\nFlags to co\nQ_DECLARE_OPERATORS_FOR_FLAGS( :py:class:`QgsVectorSimplifyMethod`.SimplifyHints )ntrol JSON attributes when exporting a legend in JSON format.\n\n.. versionadded:: 3.36\n\n" + '* ``ShowRuleDetails``: ' + Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__
# --
Qgis.LegendJsonRenderFlag.baseClass = Qgis
Qgis.LegendJsonRenderFlags = lambda flags=0: Qgis.LegendJsonRenderFlag(flags)

View File

@ -1,24 +0,0 @@
# The following has been generated automatically from src/core/qgsvectorsimplifymethod.h
QgsVectorSimplifyMethod.NoSimplification = QgsVectorSimplifyMethod.SimplifyHint.NoSimplification
QgsVectorSimplifyMethod.GeometrySimplification = QgsVectorSimplifyMethod.SimplifyHint.GeometrySimplification
QgsVectorSimplifyMethod.AntialiasingSimplification = QgsVectorSimplifyMethod.SimplifyHint.AntialiasingSimplification
QgsVectorSimplifyMethod.FullSimplification = QgsVectorSimplifyMethod.SimplifyHint.FullSimplification
QgsVectorSimplifyMethod.SimplifyHint.baseClass = QgsVectorSimplifyMethod
QgsVectorSimplifyMethod.SimplifyHints = lambda flags=0: QgsVectorSimplifyMethod.SimplifyHint(flags)
QgsVectorSimplifyMethod.SimplifyHints.baseClass = QgsVectorSimplifyMethod
SimplifyHints = QgsVectorSimplifyMethod # dirty hack since SIP seems to introduce the flags in module
QgsVectorSimplifyMethod.Distance = QgsVectorSimplifyMethod.SimplifyAlgorithm.Distance
QgsVectorSimplifyMethod.SnapToGrid = QgsVectorSimplifyMethod.SimplifyAlgorithm.SnapToGrid
QgsVectorSimplifyMethod.Visvalingam = QgsVectorSimplifyMethod.SimplifyAlgorithm.Visvalingam
QgsVectorSimplifyMethod.SnappedToGridGlobal = QgsVectorSimplifyMethod.SimplifyAlgorithm.SnappedToGridGlobal
QgsVectorSimplifyMethod.SimplifyAlgorithm.baseClass = QgsVectorSimplifyMethod
from enum import Enum
def _force_int(v): return int(v.value) if isinstance(v, Enum) else v
QgsVectorSimplifyMethod.SimplifyHint.__bool__ = lambda flag: bool(_force_int(flag))
QgsVectorSimplifyMethod.SimplifyHint.__eq__ = lambda flag1, flag2: _force_int(flag1) == _force_int(flag2)
QgsVectorSimplifyMethod.SimplifyHint.__and__ = lambda flag1, flag2: _force_int(flag1) & _force_int(flag2)
QgsVectorSimplifyMethod.SimplifyHint.__or__ = lambda flag1, flag2: QgsVectorSimplifyMethod.SimplifyHint(_force_int(flag1) | _force_int(flag2))

View File

@ -1466,6 +1466,25 @@ The development version
SubScript,
};
enum class VectorSimplificationAlgorithm /BaseType=IntEnum/
{
Distance,
SnapToGrid,
Visvalingam,
SnappedToGridGlobal,
};
enum class VectorRenderingSimplificationFlag /BaseType=IntFlag/
{
NoSimplification,
GeometrySimplification,
AntialiasingSimplification,
FullSimplification,
};
typedef QFlags<Qgis::VectorRenderingSimplificationFlag> VectorRenderingSimplificationFlags;
enum class RenderSubcomponentProperty /BaseType=IntEnum/
{
Generic,
@ -3011,6 +3030,7 @@ QFlags<Qgis::ProcessingParameterFlag> operator|(Qgis::ProcessingParameterFlag f1
QFlags<Qgis::DataItemProviderCapability> operator|(Qgis::DataItemProviderCapability f1, QFlags<Qgis::DataItemProviderCapability> f2);
QFlags<Qgis::VectorRenderingSimplificationFlag> operator|(Qgis::VectorRenderingSimplificationFlag f1, QFlags<Qgis::VectorRenderingSimplificationFlag> f2);

View File

@ -27,38 +27,20 @@ This class contains information how to simplify geometries fetched from a vector
construct a default object
%End
enum SimplifyHint /BaseType=IntEnum/
{
NoSimplification,
GeometrySimplification,
AntialiasingSimplification,
FullSimplification,
};
typedef QFlags<QgsVectorSimplifyMethod::SimplifyHint> SimplifyHints;
void setSimplifyHints( SimplifyHints simplifyHints );
void setSimplifyHints( Qgis::VectorRenderingSimplificationFlags simplifyHints );
%Docstring
Sets the simplification hints of the vector layer managed
%End
SimplifyHints simplifyHints() const;
Qgis::VectorRenderingSimplificationFlags simplifyHints() const;
%Docstring
Gets the simplification hints of the vector layer managed
%End
enum SimplifyAlgorithm /BaseType=IntEnum/
{
Distance,
SnapToGrid,
Visvalingam,
SnappedToGridGlobal,
};
void setSimplifyAlgorithm( SimplifyAlgorithm simplifyAlgorithm );
void setSimplifyAlgorithm( Qgis::VectorSimplificationAlgorithm simplifyAlgorithm );
%Docstring
Sets the local simplification algorithm of the vector layer managed
%End
SimplifyAlgorithm simplifyAlgorithm() const;
Qgis::VectorSimplificationAlgorithm simplifyAlgorithm() const;
%Docstring
Gets the local simplification algorithm of the vector layer managed
%End
@ -101,8 +83,6 @@ Gets the maximum scale at which the layer should be simplified
};
QFlags<QgsVectorSimplifyMethod::SimplifyHint> operator|(QgsVectorSimplifyMethod::SimplifyHint f1, QFlags<QgsVectorSimplifyMethod::SimplifyHint> f2);
/************************************************************************
* This file has been generated automatically from *

View File

@ -2461,7 +2461,7 @@ Sets the simplification settings for fast rendering of features
Returns the simplification settings for fast rendering of features
%End
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, QgsVectorSimplifyMethod::SimplifyHint simplifyHint ) const;
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, Qgis::VectorRenderingSimplificationFlag simplifyHint ) const;
%Docstring
Returns whether the VectorLayer can apply the specified simplification hint

View File

@ -2500,6 +2500,43 @@ Qgis.TextCharacterVerticalAlignment.SubScript.__doc__ = "Characters are placed b
Qgis.TextCharacterVerticalAlignment.__doc__ = "Text vertical alignment for characters.\n\nThis enum controls vertical alignment of individual characters within a block\nof text.\n\n.. versionadded:: 3.30\n\n" + '* ``Normal``: ' + Qgis.TextCharacterVerticalAlignment.Normal.__doc__ + '\n' + '* ``SuperScript``: ' + Qgis.TextCharacterVerticalAlignment.SuperScript.__doc__ + '\n' + '* ``SubScript``: ' + Qgis.TextCharacterVerticalAlignment.SubScript.__doc__
# --
Qgis.TextCharacterVerticalAlignment.baseClass = Qgis
QgsVectorSimplifyMethod.SimplifyAlgorithm = Qgis.VectorSimplificationAlgorithm
# monkey patching scoped based enum
QgsVectorSimplifyMethod.Distance = Qgis.VectorSimplificationAlgorithm.Distance
QgsVectorSimplifyMethod.Distance.is_monkey_patched = True
QgsVectorSimplifyMethod.Distance.__doc__ = "The simplification uses the distance between points to remove duplicate points"
QgsVectorSimplifyMethod.SnapToGrid = Qgis.VectorSimplificationAlgorithm.SnapToGrid
QgsVectorSimplifyMethod.SnapToGrid.is_monkey_patched = True
QgsVectorSimplifyMethod.SnapToGrid.__doc__ = "The simplification uses a grid (similar to ST_SnapToGrid) to remove duplicate points"
QgsVectorSimplifyMethod.Visvalingam = Qgis.VectorSimplificationAlgorithm.Visvalingam
QgsVectorSimplifyMethod.Visvalingam.is_monkey_patched = True
QgsVectorSimplifyMethod.Visvalingam.__doc__ = "The simplification gives each point in a line an importance weighting, so that least important points are removed first"
QgsVectorSimplifyMethod.SnappedToGridGlobal = Qgis.VectorSimplificationAlgorithm.SnappedToGridGlobal
QgsVectorSimplifyMethod.SnappedToGridGlobal.is_monkey_patched = True
QgsVectorSimplifyMethod.SnappedToGridGlobal.__doc__ = "Snap to a global grid based on the tolerance. Good for consistent results for incoming vertices, regardless of their feature"
Qgis.VectorSimplificationAlgorithm.__doc__ = "Simplification algorithms for vector features.\n\n.. note::\n\n Prior to QGIS 3.28 this was available as :py:class:`QgsVectorSimplifyMethod`.SimplifyAlgorithm\n\n.. versionadded:: 3.28\n\n" + '* ``Distance``: ' + Qgis.VectorSimplificationAlgorithm.Distance.__doc__ + '\n' + '* ``SnapToGrid``: ' + Qgis.VectorSimplificationAlgorithm.SnapToGrid.__doc__ + '\n' + '* ``Visvalingam``: ' + Qgis.VectorSimplificationAlgorithm.Visvalingam.__doc__ + '\n' + '* ``SnappedToGridGlobal``: ' + Qgis.VectorSimplificationAlgorithm.SnappedToGridGlobal.__doc__
# --
Qgis.VectorSimplificationAlgorithm.baseClass = Qgis
QgsVectorSimplifyMethod.SimplifyHint = Qgis.VectorRenderingSimplificationFlag
# monkey patching scoped based enum
QgsVectorSimplifyMethod.NoSimplification = Qgis.VectorRenderingSimplificationFlag.NoSimplification
QgsVectorSimplifyMethod.NoSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.NoSimplification.__doc__ = "No simplification can be applied"
QgsVectorSimplifyMethod.GeometrySimplification = Qgis.VectorRenderingSimplificationFlag.GeometrySimplification
QgsVectorSimplifyMethod.GeometrySimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.GeometrySimplification.__doc__ = "The geometries can be simplified using the current map2pixel context state"
QgsVectorSimplifyMethod.AntialiasingSimplification = Qgis.VectorRenderingSimplificationFlag.AntialiasingSimplification
QgsVectorSimplifyMethod.AntialiasingSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.AntialiasingSimplification.__doc__ = "The geometries can be rendered with 'AntiAliasing' disabled because of it is '1-pixel size'"
QgsVectorSimplifyMethod.FullSimplification = Qgis.VectorRenderingSimplificationFlag.FullSimplification
QgsVectorSimplifyMethod.FullSimplification.is_monkey_patched = True
QgsVectorSimplifyMethod.FullSimplification.__doc__ = "All simplification hints can be applied ( Geometry + AA-disabling )"
Qgis.VectorRenderingSimplificationFlag.__doc__ = "Simplification flags for vector feature rendering.\n\n.. note::\n\n Prior to QGIS 3.36 this was available as :py:class:`QgsVectorSimplifyMethod`.SimplifyHint\n\n.. versionadded:: 3.36\n\n" + '* ``NoSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.NoSimplification.__doc__ + '\n' + '* ``GeometrySimplification``: ' + Qgis.VectorRenderingSimplificationFlag.GeometrySimplification.__doc__ + '\n' + '* ``AntialiasingSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.AntialiasingSimplification.__doc__ + '\n' + '* ``FullSimplification``: ' + Qgis.VectorRenderingSimplificationFlag.FullSimplification.__doc__
# --
Qgis.VectorRenderingSimplificationFlag.baseClass = Qgis
QgsVectorSimplifyMethod.SimplifyHints = Qgis.VectorRenderingSimplificationFlags
Qgis.VectorRenderingSimplificationFlags.baseClass = Qgis
VectorRenderingSimplificationFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.RenderSubcomponentProperty.Generic.__doc__ = "Generic subcomponent property"
Qgis.RenderSubcomponentProperty.ShadowOffset.__doc__ = "Shadow offset"
@ -3620,7 +3657,7 @@ Qgis.LayerTreeFilterFlags.baseClass = Qgis
LayerTreeFilterFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__ = "If set, the rule expression of a rule based renderer legend item will be added to the JSON"
Qgis.LegendJsonRenderFlag.__doc__ = "Legend JSON export flags.\n\nFlags to control JSON attributes when exporting a legend in JSON format.\n\n.. versionadded:: 3.36\n\n" + '* ``ShowRuleDetails``: ' + Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__
Qgis.LegendJsonRenderFlag.__doc__ = "Legend JSON export flags.\n\nFlags to co\nQ_DECLARE_OPERATORS_FOR_FLAGS( :py:class:`QgsVectorSimplifyMethod`.SimplifyHints )ntrol JSON attributes when exporting a legend in JSON format.\n\n.. versionadded:: 3.36\n\n" + '* ``ShowRuleDetails``: ' + Qgis.LegendJsonRenderFlag.ShowRuleDetails.__doc__
# --
Qgis.LegendJsonRenderFlag.baseClass = Qgis
Qgis.LegendJsonRenderFlags.baseClass = Qgis
@ -4949,3 +4986,4 @@ Qgis.ProcessingFeatureSourceFlag.__or__ = lambda flag1, flag2: Qgis.ProcessingFe
Qgis.ProcessingParameterTypeFlag.__or__ = lambda flag1, flag2: Qgis.ProcessingParameterTypeFlags(_force_int(flag1) | _force_int(flag2))
Qgis.ProcessingParameterFlag.__or__ = lambda flag1, flag2: Qgis.ProcessingParameterFlags(_force_int(flag1) | _force_int(flag2))
Qgis.DataItemProviderCapability.__or__ = lambda flag1, flag2: Qgis.DataItemProviderCapabilities(_force_int(flag1) | _force_int(flag2))
Qgis.VectorRenderingSimplificationFlag.__or__ = lambda flag1, flag2: Qgis.VectorRenderingSimplificationFlags(_force_int(flag1) | _force_int(flag2))

View File

@ -1,5 +0,0 @@
# The following has been generated automatically from src/core/qgsvectorsimplifymethod.h
QgsVectorSimplifyMethod.SimplifyHint.baseClass = QgsVectorSimplifyMethod
QgsVectorSimplifyMethod.SimplifyHints.baseClass = QgsVectorSimplifyMethod
SimplifyHints = QgsVectorSimplifyMethod # dirty hack since SIP seems to introduce the flags in module
QgsVectorSimplifyMethod.SimplifyAlgorithm.baseClass = QgsVectorSimplifyMethod

View File

@ -1466,6 +1466,25 @@ The development version
SubScript,
};
enum class VectorSimplificationAlgorithm
{
Distance,
SnapToGrid,
Visvalingam,
SnappedToGridGlobal,
};
enum class VectorRenderingSimplificationFlag
{
NoSimplification,
GeometrySimplification,
AntialiasingSimplification,
FullSimplification,
};
typedef QFlags<Qgis::VectorRenderingSimplificationFlag> VectorRenderingSimplificationFlags;
enum class RenderSubcomponentProperty
{
Generic,
@ -3011,6 +3030,7 @@ QFlags<Qgis::ProcessingParameterFlag> operator|(Qgis::ProcessingParameterFlag f1
QFlags<Qgis::DataItemProviderCapability> operator|(Qgis::DataItemProviderCapability f1, QFlags<Qgis::DataItemProviderCapability> f2);
QFlags<Qgis::VectorRenderingSimplificationFlag> operator|(Qgis::VectorRenderingSimplificationFlag f1, QFlags<Qgis::VectorRenderingSimplificationFlag> f2);

View File

@ -27,38 +27,20 @@ This class contains information how to simplify geometries fetched from a vector
construct a default object
%End
enum SimplifyHint
{
NoSimplification,
GeometrySimplification,
AntialiasingSimplification,
FullSimplification,
};
typedef QFlags<QgsVectorSimplifyMethod::SimplifyHint> SimplifyHints;
void setSimplifyHints( SimplifyHints simplifyHints );
void setSimplifyHints( Qgis::VectorRenderingSimplificationFlags simplifyHints );
%Docstring
Sets the simplification hints of the vector layer managed
%End
SimplifyHints simplifyHints() const;
Qgis::VectorRenderingSimplificationFlags simplifyHints() const;
%Docstring
Gets the simplification hints of the vector layer managed
%End
enum SimplifyAlgorithm
{
Distance,
SnapToGrid,
Visvalingam,
SnappedToGridGlobal,
};
void setSimplifyAlgorithm( SimplifyAlgorithm simplifyAlgorithm );
void setSimplifyAlgorithm( Qgis::VectorSimplificationAlgorithm simplifyAlgorithm );
%Docstring
Sets the local simplification algorithm of the vector layer managed
%End
SimplifyAlgorithm simplifyAlgorithm() const;
Qgis::VectorSimplificationAlgorithm simplifyAlgorithm() const;
%Docstring
Gets the local simplification algorithm of the vector layer managed
%End
@ -101,8 +83,6 @@ Gets the maximum scale at which the layer should be simplified
};
QFlags<QgsVectorSimplifyMethod::SimplifyHint> operator|(QgsVectorSimplifyMethod::SimplifyHint f1, QFlags<QgsVectorSimplifyMethod::SimplifyHint> f2);
/************************************************************************
* This file has been generated automatically from *

View File

@ -2461,7 +2461,7 @@ Sets the simplification settings for fast rendering of features
Returns the simplification settings for fast rendering of features
%End
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, QgsVectorSimplifyMethod::SimplifyHint simplifyHint ) const;
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, Qgis::VectorRenderingSimplificationFlag simplifyHint ) const;
%Docstring
Returns whether the VectorLayer can apply the specified simplification hint

View File

@ -17,7 +17,6 @@
#include "qgsvectorrenderingoptions.h"
#include "qgssettings.h"
#include "qgsapplication.h"
#include "qgsvectorsimplifymethod.h"
#include "qgsvectorlayer.h"
#include "qgssettingsentryenumflag.h"
@ -34,7 +33,7 @@ QgsVectorRenderingOptionsWidget::QgsVectorRenderingOptionsWidget( QWidget *paren
QgsSettings settings;
// Default simplify drawing configuration
mSimplifyDrawingGroupBox->setChecked( settings.enumValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), QgsVectorSimplifyMethod::GeometrySimplification ) != QgsVectorSimplifyMethod::NoSimplification );
mSimplifyDrawingGroupBox->setChecked( settings.enumValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), Qgis::VectorRenderingSimplificationFlag::GeometrySimplification ) != Qgis::VectorRenderingSimplificationFlag::NoSimplification );
mSimplifyDrawingSpinBox->setValue( QgsVectorLayer::settingsSimplifyDrawingTol->value() );
mSimplifyDrawingAtProvider->setChecked( !QgsVectorLayer::settingsSimplifyLocal->value() );
@ -62,10 +61,10 @@ QgsVectorRenderingOptionsWidget::QgsVectorRenderingOptionsWidget( QWidget *paren
mSimplifyMaximumScaleComboBox->setScale( QgsVectorLayer::settingsSimplifyMaxScale->value() );
// Default local simplification algorithm
mSimplifyAlgorithmComboBox->addItem( tr( "Distance" ), static_cast<int>( QgsVectorSimplifyMethod::Distance ) );
mSimplifyAlgorithmComboBox->addItem( tr( "SnapToGrid" ), static_cast<int>( QgsVectorSimplifyMethod::SnapToGrid ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Visvalingam" ), static_cast<int>( QgsVectorSimplifyMethod::Visvalingam ) );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( QgsVectorLayer::settingsSimplifyAlgorithm->value() ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Distance" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::Distance ) );
mSimplifyAlgorithmComboBox->addItem( tr( "SnapToGrid" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::SnapToGrid ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Visvalingam" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::Visvalingam ) );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( QVariant::fromValue( QgsVectorLayer::settingsSimplifyAlgorithm->value() ) ) );
}
QString QgsVectorRenderingOptionsWidget::helpKey() const
@ -78,14 +77,15 @@ void QgsVectorRenderingOptionsWidget::apply()
QgsSettings settings;
// Default simplify drawing configuration
QgsVectorSimplifyMethod::SimplifyHints simplifyHints = QgsVectorSimplifyMethod::NoSimplification;
Qgis::VectorRenderingSimplificationFlags simplifyHints = Qgis::VectorRenderingSimplificationFlag::NoSimplification;
if ( mSimplifyDrawingGroupBox->isChecked() )
{
simplifyHints |= QgsVectorSimplifyMethod::GeometrySimplification;
if ( mSimplifyDrawingSpinBox->value() > 1 ) simplifyHints |= QgsVectorSimplifyMethod::AntialiasingSimplification;
simplifyHints |= Qgis::VectorRenderingSimplificationFlag::GeometrySimplification;
if ( mSimplifyDrawingSpinBox->value() > 1 )
simplifyHints |= Qgis::VectorRenderingSimplificationFlag::AntialiasingSimplification;
}
QgsVectorLayer::settingsSimplifyDrawingHints->setValue( simplifyHints );
QgsVectorLayer::settingsSimplifyAlgorithm->setValue( mSimplifyAlgorithmComboBox->currentData().value<QgsVectorSimplifyMethod::SimplifyAlgorithm>() );
QgsVectorLayer::settingsSimplifyAlgorithm->setValue( mSimplifyAlgorithmComboBox->currentData().value<Qgis::VectorSimplificationAlgorithm>() );
QgsVectorLayer::settingsSimplifyDrawingTol->setValue( mSimplifyDrawingSpinBox->value() );
QgsVectorLayer::settingsSimplifyLocal->setValue( !mSimplifyDrawingAtProvider->isChecked() );
QgsVectorLayer::settingsSimplifyMaxScale->setValue( mSimplifyMaximumScaleComboBox->scale() );

View File

@ -525,10 +525,10 @@ void QgsMapSaveDialog::onAccepted()
if ( mSimplifyGeometriesCheckbox->isChecked() )
{
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::GeometrySimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
simplifyMethod.setForceLocalOptimization( true );
// we use SnappedToGridGlobal, because it avoids gaps and slivers between previously adjacent polygons
simplifyMethod.setSimplifyAlgorithm( QgsVectorSimplifyMethod::SnappedToGridGlobal );
simplifyMethod.setSimplifyAlgorithm( Qgis::VectorSimplificationAlgorithm::SnappedToGridGlobal );
simplifyMethod.setThreshold( 0.1f ); // (pixels). We are quite conservative here. This could possibly be bumped all the way up to 1. But let's play it safe.
ms.setSimplifyMethod( simplifyMethod );
}

View File

@ -2241,7 +2241,7 @@ std::unique_ptr<QgsLabelFeature> QgsPalLayerSettings::registerFeatureWithDetails
// simplify?
const QgsVectorSimplifyMethod &simplifyMethod = context.vectorSimplifyMethod();
std::unique_ptr<QgsGeometry> scopedClonedGeom;
if ( simplifyMethod.simplifyHints() != QgsVectorSimplifyMethod::NoSimplification && simplifyMethod.forceLocalOptimization() )
if ( simplifyMethod.simplifyHints() != Qgis::VectorRenderingSimplificationFlags( Qgis::VectorRenderingSimplificationFlag::NoSimplification ) && simplifyMethod.forceLocalOptimization() )
{
unsigned int simplifyHints = simplifyMethod.simplifyHints() | QgsMapToPixelSimplifier::SimplifyEnvelope;
QgsMapToPixelSimplifier::SimplifyAlgorithm simplifyAlgorithm = static_cast< QgsMapToPixelSimplifier::SimplifyAlgorithm >( simplifyMethod.simplifyAlgorithm() );
@ -3060,7 +3060,7 @@ std::unique_ptr<QgsLabelFeature> QgsPalLayerSettings::registerObstacleFeature( c
// simplify?
const QgsVectorSimplifyMethod &simplifyMethod = context.vectorSimplifyMethod();
std::unique_ptr<QgsGeometry> scopedClonedGeom;
if ( simplifyMethod.simplifyHints() != QgsVectorSimplifyMethod::NoSimplification && simplifyMethod.forceLocalOptimization() )
if ( simplifyMethod.simplifyHints() != Qgis::VectorRenderingSimplificationFlags( Qgis::VectorRenderingSimplificationFlag::NoSimplification ) && simplifyMethod.forceLocalOptimization() )
{
int simplifyHints = simplifyMethod.simplifyHints() | QgsMapToPixelSimplifier::SimplifyEnvelope;
QgsMapToPixelSimplifier::SimplifyAlgorithm simplifyAlgorithm = static_cast< QgsMapToPixelSimplifier::SimplifyAlgorithm >( simplifyMethod.simplifyAlgorithm() );

View File

@ -1900,10 +1900,10 @@ QgsLayoutExporter::ExportResult QgsLayoutExporter::handleLayeredExport( const QL
QgsVectorSimplifyMethod QgsLayoutExporter::createExportSimplifyMethod()
{
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::GeometrySimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
simplifyMethod.setForceLocalOptimization( true );
// we use SnappedToGridGlobal, because it avoids gaps and slivers between previously adjacent polygons
simplifyMethod.setSimplifyAlgorithm( QgsVectorSimplifyMethod::SnappedToGridGlobal );
simplifyMethod.setSimplifyAlgorithm( Qgis::VectorSimplificationAlgorithm::SnappedToGridGlobal );
simplifyMethod.setThreshold( 0.1f ); // (pixels). We are quite conservative here. This could possibly be bumped all the way up to 1. But let's play it safe.
return simplifyMethod;
}

View File

@ -1720,7 +1720,7 @@ QgsMapSettings QgsLayoutItemMap::mapSettings( const QgsRectangle &extent, QSizeF
if ( !mLayout->renderContext().isPreviewRender() )
{
//if outputting layout, we disable optimisations like layer simplification by default, UNLESS the context specifically tells us to use them
jobMapSettings.setFlag( Qgis::MapSettingsFlag::UseRenderingOptimization, mLayout->renderContext().simplifyMethod().simplifyHints() != QgsVectorSimplifyMethod::NoSimplification );
jobMapSettings.setFlag( Qgis::MapSettingsFlag::UseRenderingOptimization, mLayout->renderContext().simplifyMethod().simplifyHints() != Qgis::VectorRenderingSimplificationFlags( Qgis::VectorRenderingSimplificationFlag::NoSimplification ) );
jobMapSettings.setSimplifyMethod( mLayout->renderContext().simplifyMethod() );
jobMapSettings.setRendererUsage( Qgis::RendererUsage::Export );
}

View File

@ -22,7 +22,7 @@ QgsLayoutRenderContext::QgsLayoutRenderContext( QgsLayout *layout )
, mFlags( FlagAntialiasing | FlagUseAdvancedEffects )
, mLayout( layout )
{
mSimplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
mSimplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::NoSimplification );
}
void QgsLayoutRenderContext::setFlags( const QgsLayoutRenderContext::Flags flags )

View File

@ -2531,6 +2531,48 @@ class CORE_EXPORT Qgis
};
Q_ENUM( TextCharacterVerticalAlignment )
/**
* Simplification algorithms for vector features.
*
* \note Prior to QGIS 3.28 this was available as QgsVectorSimplifyMethod::SimplifyAlgorithm
*
* \since QGIS 3.28
*/
enum class VectorSimplificationAlgorithm SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsVectorSimplifyMethod, SimplifyAlgorithm ) : int
{
Distance = 0, //!< The simplification uses the distance between points to remove duplicate points
SnapToGrid = 1, //!< The simplification uses a grid (similar to ST_SnapToGrid) to remove duplicate points
Visvalingam = 2, //!< The simplification gives each point in a line an importance weighting, so that least important points are removed first
SnappedToGridGlobal = 3, //!< Snap to a global grid based on the tolerance. Good for consistent results for incoming vertices, regardless of their feature
};
Q_ENUM( VectorSimplificationAlgorithm )
/**
* Simplification flags for vector feature rendering.
*
* \note Prior to QGIS 3.36 this was available as QgsVectorSimplifyMethod::SimplifyHint
*
* \since QGIS 3.36
*/
enum class VectorRenderingSimplificationFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsVectorSimplifyMethod, SimplifyHint ) : int SIP_ENUM_BASETYPE( IntFlag )
{
NoSimplification = 0, //!< No simplification can be applied
GeometrySimplification = 1, //!< The geometries can be simplified using the current map2pixel context state
AntialiasingSimplification = 2, //!< The geometries can be rendered with 'AntiAliasing' disabled because of it is '1-pixel size'
FullSimplification = 3, //!< All simplification hints can be applied ( Geometry + AA-disabling )
};
Q_ENUM( VectorRenderingSimplificationFlag )
/**
* Simplification flags for vector feature rendering.
*
* \note Prior to QGIS 3.36 this was available as QgsVectorSimplifyMethod::SimplifyHints
*
* \since QGIS 3.36
*/
Q_DECLARE_FLAGS( VectorRenderingSimplificationFlags, VectorRenderingSimplificationFlag ) SIP_MONKEYPATCH_FLAGS_UNNEST( QgsVectorSimplifyMethod, SimplifyHints )
Q_FLAG( VectorRenderingSimplificationFlags )
/**
* Rendering subcomponent properties.
*
@ -3894,7 +3936,8 @@ class CORE_EXPORT Qgis
/**
* Legend JSON export flags.
*
* Flags to control JSON attributes when exporting a legend in JSON format.
* Flags to co
* Q_DECLARE_OPERATORS_FOR_FLAGS( QgsVectorSimplifyMethod::SimplifyHints )ntrol JSON attributes when exporting a legend in JSON format.
*
* \since QGIS 3.36
*/
@ -5156,7 +5199,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingFeatureSourceFlags )
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingParameterTypeFlags )
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::ProcessingParameterFlags )
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataItemProviderCapabilities )
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::VectorRenderingSimplificationFlags )
// hack to workaround warnings when casting void pointers
// retrieved from QLibrary::resolve to function pointers.

View File

@ -42,7 +42,7 @@ QgsMapSettings::QgsMapSettings()
, mSegmentationTolerance( M_PI_2 / 90 )
{
mScaleCalculator.setMapUnits( Qgis::DistanceUnit::Unknown );
mSimplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
mSimplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::NoSimplification );
updateDerived();
}

View File

@ -31,7 +31,7 @@
QgsRenderContext::QgsRenderContext()
: mFlags( Qgis::RenderContextFlag::DrawEditingInfo | Qgis::RenderContextFlag::UseAdvancedEffects | Qgis::RenderContextFlag::DrawSelection | Qgis::RenderContextFlag::UseRenderingOptimization )
{
mVectorSimplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
mVectorSimplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::NoSimplification );
// For RenderMetersInMapUnits support, when rendering in Degrees, the Ellipsoid must be set
// - for Previews/Icons the default Extent can be used
mDistanceArea.setEllipsoid( mDistanceArea.sourceCrs().ellipsoidAcronym() );

View File

@ -17,7 +17,7 @@
#include "qgsvectorsimplifymethod.h"
QgsVectorSimplifyMethod::QgsVectorSimplifyMethod()
: mSimplifyHints( Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD > 1 ? QgsVectorSimplifyMethod::FullSimplification : QgsVectorSimplifyMethod::GeometrySimplification )
: mSimplifyHints( Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD > 1 ? Qgis::VectorRenderingSimplificationFlag::FullSimplification : Qgis::VectorRenderingSimplificationFlag::GeometrySimplification )
, mThreshold( Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD )
{
}

View File

@ -21,6 +21,7 @@
#include "qgis_core.h"
#include "qgis_sip.h"
#include "qgis.h"
/**
* \ingroup core
@ -33,37 +34,15 @@ class CORE_EXPORT QgsVectorSimplifyMethod
//! construct a default object
QgsVectorSimplifyMethod();
//! Simplification flags for fast rendering of features
enum SimplifyHint SIP_ENUM_BASETYPE( IntFlag )
{
NoSimplification = 0, //!< No simplification can be applied
GeometrySimplification = 1, //!< The geometries can be simplified using the current map2pixel context state
AntialiasingSimplification = 2, //!< The geometries can be rendered with 'AntiAliasing' disabled because of it is '1-pixel size'
FullSimplification = 3, //!< All simplification hints can be applied ( Geometry + AA-disabling )
};
Q_ENUM( SimplifyHint )
Q_DECLARE_FLAGS( SimplifyHints, SimplifyHint )
Q_FLAG( SimplifyHints )
//! Sets the simplification hints of the vector layer managed
void setSimplifyHints( SimplifyHints simplifyHints ) { mSimplifyHints = simplifyHints; }
void setSimplifyHints( Qgis::VectorRenderingSimplificationFlags simplifyHints ) { mSimplifyHints = simplifyHints; }
//! Gets the simplification hints of the vector layer managed
inline SimplifyHints simplifyHints() const { return mSimplifyHints; }
//! Types of local simplification algorithms that can be used
enum SimplifyAlgorithm
{
Distance = 0, //!< The simplification uses the distance between points to remove duplicate points
SnapToGrid = 1, //!< The simplification uses a grid (similar to ST_SnapToGrid) to remove duplicate points
Visvalingam = 2, //!< The simplification gives each point in a line an importance weighting, so that least important points are removed first
SnappedToGridGlobal = 3, //!< Snap to a global grid based on the tolerance. Good for consistent results for incoming vertices, regardless of their feature
};
Q_ENUM( SimplifyAlgorithm )
inline Qgis::VectorRenderingSimplificationFlags simplifyHints() const { return mSimplifyHints; }
//! Sets the local simplification algorithm of the vector layer managed
void setSimplifyAlgorithm( SimplifyAlgorithm simplifyAlgorithm ) { mSimplifyAlgorithm = simplifyAlgorithm; }
void setSimplifyAlgorithm( Qgis::VectorSimplificationAlgorithm simplifyAlgorithm ) { mSimplifyAlgorithm = simplifyAlgorithm; }
//! Gets the local simplification algorithm of the vector layer managed
inline SimplifyAlgorithm simplifyAlgorithm() const { return mSimplifyAlgorithm; }
inline Qgis::VectorSimplificationAlgorithm simplifyAlgorithm() const { return mSimplifyAlgorithm; }
//! Sets the tolerance of simplification in map units. Represents the maximum distance in map units between two coordinates which can be considered equal
void setTolerance( double tolerance ) { mTolerance = tolerance; }
@ -87,9 +66,9 @@ class CORE_EXPORT QgsVectorSimplifyMethod
private:
//! Simplification hints for fast rendering of features of the vector layer managed
SimplifyHints mSimplifyHints;
Qgis::VectorRenderingSimplificationFlags mSimplifyHints;
//! Simplification algorithm
SimplifyAlgorithm mSimplifyAlgorithm = QgsVectorSimplifyMethod::Distance;
Qgis::VectorSimplificationAlgorithm mSimplifyAlgorithm = Qgis::VectorSimplificationAlgorithm::Distance;
//! Simplification tolerance, it represents the maximum distance between two coordinates which can be considered equal
double mTolerance = 1;
//! Simplification threshold
@ -100,6 +79,5 @@ class CORE_EXPORT QgsVectorSimplifyMethod
float mMaximumScale = 1;
};
Q_DECLARE_OPERATORS_FOR_FLAGS( QgsVectorSimplifyMethod::SimplifyHints )
#endif // QGSVECTORSIMPLIFYMETHOD_H

View File

@ -14,7 +14,6 @@
***************************************************************************/
#include "qgslinesymbollayer.h"
#include "qgscurve.h"
#include "qgscurvepolygon.h"
#include "qgsdxfexport.h"
#include "qgssymbollayerutils.h"
@ -451,7 +450,7 @@ void QgsSimpleLineSymbolLayer::renderPolyline( const QPolygonF &pts, QgsSymbolRe
// Disable 'Antialiasing' if the geometry was generalized in the current RenderContext (We known that it must have least #2 points).
std::unique_ptr< QgsScopedQPainterState > painterState;
if ( points.size() <= 2 &&
( context.renderContext().vectorSimplifyMethod().simplifyHints() & QgsVectorSimplifyMethod::AntialiasingSimplification ) &&
( context.renderContext().vectorSimplifyMethod().simplifyHints() & Qgis::VectorRenderingSimplificationFlag::AntialiasingSimplification ) &&
QgsAbstractGeometrySimplifier::isGeneralizableByDeviceBoundingBox( points, context.renderContext().vectorSimplifyMethod().threshold() ) &&
( p->renderHints() & QPainter::Antialiasing ) )
{

View File

@ -864,7 +864,7 @@ void QgsFillSymbolLayer::_renderPolygon( QPainter *p, const QPolygonF &points, c
// Disable 'Antialiasing' if the geometry was generalized in the current RenderContext (We known that it must have least #5 points).
if ( points.size() <= 5 &&
( context.renderContext().vectorSimplifyMethod().simplifyHints() & QgsVectorSimplifyMethod::AntialiasingSimplification ) &&
( context.renderContext().vectorSimplifyMethod().simplifyHints() & Qgis::VectorRenderingSimplificationFlag::AntialiasingSimplification ) &&
QgsAbstractGeometrySimplifier::isGeneralizableByDeviceBoundingBox( points, context.renderContext().vectorSimplifyMethod().threshold() ) &&
( p->renderHints() & QPainter::Antialiasing ) )
{

View File

@ -114,8 +114,8 @@
const QgsSettingsEntryDouble *QgsVectorLayer::settingsSimplifyDrawingTol = new QgsSettingsEntryDouble( QStringLiteral( "simplifyDrawingTol" ), QgsSettingsTree::sTreeQgis, Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD );
const QgsSettingsEntryBool *QgsVectorLayer::settingsSimplifyLocal = new QgsSettingsEntryBool( QStringLiteral( "simplifyLocal" ), QgsSettingsTree::sTreeQgis, true );
const QgsSettingsEntryDouble *QgsVectorLayer::settingsSimplifyMaxScale = new QgsSettingsEntryDouble( QStringLiteral( "simplifyMaxScale" ), QgsSettingsTree::sTreeQgis, 1.0 );
const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints> *QgsVectorLayer::settingsSimplifyDrawingHints = new QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints>( QStringLiteral( "simplifyDrawingHints" ), QgsSettingsTree::sTreeQgis, QgsVectorSimplifyMethod::SimplifyHint::NoSimplification );
const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm> *QgsVectorLayer::settingsSimplifyAlgorithm = new QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm>( QStringLiteral( "simplifyAlgorithm" ), QgsSettingsTree::sTreeQgis, QgsVectorSimplifyMethod::SimplifyAlgorithm::Distance );
const QgsSettingsEntryEnumFlag<Qgis::VectorRenderingSimplificationFlags> *QgsVectorLayer::settingsSimplifyDrawingHints = new QgsSettingsEntryEnumFlag<Qgis::VectorRenderingSimplificationFlags>( QStringLiteral( "simplifyDrawingHints" ), QgsSettingsTree::sTreeQgis, Qgis::VectorRenderingSimplificationFlag::NoSimplification );
const QgsSettingsEntryEnumFlag<Qgis::VectorSimplificationAlgorithm> *QgsVectorLayer::settingsSimplifyAlgorithm = new QgsSettingsEntryEnumFlag<Qgis::VectorSimplificationAlgorithm>( QStringLiteral( "simplifyAlgorithm" ), QgsSettingsTree::sTreeQgis, Qgis::VectorSimplificationAlgorithm::Distance );
#ifdef TESTPROVIDERLIB
@ -1303,7 +1303,7 @@ bool QgsVectorLayer::setSubsetString( const QString &subset )
return res;
}
bool QgsVectorLayer::simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, QgsVectorSimplifyMethod::SimplifyHint simplifyHint ) const
bool QgsVectorLayer::simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, Qgis::VectorRenderingSimplificationFlag simplifyHint ) const
{
// non fatal for now -- the "rasterize" processing algorithm is not thread safe and calls this
QGIS_PROTECT_QOBJECT_THREAD_ACCESS_NON_FATAL
@ -2889,8 +2889,8 @@ bool QgsVectorLayer::readStyle( const QDomNode &node, QString &errorMessage,
QDomElement e = node.toElement();
// get the simplification drawing settings
mSimplifyMethod.setSimplifyHints( static_cast< QgsVectorSimplifyMethod::SimplifyHints >( e.attribute( QStringLiteral( "simplifyDrawingHints" ), QStringLiteral( "1" ) ).toInt() ) );
mSimplifyMethod.setSimplifyAlgorithm( static_cast< QgsVectorSimplifyMethod::SimplifyAlgorithm >( e.attribute( QStringLiteral( "simplifyAlgorithm" ), QStringLiteral( "0" ) ).toInt() ) );
mSimplifyMethod.setSimplifyHints( static_cast< Qgis::VectorRenderingSimplificationFlags >( e.attribute( QStringLiteral( "simplifyDrawingHints" ), QStringLiteral( "1" ) ).toInt() ) );
mSimplifyMethod.setSimplifyAlgorithm( static_cast< Qgis::VectorSimplificationAlgorithm >( e.attribute( QStringLiteral( "simplifyAlgorithm" ), QStringLiteral( "0" ) ).toInt() ) );
mSimplifyMethod.setThreshold( e.attribute( QStringLiteral( "simplifyDrawingTol" ), QStringLiteral( "1" ) ).toFloat() );
mSimplifyMethod.setForceLocalOptimization( e.attribute( QStringLiteral( "simplifyLocal" ), QStringLiteral( "1" ) ).toInt() );
mSimplifyMethod.setMaximumScale( e.attribute( QStringLiteral( "simplifyMaxScale" ), QStringLiteral( "1" ) ).toFloat() );
@ -3248,8 +3248,8 @@ bool QgsVectorLayer::writeStyle( QDomNode &node, QDomDocument &doc, QString &err
// save the simplification drawing settings
if ( categories.testFlag( Rendering ) )
{
mapLayerNode.setAttribute( QStringLiteral( "simplifyDrawingHints" ), QString::number( mSimplifyMethod.simplifyHints() ) );
mapLayerNode.setAttribute( QStringLiteral( "simplifyAlgorithm" ), QString::number( mSimplifyMethod.simplifyAlgorithm() ) );
mapLayerNode.setAttribute( QStringLiteral( "simplifyDrawingHints" ), QString::number( static_cast< int >( mSimplifyMethod.simplifyHints() ) ) );
mapLayerNode.setAttribute( QStringLiteral( "simplifyAlgorithm" ), QString::number( static_cast< int >( mSimplifyMethod.simplifyAlgorithm() ) ) );
mapLayerNode.setAttribute( QStringLiteral( "simplifyDrawingTol" ), QString::number( mSimplifyMethod.threshold() ) );
mapLayerNode.setAttribute( QStringLiteral( "simplifyLocal" ), mSimplifyMethod.forceLocalOptimization() ? 1 : 0 );
mapLayerNode.setAttribute( QStringLiteral( "simplifyMaxScale" ), QString::number( mSimplifyMethod.maximumScale() ) );

View File

@ -34,7 +34,6 @@
#include "qgsfields.h"
#include "qgsvectordataprovider.h"
#include "qgsvectorlayertoolscontext.h"
#include "qgsvectorsimplifymethod.h"
#include "qgseditformconfig.h"
#include "qgsattributetableconfig.h"
#include "qgsaggregatecalculator.h"
@ -43,6 +42,7 @@
#include "qgsexpressioncontextscopegenerator.h"
#include "qgsexpressioncontext.h"
#include "qgsabstractprofilesource.h"
#include "qgsvectorsimplifymethod.h"
class QPainter;
class QImage;
@ -414,8 +414,8 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte
static const QgsSettingsEntryDouble *settingsSimplifyMaxScale SIP_SKIP;
static const QgsSettingsEntryDouble *settingsSimplifyDrawingTol SIP_SKIP;
static const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyAlgorithm> *settingsSimplifyAlgorithm SIP_SKIP;
static const QgsSettingsEntryEnumFlag<QgsVectorSimplifyMethod::SimplifyHints> *settingsSimplifyDrawingHints SIP_SKIP;
static const QgsSettingsEntryEnumFlag<Qgis::VectorSimplificationAlgorithm> *settingsSimplifyAlgorithm SIP_SKIP;
static const QgsSettingsEntryEnumFlag<Qgis::VectorRenderingSimplificationFlags> *settingsSimplifyDrawingHints SIP_SKIP;
/**
* Setting options for loading vector layers.
@ -2330,7 +2330,7 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte
* Returns whether the VectorLayer can apply the specified simplification hint
* \note Do not use in 3rd party code - may be removed in future version!
*/
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, QgsVectorSimplifyMethod::SimplifyHint simplifyHint ) const;
bool simplifyDrawingCanbeApplied( const QgsRenderContext &renderContext, Qgis::VectorRenderingSimplificationFlag simplifyHint ) const;
/**
* Returns the conditional styles that are set for this layer. Style information is

View File

@ -133,16 +133,16 @@ QgsVectorLayerRenderer::QgsVectorLayerRenderer( QgsVectorLayer *layer, QgsRender
// if there's already a simplification method specified via the context, we respect that. Otherwise, we fall back
// to the layer's individual setting
if ( renderContext()->vectorSimplifyMethod().simplifyHints() != QgsVectorSimplifyMethod::NoSimplification )
if ( renderContext()->vectorSimplifyMethod().simplifyHints() != Qgis::VectorRenderingSimplificationFlags( Qgis::VectorRenderingSimplificationFlag::NoSimplification ) )
{
mSimplifyMethod = renderContext()->vectorSimplifyMethod();
mSimplifyGeometry = renderContext()->vectorSimplifyMethod().simplifyHints() & QgsVectorSimplifyMethod::GeometrySimplification ||
renderContext()->vectorSimplifyMethod().simplifyHints() & QgsVectorSimplifyMethod::FullSimplification;
mSimplifyGeometry = renderContext()->vectorSimplifyMethod().simplifyHints() & Qgis::VectorRenderingSimplificationFlag::GeometrySimplification ||
renderContext()->vectorSimplifyMethod().simplifyHints() & Qgis::VectorRenderingSimplificationFlag::FullSimplification;
}
else
{
mSimplifyMethod = layer->simplifyMethod();
mSimplifyGeometry = layer->simplifyDrawingCanbeApplied( *renderContext(), QgsVectorSimplifyMethod::GeometrySimplification );
mSimplifyGeometry = layer->simplifyDrawingCanbeApplied( *renderContext(), Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
}
mVertexMarkerOnlyForSelection = QgsSettingsRegistryCore::settingsDigitizingMarkerOnlyForSelected->value();
@ -442,14 +442,14 @@ bool QgsVectorLayerRenderer::renderInternal( QgsFeatureRenderer *renderer, int r
else
{
QgsVectorSimplifyMethod vectorMethod;
vectorMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
vectorMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::NoSimplification );
context.setVectorSimplifyMethod( vectorMethod );
}
}
else
{
QgsVectorSimplifyMethod vectorMethod;
vectorMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
vectorMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::NoSimplification );
context.setVectorSimplifyMethod( vectorMethod );
}

View File

@ -22,9 +22,6 @@
#include "qgssettingsenumflageditorwidgetwrapper.h"
#include "qgssettingsentry.h"
#include "qgsvectorsimplifymethod.h"
#if defined( HAVE_QTSERIALPORT )
#include <QSerialPort>
#endif
@ -57,8 +54,8 @@ QgsSettingsEditorWidgetRegistry::QgsSettingsEditorWidgetRegistry()
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<Qgis::SnappingType>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<Qgis::TilePixelRatio>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<QgsVectorSimplifyMethod::SimplifyAlgorithm>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<QgsVectorSimplifyMethod::SimplifyHints>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<Qgis::VectorSimplificationAlgorithm>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<Qgis::VectorRenderingSimplificationFlags>() );
addWrapper( new QgsSettingsEnumEditorWidgetWrapper<Qt::TimeSpec>() );
// flags

View File

@ -21,7 +21,6 @@
#include "qgsactionmanager.h"
#include "qgsjoindialog.h"
#include "qgssldexportcontext.h"
#include "qgsvectorlayerselectionproperties.h"
#include "qgswmsdimensiondialog.h"
#include "qgsapplication.h"
@ -620,7 +619,7 @@ void QgsVectorLayerProperties::syncToLayer()
// get simplify drawing configuration
const QgsVectorSimplifyMethod &simplifyMethod = mLayer->simplifyMethod();
mSimplifyDrawingGroupBox->setChecked( simplifyMethod.simplifyHints() != QgsVectorSimplifyMethod::NoSimplification );
mSimplifyDrawingGroupBox->setChecked( simplifyMethod.simplifyHints() != Qgis::VectorRenderingSimplificationFlags( Qgis::VectorRenderingSimplificationFlag::NoSimplification ) );
mSimplifyDrawingSpinBox->setValue( simplifyMethod.threshold() );
mSimplifyDrawingSpinBox->setClearValue( 1.0 );
@ -693,10 +692,10 @@ void QgsVectorLayerProperties::syncToLayer()
}
// Default local simplification algorithm
mSimplifyAlgorithmComboBox->addItem( tr( "Distance" ), QgsVectorSimplifyMethod::Distance );
mSimplifyAlgorithmComboBox->addItem( tr( "SnapToGrid" ), QgsVectorSimplifyMethod::SnapToGrid );
mSimplifyAlgorithmComboBox->addItem( tr( "Visvalingam" ), QgsVectorSimplifyMethod::Visvalingam );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( simplifyMethod.simplifyAlgorithm() ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Distance" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::Distance ) );
mSimplifyAlgorithmComboBox->addItem( tr( "SnapToGrid" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::SnapToGrid ) );
mSimplifyAlgorithmComboBox->addItem( tr( "Visvalingam" ), QVariant::fromValue( Qgis::VectorSimplificationAlgorithm::Visvalingam ) );
mSimplifyAlgorithmComboBox->setCurrentIndex( mSimplifyAlgorithmComboBox->findData( QVariant::fromValue( simplifyMethod.simplifyAlgorithm() ) ) );
QStringList myScalesList = Qgis::defaultProjectScales().split( ',' );
myScalesList.append( QStringLiteral( "1:1" ) );
@ -883,15 +882,16 @@ void QgsVectorLayerProperties::apply()
mLayer->setLegendUrlFormat( mLayerLegendUrlFormatComboBox->currentText() );
//layer simplify drawing configuration
QgsVectorSimplifyMethod::SimplifyHints simplifyHints = QgsVectorSimplifyMethod::NoSimplification;
Qgis::VectorRenderingSimplificationFlags simplifyHints = Qgis::VectorRenderingSimplificationFlag::NoSimplification;
if ( mSimplifyDrawingGroupBox->isChecked() )
{
simplifyHints |= QgsVectorSimplifyMethod::GeometrySimplification;
if ( mSimplifyDrawingSpinBox->value() > 1 ) simplifyHints |= QgsVectorSimplifyMethod::AntialiasingSimplification;
simplifyHints |= Qgis::VectorRenderingSimplificationFlag::GeometrySimplification;
if ( mSimplifyDrawingSpinBox->value() > 1 )
simplifyHints |= Qgis::VectorRenderingSimplificationFlag::AntialiasingSimplification;
}
QgsVectorSimplifyMethod simplifyMethod = mLayer->simplifyMethod();
simplifyMethod.setSimplifyHints( simplifyHints );
simplifyMethod.setSimplifyAlgorithm( static_cast< QgsVectorSimplifyMethod::SimplifyAlgorithm >( mSimplifyAlgorithmComboBox->currentData().toInt() ) );
simplifyMethod.setSimplifyAlgorithm( mSimplifyAlgorithmComboBox->currentData().value< Qgis::VectorSimplificationAlgorithm >() );
simplifyMethod.setThreshold( mSimplifyDrawingSpinBox->value() );
simplifyMethod.setForceLocalOptimization( !mSimplifyDrawingAtProvider->isChecked() );
simplifyMethod.setMaximumScale( mSimplifyMaximumScaleComboBox->scale() );

View File

@ -80,7 +80,7 @@ void TestQgs25DRenderer::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
//need a very high height to check for stacking

View File

@ -97,7 +97,7 @@ void TestQgsBlendModes::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );

View File

@ -91,7 +91,7 @@ void TestQgsCentroidFillSymbol::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
//setup gradient fill

View File

@ -96,7 +96,7 @@ void TestQgsGradients::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
// We only need maprender instead of mapcanvas
@ -389,7 +389,7 @@ void TestQgsGradients::gradientSymbolFromQml()
QVERIFY( setQml( "gradient" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
QVERIFY( imageCheck( "gradient_from_qml" ) );
}

View File

@ -84,7 +84,7 @@ void TestQgsInvertedPolygon::initTestCase()
mpPolysLayer = new QgsVectorLayer( myPolyFileInfo.filePath(),
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
mMapSettings.setLayers( QList<QgsMapLayer *>() << mpPolysLayer );

View File

@ -33,10 +33,8 @@
#include <qgslinesymbol.h>
#include <qgslinesymbollayer.h>
#include <qgssymbol.h>
#include "qgslayoutitemmap.h"
#include "qgsmultirenderchecker.h"
#include "qgsexpressioncontextutils.h"
#include "qgslayout.h"
/**
* \ingroup UnitTests
@ -82,7 +80,7 @@ void TestQgsLayeredSymbolLevel::initTestCase()
myRoadsFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpRoadsLayer->setSimplifyMethod( simplifyMethod );
mMapSettings.setLayers( QList<QgsMapLayer *>() << mpRoadsLayer );

View File

@ -96,7 +96,7 @@ void TestQgsLayoutAtlas::initTestCase()
QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mVectorLayer->setSimplifyMethod( simplifyMethod );
}

View File

@ -253,11 +253,11 @@ void TestQgsLayoutContext::simplifyMethod()
QgsLayout l( QgsProject::instance() );
QgsLayoutRenderContext context( &l );
// must default to no simplification
QCOMPARE( context.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::NoSimplification );
QCOMPARE( context.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlag::NoSimplification );
QgsVectorSimplifyMethod simplify;
simplify.setSimplifyHints( QgsVectorSimplifyMethod::GeometrySimplification );
simplify.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
context.setSimplifyMethod( simplify );
QCOMPARE( context.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::GeometrySimplification );
QCOMPARE( context.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
}
QGSTEST_MAIN( TestQgsLayoutContext )

View File

@ -32,7 +32,6 @@
#include "qgsrenderedfeaturehandlerinterface.h"
#include "qgspallabeling.h"
#include "qgsvectorlayerlabeling.h"
#include "qgstemporalrangeobject.h"
#include "qgsfontutils.h"
#include "qgsannotationlayer.h"
#include "qgsannotationmarkeritem.h"
@ -880,23 +879,23 @@ void TestQgsLayoutMap::testSimplificationMethod()
l.renderContext().mIsPreviewRender = false;
QgsMapSettings settings = map->mapSettings( map->extent(), map->rect().size(), 300, false );
// should default to no simplification during exports
QCOMPARE( settings.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::NoSimplification );
QCOMPARE( settings.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlags() );
QVERIFY( !( settings.flags() & Qgis::MapSettingsFlag::UseRenderingOptimization ) );
// set a simplification method to use
QgsVectorSimplifyMethod method;
method.setSimplifyHints( QgsVectorSimplifyMethod::GeometrySimplification );
method.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
l.renderContext().setSimplifyMethod( method );
// should still have no simplification override for preview renders
l.renderContext().mIsPreviewRender = true;
settings = map->mapSettings( map->extent(), map->rect().size(), 300, false );
QCOMPARE( settings.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::NoSimplification );
QCOMPARE( settings.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlags() );
QVERIFY( settings.flags() & Qgis::MapSettingsFlag::UseRenderingOptimization );
// for exports, we respect the layout context's simplify method
l.renderContext().mIsPreviewRender = false;
settings = map->mapSettings( map->extent(), map->rect().size(), 300, false );
QCOMPARE( settings.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::GeometrySimplification );
QCOMPARE( settings.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
QVERIFY( settings.flags() & Qgis::MapSettingsFlag::UseRenderingOptimization );
}

View File

@ -107,7 +107,7 @@ void TestQgsLineFillSymbol::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
//setup gradient fill
@ -170,7 +170,7 @@ void TestQgsLineFillSymbol::viewportLineFillSymbol()
QVERIFY( layer->isValid() );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
layer->setSimplifyMethod( simplifyMethod );
//setup gradient fill

View File

@ -116,11 +116,11 @@ void TestQgsMapSettings::testGettersSetters()
QCOMPARE( ms.textRenderFormat(), Qgis::TextRenderFormat::AlwaysOutlines );
// must default to no simplification
QCOMPARE( ms.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::NoSimplification );
QCOMPARE( ms.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlags() );
QgsVectorSimplifyMethod simplify;
simplify.setSimplifyHints( QgsVectorSimplifyMethod::GeometrySimplification );
simplify.setSimplifyHints( Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
ms.setSimplifyMethod( simplify );
QCOMPARE( ms.simplifyMethod().simplifyHints(), QgsVectorSimplifyMethod::GeometrySimplification );
QCOMPARE( ms.simplifyMethod().simplifyHints(), Qgis::VectorRenderingSimplificationFlag::GeometrySimplification );
QVERIFY( ms.zRange().isInfinite() );
ms.setZRange( QgsDoubleRange( 1, 10 ) );

View File

@ -783,7 +783,7 @@ void TestQgsPaintEffect::layerEffectPolygon()
QgsVectorLayer *polysLayer = new QgsVectorLayer( polyFileInfo.filePath(),
polyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
polysLayer->setSimplifyMethod( simplifyMethod );
QgsMapSettings ms;
@ -813,7 +813,7 @@ void TestQgsPaintEffect::layerEffectLine()
QgsVectorLayer *lineLayer = new QgsVectorLayer( lineFileInfo.filePath(),
lineFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
lineLayer->setSimplifyMethod( simplifyMethod );
QgsMapSettings ms;
@ -871,7 +871,7 @@ void TestQgsPaintEffect::vectorLayerEffect()
QgsVectorLayer *polysLayer = new QgsVectorLayer( polyFileInfo.filePath(),
polyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
polysLayer->setSimplifyMethod( simplifyMethod );
QgsMapSettings ms;
@ -905,7 +905,7 @@ void TestQgsPaintEffect::mapUnits()
QgsVectorLayer *lineLayer = new QgsVectorLayer( lineFileInfo.filePath(),
lineFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
lineLayer->setSimplifyMethod( simplifyMethod );
QgsMapSettings ms;
@ -940,7 +940,7 @@ void TestQgsPaintEffect::layout()
QgsVectorLayer *lineLayer = new QgsVectorLayer( lineFileInfo.filePath(),
lineFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
lineLayer->setSimplifyMethod( simplifyMethod );
QgsSimpleLineSymbolLayer *line = new QgsSimpleLineSymbolLayer;

View File

@ -110,7 +110,7 @@ void TestQgsPointPatternFillSymbol::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
// Register the layer with the registry
@ -199,7 +199,7 @@ void TestQgsPointPatternFillSymbol::viewportPointPatternFillSymbol()
QVERIFY( layer->isValid() );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
layer->setSimplifyMethod( simplifyMethod );
//setup gradient fill
@ -225,7 +225,7 @@ void TestQgsPointPatternFillSymbol::viewportPointPatternFillSymbolVector()
QVERIFY( layer->isValid() );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
layer->setSimplifyMethod( simplifyMethod );
//setup gradient fill

View File

@ -92,7 +92,7 @@ void TestQgsRasterFill::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
// Register the layer with the registry

View File

@ -93,7 +93,7 @@ void TestQgsShapeburst::initTestCase()
myPolyFileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
// Register the layer with the registry
@ -188,7 +188,7 @@ void TestQgsShapeburst::shapeburstSymbolFromQml()
{
QVERIFY( setQml( "shapeburst" ) );
QgsVectorSimplifyMethod simplifyMethod;
simplifyMethod.setSimplifyHints( QgsVectorSimplifyMethod::NoSimplification );
simplifyMethod.setSimplifyHints( Qgis::VectorRenderingSimplificationFlags() );
mpPolysLayer->setSimplifyMethod( simplifyMethod );
QVERIFY( imageCheck( "shapeburst_from_qml" ) );
}