[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