Changes between Version 5 and Version 6 of MapGuideRfc170


Ignore:
Timestamp:
May 21, 2019, 5:34:58 AM (5 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc170

    v5 v6  
    6464...
    6565EXTERNAL_API:
     66
    6667    /////////////////////////////////////////////////////////////////
    6768    /// \brief
     
    106107    /// \param metaTilingFactor
    107108    /// Input
    108     /// The meta-tiling factor, If less than or equal to 1 no meta-tiling is done. If greater than 1, a tile m times the original requested
    109     /// size is rendered instead (where m is the specified factor)
     109    /// The meta-tiling factor. If less than or equal to 1, no meta-tiling is done and the returned meta-tile can be extracted
     110    /// as the orignally requested tile image. If greater than 1, a tile that is m times bigger than the requested tile is rendered
     111    /// (where m is the specified tiling factor) and the raw image frame buffer of this meta-tile is returned instead.
    110112    ///
    111113    /// \return
    112     /// A byte reader containing the rendered tile image. If metaTilingFactor is greater than 1, then a raw image frame buffer is returned
    113     /// instead. This raw image frame buffer is not intended to be used by MapGuide applications and is reserved for the rendering infrastructre
    114     /// to sub-divide back into tiles of the original requested size.
     114    /// A meta-tile with sufficient information for the consumer to properly sub-divide this back into sub-tiles of the
     115    /// originally requested size.
    115116    ///
    116117    /// \since 3.3
    117     virtual MgByteReader* RenderTile(
     118    virtual MgMetatile* RenderMetatile(
    118119        MgMap* map,
    119120        CREFSTRING baseMapLayerGroupName,
     
    125126        CREFSTRING tileImageFormat,
    126127        double tileExtentOffset,
    127         INT32 metaTileFactor) = 0;
     128        INT32 metaTilingFactor) = 0;
    128129
    129130    /////////////////////////////////////////////////////////////////
     
    161162    /// \param metaTilingFactor
    162163    /// Input
    163     /// The meta-tiling factor, If less than or equal to 1 no meta-tiling is done. If greater than 1, a tile m times the original requested
    164     /// size is rendered instead (where m is the specified factor)
     164    /// The meta-tiling factor. If less than or equal to 1, no meta-tiling is done and the returned meta-tile can be extracted
     165    /// as the orignally requested tile image. If greater than 1, a tile that is m times bigger than the requested tile is rendered
     166    /// (where m is the specified tiling factor) and the raw image frame buffer of this meta-tile is returned instead.
    165167    ///
    166168    /// \return
    167     /// A byte reader containing the rendered tile image. If metaTilingFactor is greater than 1, then a raw image frame buffer is returned
    168     /// instead. This raw image frame buffer is not intended to be used by MapGuide applications and is reserved for the rendering infrastructre
    169     /// to sub-divide back into tiles of the original requested size.
     169    /// A meta-tile with sufficient information for the consumer to properly sub-divide this back into sub-tiles of the
     170    /// originally requested size.
    170171    ///
    171172    /// \since 3.3
    172     virtual MgByteReader* RenderTileXYZ(
     173    virtual MgMetatile* RenderMetatileXYZ(
    173174        MgMap* map,
    174175        CREFSTRING baseMapLayerGroupName,
     
    180181        double tileExtentOffset,
    181182        INT32 metaTilingFactor) = 0;
     183
     184
     185    /////////////////////////////////////////////////////////////////
     186    /// \brief
     187    /// Returns the requested sub-tile from the given metatile
     188    ///
     189    /// \param map
     190    /// Input
     191    /// map object containing current state of map.
     192    /// \param metaTile
     193    /// Input
     194    /// The meta-tile from which a subtile is being requested for
     195    /// \param rendererName
     196    /// Input
     197    /// The name of the renderer to create for sub-tile slicing
     198    /// \param subTileX
     199    /// Input
     200    /// The x sub-tile coordinate of the meta-tile to request
     201    /// \param subTileY
     202    /// Input
     203    /// The y sub-tile coordinate of the meta-tile to request
     204    ///
     205    /// \return
     206    /// The requested sub-tile
     207    ///
     208    /// \since 3.3
     209    virtual MgByteReader* RenderTileFromMetaTile(MgMap* map, MgMetatile* metaTile, CREFSTRING rendererName, INT32 subTileX, INT32 subTileY) = 0;
    182210};
    183211}}}
    184212
    185 These new overloads are designated {{{EXTERNAL_API}}} because meta-tiles are not intended to be consumed by regular MapGuide applications. They are raw image frame buffers that the rendering infrastructure will use to sub-divide back into tiles of the original requested size. But at the same time, these overloads have to be present in the {{{MgRenderingService}}} contract to allow a server-based tile service to still request meta-tiles through a proxy instance (should a server-based instance not be available) hence the {{{EXTERNAL_API}}} designation.
     213These new overloads are designated {{{EXTERNAL_API}}} because meta-tiles are not intended to be consumed by regular MapGuide applications. They are raw image frame buffers that the rendering infrastructure will use to sub-divide back into tiles of the original requested size. But at the same time, these overloads have to be present in the {{{MgRenderingService}}} contract to allow a server-based tile service to still request meta-tiles through a proxy instance (should a server-based instance not be available).
    186214
    187215If applications do take advantage of these new overloads, it is expected they will always pass a {{{metaTilingFactor}}} of {{{0}}} when calling these new overloads or they know how to process and sub-divide the raw image frame buffer back into tile images of the original tile size.