[Marble-devel] Marble geodata NT branch
Torsten Rahn
rahn at kde.org
Sat Feb 14 11:00:58 CET 2009
On Saturday 14 February 2009 05:21:44 Patrick Spendrin wrote:
> Patrick Spendrin schrieb:
> > Hi everybody,
> >
> > I just committed some of my code to the branch marble-geodata-nt (under
> > branches/work/marble-geodata-nt). You can find a kde version of marble
> > there which is used for a new geodata api.
>
> Ok, it seems to be mostly done now.
> Can you please compile & test that branch?
> the test under marble/src/lib/geodata/data/tests (CopyTest) should work
> and result in 20/20.
> What I am not sure of is whether the parser does work as expected for
> every kml tag.
> Nevertheless I will fix those issues rather in trunk into which I will
> merge the geodata-nt branch next weekend.
>
> > To give some overview of the changes I want to put there:
> > - The GeoData* objects should use const References to match the Qt
> > coding style.
>
> done.
>
> > - Most of the GeoData* objects will be implicitly shared, this will
> > allow us to make copying of GeoData* objects available.
>
> done.
> All GeoDataFeatures and all GeoDataGeometries are implicitly shared.
> This means that if you copy such an object it will keep the same private
> d pointer as long as you don't try to write to either of the objects.
> Thus copying such an object can become very cheap.
> This also means that QVector<GeoDataPlacemark> is usable, as copying
> does not cost to much.
>
> > - one downpoint this will bring: There will not be direct
> > QVector<GeoData*> objects available as there are some design problems
> > with that. Nevertheless I will of course make it as easy & convenient as
> > possible.
>
> The GeoDataMultiGeometry and GeoDataContainer (base of GeoDataFolder and
> GeoDataDocument) do contain some convenience functions which we can
> extend later on.
Tried it but it doesn't like the copy-test ;-)
In file included from
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataPoint.h:23,
from
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataPlacemark.h:20,
from
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:24:
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataGeometry.h:60:
warning: unused parameter ‘other’
In file included from
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:24:
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataPlacemark.h:77:
warning: unused parameter ‘other’
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp: In
member function ‘void Marble::CopyTest::copyPoint()’:
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:156:
error: request for member ‘operator==’ is ambiguous
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataGeometry.h:60:
error: candidates are: virtual bool Marble::GeoDataGeometry::operator==(const
Marble::GeoDataGeometry&)
/home/tackat/experimental/marble/src/lib/geodata/data/GeoDataCoordinates.h:205:
error: bool Marble::GeoDataCoordinates::operator==(const
Marble::GeoDataCoordinates&) const
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp: In
member function ‘void Marble::CopyTest::copyDocument()’:
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:351:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:352:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:355:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:356:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:357:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:363:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp: In
member function ‘void Marble::CopyTest::copyFolder()’:
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:381:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:382:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:383:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:389:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp: In
member function ‘void Marble::CopyTest::copyPlacemark()’:
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:411:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:420:
warning: taking address of temporary
/home/tackat/experimental/marble/src/lib/geodata/data/tests/CopyTest.cpp:429:
warning: taking address of temporary
make[2]: *** [src/lib/geodata/data/tests/CMakeFiles/CopyTest.dir/CopyTest.o]
Error 1
make[1]: *** [src/lib/geodata/data/tests/CMakeFiles/CopyTest.dir/all] Error 2
make: *** [all] Error 2
More information about the Marble-devel
mailing list