| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Task-number: QTBUG-96795
Pick-to: 6.2
Change-Id: Ia5e73baff832eda7807d0ee7a70a10aeb5d5e830
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids conflicts for static builds, where the system might
also provide a clipper2tri, clipper, or poly2tri library.
[ChangeLog][General] The generated clipper2tri, clipper,
poly2tri libraries have been renamed to qt_clipper2tri, qt_clipper,
qt_poly2tri. This avoids conflicts for static builds.
Pick-to: 5.15
Fixes: QTBUG-86248
Change-Id: I38261633acef1d3be0cb5b67b3b5bf3262258a95
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces a metric-based implementation of the
Ramer-Douglas-Peucker line simplification algorithm to generate a
LOD pyramid for the polyline geometries.
This comes with a related property (in MapItemBase), lodThreshold,
that can be used to change the threshold after which no simplification
will be used.
By default the value of this property is 0, meaning that the
behavior will be unchanged and no LOD will be used.
This change also introduces LOD on map polyine objects QSG, for which
no property is introduced, and there's a default threshold set to
zoom level 12 (which appear to produce acceptable results).
Finally, this patch makes use of a threadpool with 1 thread
to enqueue geometry simplification tasks, which would otherwise
freeze the UI when computing for the first time.
Support for geometry simplification is currently added only to polylines.
It might be of interest extending it to polygons as well, once
a proper strategy for handling the simplification of inner holes has
been identified.
Finally, extending it to circles could be of interest, while potentially
bringing only minor benefits, as circle geometries are currently fixed
to 128 vertices.
Also adds a MapObject-based delegate to the geojson viewer example.
Task-number: QTBUG-46652
Task-number: QTBUG-38459
Task-number: QTBUG-49303
Change-Id: I64b5db4577962db17e5388812909285c9356ef0d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, all the geo-to-screen conversion,
and the triangulation operations for geo polylines
and geo polygon are performed either at set time
or in the shader.
A separate bounding box geometry is processed
in the old way to provide a correct QtQuick Item
geometry, that can be used for nesting mouse areas,
performing translations, input event delivery, etc.
With this approach, performance are improved by more
than one order of magnitude in average, but complex
geometries will of course benefit more.
It also adds correct rendering support for polygons
with holes, previously only rendered correctly
by the MapboxGL plugin.
The polyline shader has basic miter joins. The miter is
skipped if the angle is too sharp to avoid complicating
the implementation.
This shader introduces some glitches when the polyline
is minified, for which the real fix is to
have LOD for the geometry, and render simplified
geometries at low zoom levels (added in a subsequent patch).
Note: this approach, at least in its current implementation,
does not support enabling layers on individual items, only
on the Map element.
Task-number: QTBUG-49303
Task-number: QTBUG-38459
Change-Id: I0c2dc0bf364d32f74ca7c4014f6d66e6219c8ae4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
So plugins can use it, also stand alone ones, and no ugly
"import ../" anymore.
Change-Id: I4e53815e041e13d495026d60a826a31bccaef2b4
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
|
|
|
|
|
|
|
|
| |
Now that a delegate model is used internally by MapItemView, this class
is not used any more.
Change-Id: Ic0c35d6797a19549da6bc271b76e3529d812995e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows MapItemView to use a MapItem, MapItemGroup or
MapItemView as delegate.
To achieve this, MapItemView base class also changes from QObject to
MapItemGroup, effectively making MapItemView a MapItemGroup.
Note, though, that MapItemGroup API in Map should be avoided, when
dealing with a MapItemView, and only MapItemView-specific API should be
used.
Tests and example coming after
[ChangeLog][QtLocation] Enabled nesting of MapItemView. This
required a behavioral change, as MapItemView is now a MapItemGroup,
not anymore a plain QObject.
Due to a bug, MapItemView was previously not a Qt Quick Item, making
it possible to create it as a child of any QObject. This has now been
fixed, so if you happen to have a MapItemView in your scene which is
not a child of a Qt Quick Item, you will get an error message.
Task-number: QTBUG-62683
Task-number: QTBUG-62397
Change-Id: Id97e480429e7f952a541fe88df5c01317afeac18
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation does not properly re-set context data upon
model item deletion/change.
This patch uses a QQmlDelegateModel that does all the management internally.
To accommodate for items disappearing/reappearing all at once, potentially
introducing flickering, a fixed opacity transition 300msec long has been
introduced as exit transition.
In later Qt releases, new API can be added to let the user change it,
as well as also adding an enter transition and possibly more.
Task-number: QTBUG-62086
Task-number: QTBUG-65833
Change-Id: I59a8147a12f035d5c7f86c2546e9144b2e1a7b3c
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGeoMapObject is a new class of map item, not deriving anymore from
QQuickItem, and designed to be more lightweight, and, most importantly,
to be easily backable by SDK-specific implementations, so to act as
an as thin as possible wrapper around those.
QGeoMapObject is intended to be the base class for this type of items.
This patch provides no mean to dynamically add/remove GeoMapObjects.
The intended way to do it is by using a MapObjectView, coming
initially with the Qt.labs.location extra plugin.
Change-Id: I8d6a45a4a32059c7ec4d904f75352e176bffda1e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QParameterizableObject is a base class for QObjects-derived
objects (but not QQuickItem-derived ones!) that need to have
MapParameter(s) attached.
Change-Id: Ib92b0676d8c8e02d08d9b76b05ecd4adc2d84e7b
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|
|
|
|
| |
Change-Id: Iba33d12fad113b64cb071f0542a2c92034ff755d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
| |
Change-Id: I85870f176510d1d6fd51bce94daf58fc326e13b3
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch lets a user create an external qml file, and put multiple
map items inside a parent MapItemGroup{}, and add that element to a Map
item.
QDeclarativeGeoMap gets also two associated methods: addMapItemGroup and
removeMapItemGroup to deal with item groups at runtime.
Additionally, clearMapItems now clears also added item groups.
Task-number: QTBUG-55211
Change-Id: Ie4e602e4bda65fb56422b721be5fd34c54eb7954
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
QtLocation quick classes and headers are moved out of the import directory.
The location quick classes are now in a subdirectory inside the main qtlocation
module.
This is necessary in order to privately export certain classes, such as
Map Items classes, and create an API to inject these objects into QGeoMap
to let plugins render the Map Items directly
Change-Id: Ia6ba5f07c4eddd3c4c2ce54bf34f1afcd42c2558
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|