cgeo/c-geo-opensource — pull request #1346 by samueltardieu (2012-04-01 14:53:20+00:00)
Title: Refactoring: use IWaypoint and cgCache instead of cgCoord object

Most of the time, the cgCoord is built from an existing cache or from an existing waypoint. And most of the time, using the IWaypoint interface is fine.

We can see a cache as being a waypoint as well, so by making it implement IWaypoint we can manipulate IWaypoint objects every time we were manipulating cgCoord ones without copying.

After this refactoring, cgCoord was only used to hold some partial cache information. cgCache can be used instead, and cgCoord is not needed anymore.