105 Commits

Author SHA1 Message Date
Nyall Dawson
f2127464d3 Move heatmap generation code to analysis lib
And clean it up a lot
2016-12-07 08:26:55 +10:00
Alexander Bruy
fb5cdd83ee remove word "road" from doxygen comments 2016-11-21 16:47:24 +02:00
Alexander Bruy
b421a53675 rename QgsLineVectorLayerDirector to QgsVectorLayerDirector 2016-11-21 16:47:24 +02:00
Alexander Bruy
d657c77a8c rename enum and its values 2016-11-21 16:47:24 +02:00
Alexander Bruy
9dffe64dab replace hardcoded magic numbers with enum 2016-11-21 16:47:24 +02:00
Alexander Bruy
a61e8bbdec rename QgsStrategy to QgsNetworkStrategy to avoid possible future
confusion when we will have other stuff with strategies. Also
rename corresponding subclasses
2016-11-21 16:47:24 +02:00
Alexander Bruy
f9be17997f make cost() method pure virtual 2016-11-21 16:47:24 +02:00
Alexander Bruy
00eb2619c6 fix warnings 2016-11-21 16:47:24 +02:00
Alexander Bruy
5992f74e04 [API] rename QgsArcProperter to QgsStrategy
Also update subclasses names and do some more refactoring.
2016-11-21 16:47:24 +02:00
Alexander Bruy
5cbf9d5129 remove references to networkanalysis from scrips and packaging files 2016-11-21 16:47:24 +02:00
Alexander Bruy
14c930a5a8 [API][network analysis] move network analysis into analysis library to
be consistent with other analysis stuff
2016-11-21 16:47:24 +02:00
Alexander Bruy
3c3e17ac90 [network analysis] expose speed properter in C++ and Python API
This allows users to calculate shortest path using travel time
as optimization criteria in addition to travel distance.
2016-11-21 16:47:24 +02:00
Nyall Dawson
02ea2d7703 Fix typos 2016-11-08 09:05:47 +10:00
Nyall Dawson
8acc286b0f [FEATURE] Snap to layer algorithm accepts a mode parameter
With a new option to prefer to snap to closest point on geometry.
The old behaviour was to prefer to snap to nodes, even if a node
was further from the input geometry than a segment. The new option
allows you to snap geometries to the closest point, regardless
of whether it's a node or segment.
2016-11-07 12:20:59 +10:00
Nyall Dawson
c3a978b9da [FEATURE][processing] Snap geometries to layer algorithm
Port the Geometry Snapper plugin across to the analysis lib, and
expose to python bindings

Add a new algorithm which performs the snapping to layers
2016-11-07 12:20:59 +10:00
Nyall Dawson
44289084e9 Optimise passing of variables by ref/value 2016-10-24 10:36:23 +10:00
Hugo Mercier
67c05b51c2 Fix some /Transfer/ annotations 2016-09-23 15:35:37 +02:00
Denis Rouzaud
7fdade1a3a remove some deprecated methods, rename QgsAnnotation::mapPositionFixed() to hasFixedMapPosition() 2016-08-23 15:00:56 +02:00
Nyall Dawson
4b78b1c208 Make all QgsGeometry methods return values, not pointers
Reduces likelihood of crashes and leaks
2016-08-01 22:41:55 +10:00
Nyall Dawson
bd7d913379 Refine QgsFeature geometry getters/setters
All pointer based methods have been removed.

Now we have only:

  void setGeometry( const QgsGeometry& geom )

and

  QgsGeometry geometry() const

Benefits include avoiding a whole lot of tricky pointer lifetime
issues, potential memory leaks, and finally closing #777, which
has survived for over 9 years!...

Impacts on PyQGIS code:
- no more need for the messy
  g = QgsGeometry( feature.geometry() )
  workaround, just use g = feature.geometry() instead
- IMPORTANT: you can no longer test whether a feature has geometry
 using `if f.geometry():`, since QgsFeature::geometry() will
 *always* return an object. Instead, use
 `if not f.geometry().isEmpty():`, or preferably the new method
 `if not f.hasGeometry():`

Fix #777
2016-08-01 16:25:46 +10:00
Nyall Dawson
1a2231f10c Rename QGis class to Qgis, for capitalisation consistency 2016-07-21 22:01:38 +10:00
Nyall Dawson
4cfacf14e3 Make API more consistent
- rename methods with XML to Xml, CRS to Crs, WMS to Wms, ID to Id
- rename methods with SRS to Crs
- rename methods with abbreviations like "dest" to "destination"
- rename methods with abbreviations like "src" to "source"
2016-07-21 08:40:50 +10:00
Nyall Dawson
7d2027faa9 Fix most remaining methods which return a reference to
QgsCoordinateReferenceSystem or which take a pointer to a
CRS
2016-07-15 06:01:39 +10:00
Juergen E. Fischer
03de74dc89 fix typo 2016-06-09 11:13:11 +02:00
Matthias Kuhn
abfd7740bd Fix qgis.PyQt compatibility imports 2016-04-29 14:10:41 +02:00
Nyall Dawson
6545746fc6 [FEATURE] Add extra resampling methods to align raster tool which are
available in GDAL >= 2.0 (max, min, median, q1 and q3)
2016-03-31 16:45:16 +11:00
Juergen E. Fischer
271750fd53 switch bindings to pyqt wrappers 2016-03-21 17:00:26 +01:00
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +01:00
Nyall Dawson
c3a57434d9 Fix clazy 'pass small and trivially-copyable type by value' warnings 2016-02-02 19:47:21 +11:00
Nyall Dawson
a665b7d72e Don't crash when using raster calculator with huge raster (refs #13336)
Now we abort and advise the user if insufficient memory is available
to perform the calculation.

At some future stage it would be nice to perform the calculations
in blocks to allow this scenario, but for now it's better not to
crash.
2016-01-27 10:48:12 +11:00
Nyall Dawson
24d9c65494 Fix more classes which violate the rule-of-three
Also remove some empty destructors
2016-01-26 14:24:45 +11:00
Juergen E. Fischer
ae52aabd70 more spelling fixes 2016-01-24 20:16:28 +01:00
Nyall Dawson
752f6bd150 Fix classes which violate rule of three, by implementing required
copy/= operators or making them private

This revealed (and fixes) some issues, including a potential crash
using server access control (refs #13919), and a potential crash with
diagrams
2016-01-22 18:45:45 +11:00
Juergen E. Fischer
4e1cf3c081 add missing copyright headers 2016-01-08 21:32:11 +01:00
Nyall Dawson
881074b194 Boost coverage of SIP bindings
Now all classes and members are either exposed to bindings or marked
as "not available in Python bindings" in the docs.

Drop test thresholds to 0. Now it should be much easier to determine
what missing members have been added which are causing test
failures.
2016-01-05 11:16:15 +11:00
Juergen E. Fischer
71dc339106 more stl to qt ports and size_t => int fixups 2015-12-26 00:59:09 +01:00
Matthias Kuhn
313c34ce22 [py3] Updates to sip files 2015-11-16 07:42:48 +01:00
Matthias Kuhn
56ccb2b858 sipClass_Klass is deprecated for a long time: replace with sipType_Klass 2015-11-11 23:22:51 +01:00
Nyall Dawson
719ff408a5 Add some missing SIP bindings, comment some classes as not available
in Python
2015-11-10 17:08:27 +11:00
Nyall Dawson
a0542e5d1d Fix sip bindings for interpolation classes
Also missing members declared in interpolation headers
2015-11-10 17:07:42 +11:00
Nyall Dawson
556d87a86c Fix some clang warnings 2015-11-02 18:07:16 +11:00
Nyall Dawson
7842391eba Add some missing consts to operators 2015-10-28 09:47:44 +11:00
Nyall Dawson
f1633a1796 Change all signals to use const refs for non trivial objects 2015-10-26 22:46:25 +11:00
Nyall Dawson
c49b5b777f Change a lot of arguments to const references in core/gui
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
2015-10-07 12:02:04 +11:00
Juergen E. Fischer
9752c468c1 indentation update 2015-07-29 11:52:14 +02:00
Juergen E. Fischer
b165875fa6 spelling fixes 2015-07-26 14:39:30 +02:00
Marco Hugentobler
6788fbaa6a Add baseline buffer tolerance and simplification tolerance parameters to transect sample 2015-07-15 10:58:50 +02:00
Juergen E. Fischer
79d37c1a8b fix windows build (followup 8f2a3ae) 2015-06-30 17:30:25 +02:00
Martin Dobias
11d1ac9540 Try to do automatic choice of the reference layer in GUI (using smallest cell area) 2015-06-29 10:25:47 +08:00
Martin Dobias
fcc0160755 Fix type of CRS WKT (use just QString instead of both QString and QByteArray) 2015-06-29 10:25:47 +08:00