[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