New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
change QgsAbstractGeometryV2::coordinateSequence() to return a #2817
Conversation
Very nice!! I've also had concerns about the expense of calling these methods. Two questions:
Otherwise, big +1 from me |
Is there any? The
Yes, running the tests pointed at a missing reset in But I also suspect that there is more. If there hadn't been that |
I'm not sure... but my gut feeling was that these classes weren't fully exposed to the python bindings pre 2.14 anyway, so we should be safe. Also, who would be using this class outside of core? In #2824 I've made this method protected. So no objections here from me! Anyway, #2824 should help improve (slightly) the cache invalidation situation and make it easier to implement stuff like this. |
4318a6d
to
5940acc
Compare
updated after merge of #2824 |
Looks like you missed adding a clear of the cached coordinate string to the clearCache implementations? |
5940acc
to
926c669
Compare
implicitly shared copy of an internal cache instead of recreating the coordinate sequence again and again. Improves performance of the nodetool on large features a lot (refs qgis#13963) Also introduce Qgs(Coordinate|Ring|Point)SequenceV2 typedefs.
926c669
to
e503c70
Compare
change QgsAbstractGeometryV2::coordinateSequence() to return a
implicitly shared copy of an internal cache instead of recreating the coordinate sequence again and again.
Improves performance of the nodetool on large features a lot (refs #13963)
Also introduce Qgs(Coordinate|Ring|Point)SequenceV2 typedefs.