src/mbgl/tile/geometry_tile.cpp
GeometryTile::GeometryTile(const OverscaledTileID& id_,
                           std::string sourceID_,
                           const TileParameters& parameters)
    : Tile(Kind::Geometry, id_),
      ImageRequestor(parameters.imageManager),
      sourceID(std::move(sourceID_)),
      mailbox(std::make_shared<Mailbox>(*Scheduler::GetCurrent())),
      worker(Scheduler::GetBackground(),
             ActorRef<GeometryTile>(*this, mailbox),
             id_,
             sourceID,
             obsolete,
             parameters.mode,
             parameters.pixelRatio,
             parameters.debugOptions & MapDebugOptions::Collision),
      fileSource(parameters.fileSource),
      glyphManager(parameters.glyphManager),
      imageManager(parameters.imageManager),
      mode(parameters.mode),
      showCollisionBoxes(parameters.debugOptions & MapDebugOptions::Collision) {
}
/*
   Correlation between GeometryTile and GeometryTileWorker is safeguarded by two
   correlation schemes:

   GeometryTile's 'correlationID' is used for ensuring the tile will be flagged
   as non-pending only when the placement coming from the last operation (as in
   'setData', 'setLayers',  'setShowCollisionBoxes') occurs. This is important for
   still mode rendering as we want to render only when all layout and placement
   operations are completed.

   GeometryTileWorker's 'imageCorrelationID' is used for checking whether an
   image request reply coming from `GeometryTile` is valid. Previous image
   request replies are ignored as they result in incomplete placement attempts
   that could flag the tile as non-pending too early.
 */
Correlation between GeometryTile and GeometryTileWorker is safeguarded by two
correlation schemes.



GeometryTileWorker's 'imageCorrelationID' is used for checking whether an
image request reply coming from `GeometryTile` is valid. Previous image
request replies are ignored as they result in incomplete placement attempts
that could flag the tile as non-pending too early.
Correlation between GeometryTile and GeometryTileWorker is safeguarded by two correlation schemes . GeometryTileWorker ' s ' imageCorrelationID ' is used for checking whether an image request reply coming from ` GeometryTile ` is valid . Previous image request replies are ignored as they result in incomplete placement attempts that could flag the tile as non - pending too early .
GeometryTile::GeometryTile(const OverscaledTileID& id_,
                           std::string sourceID_,
                           const TileParameters& parameters)
    : Tile(Kind::Geometry, id_),
      ImageRequestor(parameters.imageManager),
      sourceID(std::move(sourceID_)),
      mailbox(std::make_shared<Mailbox>(*Scheduler::GetCurrent())),
      worker(Scheduler::GetBackground(),
             ActorRef<GeometryTile>(*this, mailbox),
             id_,
             sourceID,
             obsolete,
             parameters.mode,
             parameters.pixelRatio,
             parameters.debugOptions & MapDebugOptions::Collision),
      fileSource(parameters.fileSource),
      glyphManager(parameters.glyphManager),
      imageManager(parameters.imageManager),
      mode(parameters.mode),
      showCollisionBoxes(parameters.debugOptions & MapDebugOptions::Collision) {
}
GeometryTile :: GeometryTile ( const OverscaledTileID & id_ , std :: string sourceID_ , const TileParameters & parameters ) : Tile ( Kind :: Geometry , id_ ) , ImageRequestor ( parameters . imageManager ) , sourceID ( std :: move ( sourceID_ ) ) , mailbox ( std :: make_shared < Mailbox > ( * Scheduler :: GetCurrent ( ) ) ) , worker ( Scheduler :: GetBackground ( ) , ActorRef < GeometryTile > ( * this , mailbox ) , id_ , sourceID , obsolete , parameters . mode , parameters . pixelRatio , parameters . debugOptions & MapDebugOptions :: Collision ) , fileSource ( parameters . fileSource ) , glyphManager ( parameters . glyphManager ) , imageManager ( parameters . imageManager ) , mode ( parameters . mode ) , showCollisionBoxes ( parameters . debugOptions & MapDebugOptions :: Collision ) { }
Correlation between GeometryTile and GeometryTileWorker is safeguarded by two
correlation schemes:
Correlation between GeometryTile and GeometryTileWorker is safeguarded by two correlation schemes :