Changes between Version 11 and Version 12 of MapGuideRfc16


Ignore:
Timestamp:
Feb 22, 2007, 11:50:11 AM (17 years ago)
Author:
chrisclaydon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc16

    v11 v12  
    3333== Proposed Solution ==
    3434
    35 The proposed solution contains modifications to: the layer definition XML schema, the MDF Model, the MDF Parser, the KML Service, and the Rendering/Stylization project.
     35The proposed solution contains modifications to: the Layer Definition XML schema, the MDF Model, the MDF Parser, and the Stylization project.
    3636
    3737=== Layer Definition Schema Modifications ===
     
    111111The parser classes would be responsible for reading and writing the elevation settings to and from XML. The model classes would be used to store and access those settings. The methods implemented by each class would be very simple get/set or read/write functions.
    112112
    113 === Rendering / Stylization Modifications ===
     113=== Stylization Modifications ===
    114114
    115115A few changes would be required to the internal stylization interfaces in order to pass the elevation settings through the framework to the Stylize() methods of the affected !GeometryAdapters. Inside these methods, the offset and extrusion expressions would be evaluated for the current feature, and the resulting floating point values would be passed as additional parameters into the Renderer::!StartFeature() command. The method signature chages are as follows:
     
    156156}}}
    157157
    158 All concrete classes that implement these interface methods would need to be updated to reflect the changes.
     158All concrete classes that inherit from !GeometryAdapter would need to be updated to use the new Stylize() method signature.
    159159
    160 === KML Service Modifications ===
     160All concrete classes that implement the Renderer interface would need to be updated to reflect the changes, though only !KmlRenderer would currently make use of the new parameters.
     161
     162==== !KmlRenderer Modifications ====
    161163
    162164The KML Service generates KML using the !KmlRenderer class - a concrete implementation of the Renderer interface. This class would be updated to set the Z coordinate of the generated geometries to be equal to (zOffset + zExtrusion). Also, if zExtrusion > 0, we would write out the KML element <extrude>1</extrude> to indicate that the features should be extruded down to the ground. If zOffset > 0, we will stil extrude the features down to the ground level, since Google Earth does not currently provide a means for rendering floating extruded objects.