[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