[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/marble
From:       Torsten Rahn <tackat () kde ! org>
Date:       2008-01-21 23:08:32
Message-ID: 1200956912.062076.19483.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 764493 by rahn:


- More small adjustments



 M  +5 -0      TODO  
 M  +5 -4      docs/layermanagement.txt  


--- trunk/KDE/kdeedu/marble/TODO #764492:764493
@@ -39,6 +39,11 @@
     To get useful temperature/precipation/... maps we need to be able
     to add items to the legend in the .dgml file:
 
+    This is also a first step towards the new DGML version format that 
+    we need for the new layer management class.
+
+    see also: docs/layermanagement.txt.
+
 <Legend>
     <heading>Temperature</heading>
     <LegendItem>
--- trunk/KDE/kdeedu/marble/docs/layermanagement.txt #764492:764493
@@ -25,12 +25,13 @@
 	
 - "Execution order" of the different backends should be based on the \
following mechanisms:  a) each backend should provide "hardcoded" hints \
which describe dependencies (e.g. the texture colorization depends on the \
result of a texturemapping backend ) and allowed ranges for the rendering \
order (e.g. floating items should always be displayed on top of the map,  a \
                starry background needs to get drawn before the globe is \
                painted)
-	b) the layermanagement class needs to fetch information from the \
.dgml-parser about the different types of backends that get used in a map. \
The .dgml file also needs to provide information about the rendering order. \
+	b) In Marble the structure of each map gets described in the map's .dgml \
file. So the layermanagement class needs to fetch information from the \
.dgml-parser about the different types of backends that get used in a map. \
The .dgml file also needs to provide information about the rendering order. \
c) for backend types where there are no hard requirements on the rendering \
order the LMC should decide itself which order to take.  
-- According to the concept described so far it should be possible to paint \
different layers based on the very same backend  directly on top of each \
other (e.g. a cloud layer on top of a satellite map layer. This would \
result in two different layers. However for reasons of performance it needs \
                to be possible to merge the data into a single layer \
                ("MergedLayer"). 
-This gets already done for placemarks where data from different files gets \
merged into a single file. It also gets done already for clouds on top of \
the satellite image data. However what's missing is a more generic approach \
where a MergedLayerPainter class operates directly on the tiles based on \
the information it receives from the LMC. Before telling the \
MergedLayerPainter class which layers need to get painted on top of the \
tiles the LMC needs to check whether tiles or sourceimage data is available \
for the map. If there is no such data available the LMC needs to either \
notify the TileLoader that it needs to create tiles or the LMC will simply \
ignore the missing data and will skip asking the MergedLayerPainter to \
render the missing data.  +- According to the concept described so far it \
should be possible to paint different layers based on the very same backend \
directly on top of each other (e.g. a cloud layer on top of a satellite map \
layer. Normally this would result in two different layers. However for \
reasons of performance it needs to be possible to merge the data into a \
single layer right from the start("MergedLayer").  
+This gets already done for placemarks in current SVN where data from \
different files gets merged into a single file. It also gets done already \
for clouds on top of the satellite image data. However what's missing is a \
more generic approach where a MergedLayerPainter class operates directly on \
the tiles based on the information it receives from the LMC. Before telling \
the MergedLayerPainter class which layers need to get painted on top of the \
tiles the LMC needs to check whether tiles or sourceimage data is available \
for the map. If there is no such data available the LMC needs to either \
notify the TileLoader that it needs to create tiles or the LMC will simply \
ignore the missing data and will skip asking the MergedLayerPainter to \
render the missing data.  +
 - The plugin-backend concept should allow CUSTOM BACKENDS created by third \
                party developers. 
 - Creating new geographical features on the map should happen using a \
Qt-like API (which would include the QPainter API to draw in screen \
coordinates):  
@@ -47,7 +48,7 @@
 	painter.drawGeoEllipse( here.lon(), here.lat(), 5, 5 ); 
 	
 
-- It should be possible to use this Qt-like Geo-API either from outside \
the MarbleWidget or from inside the custom backend plugin. +- It should be \
possible to use this Qt-style Geo-API either from outside the MarbleWidget \
or from inside the custom backend plugin.  
 
 FUTURE low-priority enhancements (for usage in "real" light GIS apps that \
might use Marble in the future):


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic