载入中...
搜索中...
未找到
eve::procgen::TerrainBakedMaskCache类 参考

Own Pcg-style per-terrain baked scalar masks keyed by stable terrain and mask identities. Entries contain copied CPU rasters. Scene objects, providers, GPU resources, callbacks, clocks and RNG are not retained. 更多...

#include <TerrainBakedMaskCache.h>

类

struct  Impl
 

Public 成员函数

 TerrainBakedMaskCache ()
 Terrain baked mask cache.
 
 ~TerrainBakedMaskCache ()
 Terrain baked mask cache.
 
 TerrainBakedMaskCache (TerrainBakedMaskCache &&) noexcept
 Terrain baked mask cache.
 
TerrainBakedMaskCache & operator= (TerrainBakedMaskCache &&) noexcept
 Operator =.
 
 TerrainBakedMaskCache (const TerrainBakedMaskCache &)=delete
 
TerrainBakedMaskCache & operator= (const TerrainBakedMaskCache &)=delete
 
Result< int > store (const std::string &terrainId, const std::string &maskGuid, const Heightmap &raster)
 Copy or atomically replace one finite baked raster and mark it fresh.
 
Result< int > markDirty (const std::string &maskGuid)
 Mark every matching GUID entry stale; stale reads fail until a provider stores a replacement.
 
Result< int > erase (const std::string &terrainId, const std::string &maskGuid)
 Remove one exact entry.
 
void clear ()
 Remove all entries.
 
int getEntryCount () const noexcept
 Return the number of retained entries, including dirty entries.
 
Result< int > copyMask (const std::string &terrainId, const std::string &maskGuid, Heightmap &output) const
 Copy one fresh entry into any positive output resolution using Clamp/Bilinear sampling.
 

详细描述

Own Pcg-style per-terrain baked scalar masks keyed by stable terrain and mask identities. Entries contain copied CPU rasters. Scene objects, providers, GPU resources, callbacks, clocks and RNG are not retained.

在文件 TerrainBakedMaskCache.h 第 14 行定义.

构造及析构函数说明

◆ TerrainBakedMaskCache() [1/3]

eve::procgen::TerrainBakedMaskCache::TerrainBakedMaskCache ( )

Terrain baked mask cache.

在文件 TerrainBakedMaskCache.cpp 第 31 行定义.

◆ ~TerrainBakedMaskCache()

eve::procgen::TerrainBakedMaskCache::~TerrainBakedMaskCache ( )
default

Terrain baked mask cache.

◆ TerrainBakedMaskCache() [2/3]

eve::procgen::TerrainBakedMaskCache::TerrainBakedMaskCache ( TerrainBakedMaskCache &&  )
defaultnoexcept

Terrain baked mask cache.

◆ TerrainBakedMaskCache() [3/3]

eve::procgen::TerrainBakedMaskCache::TerrainBakedMaskCache ( const TerrainBakedMaskCache &  )
delete

成员函数说明

◆ clear()

void eve::procgen::TerrainBakedMaskCache::clear ( )

Remove all entries.

在文件 TerrainBakedMaskCache.cpp 第 76 行定义.

◆ copyMask()

Result< int > eve::procgen::TerrainBakedMaskCache::copyMask ( const std::string &  terrainId,
const std::string &  maskGuid,
Heightmap &  output 
) const

Copy one fresh entry into any positive output resolution using Clamp/Bilinear sampling.

返回
Changed output samples, or NotFound for missing/dirty data; failure never modifies output.
异常
std::bad_allocOutput remains unchanged. @thread Synchronous owner-thread mutation; output is exclusively borrowed and no references escape.

在文件 TerrainBakedMaskCache.cpp 第 83 行定义.

引用了 eve::procgen::raster_detail::invalid(), output, eve::procgen::raster_detail::publish(), eve::procgen::raster_detail::textureSample(), eve::procgen::raster_detail::validRaster(), x , 以及 z.

◆ erase()

Result< int > eve::procgen::TerrainBakedMaskCache::erase ( const std::string &  terrainId,
const std::string &  maskGuid 
)

Remove one exact entry.

在文件 TerrainBakedMaskCache.cpp 第 65 行定义.

引用了 eve::procgen::raster_detail::invalid() , 以及 eve::Result< T >::success().

◆ getEntryCount()

int eve::procgen::TerrainBakedMaskCache::getEntryCount ( ) const
noexcept

Return the number of retained entries, including dirty entries.

在文件 TerrainBakedMaskCache.cpp 第 79 行定义.

◆ markDirty()

Result< int > eve::procgen::TerrainBakedMaskCache::markDirty ( const std::string &  maskGuid)

Mark every matching GUID entry stale; stale reads fail until a provider stores a replacement.

在文件 TerrainBakedMaskCache.cpp 第 54 行定义.

引用了 eve::procgen::raster_detail::invalid() , 以及 eve::Result< T >::success().

◆ operator=() [1/2]

TerrainBakedMaskCache & eve::procgen::TerrainBakedMaskCache::operator= ( const TerrainBakedMaskCache &  )
delete

◆ operator=() [2/2]

TerrainBakedMaskCache & eve::procgen::TerrainBakedMaskCache::operator= ( TerrainBakedMaskCache &&  )
defaultnoexcept

Operator =.

◆ store()

Result< int > eve::procgen::TerrainBakedMaskCache::store ( const std::string &  terrainId,
const std::string &  maskGuid,
const Heightmap &  raster 
)

Copy or atomically replace one finite baked raster and mark it fresh.

在文件 TerrainBakedMaskCache.cpp 第 36 行定义.

引用了 eve::procgen::raster_detail::invalid(), eve::Result< T >::success() , 以及 eve::procgen::raster_detail::validRaster().


该类的文档由以下文件生成: