[Marble-devel] Review Request: Routing API/Refactoring, step 1

Dennis Nienhüser earthwings at gentoo.org
Sun May 1 21:22:26 CEST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101267/
-----------------------------------------------------------

Review request for Marble.


Summary
-------

This is one major part of the changes I planned to refactor the routing code towards a Qt Mobility similar API. It introduces the classes Maneuver, RouteSegment and Route based on the Qt Mobility 1.2 classes QGeoManeuver, QGeoRouteSegment and QGeoRoute. At some points I changed the API a bit for performance reasons (mostly using references/pointers instead of copying instances and introducing a few additional methods). There's no dependency to Qt Mobility, the classes and methods are just named similar to make it easier for other people to become familiar with the code.

The new classes replace some of the functionality that was previously implemented in RoutingModel (which is a good thing). The code should be easier to read now and runs significantly faster. Last but not least the position on the route is now determined accurately. Previously only the distance to supporting points of the polygon was calculated, leading to inaccurate distance estimations and unnecessary route re-calculations when the supporting points had large distances.

Please speak up if you want to review the patch and need more time, otherwise I take silence as consent and commit in the next days.


Diffs
-----

  src/ControlView.cpp c52886b 
  src/lib/CMakeLists.txt cdc080b 
  src/lib/DownloadRegionDialog.cpp 72d84f8 
  src/lib/routing/Maneuver.h PRE-CREATION 
  src/lib/routing/Maneuver.cpp PRE-CREATION 
  src/lib/routing/Route.h PRE-CREATION 
  src/lib/routing/Route.cpp PRE-CREATION 
  src/lib/routing/RouteSegment.h PRE-CREATION 
  src/lib/routing/RouteSegment.cpp PRE-CREATION 
  src/lib/routing/RoutingLayer.h 29867aa 
  src/lib/routing/RoutingLayer.cpp aba97a3 
  src/lib/routing/RoutingModel.h 0ce9496 
  src/lib/routing/RoutingModel.cpp 00d1907 
  src/lib/routing/RoutingProxyModel.h dbcb9da 
  src/lib/routing/RoutingProxyModel.cpp 029c0fc 
  src/lib/routing/RoutingWidget.cpp 376ffb3 
  src/plugins/render/routing/AudioOutput.h 0e7f5a9 
  src/plugins/render/routing/AudioOutput.cpp 79dff98 
  src/plugins/render/routing/NullAudioOutput.cpp 4751695 
  src/plugins/render/routing/RoutingPlugin.h 6fb9752 
  src/plugins/render/routing/RoutingPlugin.cpp dcce53e 

Diff: http://git.reviewboard.kde.org/r/101267/diff


Testing
-------


Thanks,

Dennis

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/marble-devel/attachments/20110501/15eff97f/attachment.htm 


More information about the Marble-devel mailing list