本文整理汇总了C++中TileKey::GetHashValue方法的典型用法代码示例。如果您正苦于以下问题:C++ TileKey::GetHashValue方法的具体用法?C++ TileKey::GetHashValue怎么用?C++ TileKey::GetHashValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileKey
的用法示例。
在下文中一共展示了TileKey::GetHashValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateUserMarksGeometry
void UserMarkGenerator::GenerateUserMarksGeometry(ref_ptr<dp::GraphicsContext> context,
TileKey const & tileKey,
ref_ptr<dp::TextureManager> textures)
{
auto const clippedTileKey =
TileKey(tileKey.m_x, tileKey.m_y, ClipTileZoomByMaxDataZoom(tileKey.m_zoomLevel));
auto marksGroups = GetUserMarksGroups(clippedTileKey);
auto linesGroups = GetUserLinesGroups(clippedTileKey);
if (marksGroups == nullptr && linesGroups == nullptr)
return;
uint32_t constexpr kMaxSize = 65000;
dp::Batcher batcher(kMaxSize, kMaxSize);
batcher.SetBatcherHash(tileKey.GetHashValue(BatcherBucket::UserMark));
TUserMarksRenderData renderData;
{
dp::SessionGuard guard(context, batcher, [&tileKey, &renderData](dp::RenderState const & state,
drape_ptr<dp::RenderBucket> && b)
{
renderData.emplace_back(state, std::move(b), tileKey);
});
if (marksGroups != nullptr)
CacheUserMarks(context, tileKey, *marksGroups.get(), textures, batcher);
if (linesGroups != nullptr)
CacheUserLines(context, tileKey, *linesGroups.get(), textures, batcher);
}
m_flushFn(std::move(renderData));
}