< Marble‎ | GeoData
Revision as of 13:29, 31 March 2010 by Bholst (talk | contribs)


Implicit sharing and storing objects as value is very reasonable for basic data as QStrings, but there are reasonable doubts regarding Placemarks and other GeoData. There are some possibilities:

  • Don't use implicit sharing at all and store all objects on the heap with a pointer to it.
  • Use implicit sharing and storing as value for GeoDataCoordinates only.
  • Use implicit sharing and storing as value for all GeoData classes.

To find out which is the wisest I try to look at every single class:

Base data

  • GeoDataCoordinates This one is quite simple. It is not more than a QPoint in GeoCoordinates. This should stay implicilty shared.
  • GeoDataLatLonBox (GeoDataObject) It seems to nothing more than a QRect for GeoCoordinates. I'm not sure if it must be derived from GeoDataObject
    • GeoDataLatLonAltBox same for this

Geometric structures

  • GeoDataGeometry The base class for all geometric. We could want a pointer for this, so using it as data may not be the right way.
    • GeoDataPoint This one uses multiple inheritance (GeoDataCoordinates). I don't think that this is semantically correct.


  • GeoDataAbstractView It's nothing more than a view, this could stay implicitly shared.
    • GeoDataLookAt Same for this as this is a child.

This page was last edited on 25 October 2016, at 16:40. Content is available under Creative Commons License SA 4.0 unless otherwise noted.