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

Owning script-safe multi-terrain detail transaction workspace. Input layers are copied on insertion. Operations, reports and all-layer undo snapshots publish by one owner-thread swap; no borrowed raster or callback survives a call. The explicit seed creates one deterministic stream per apply. 更多...

#include <TerrainMultiTile.h>

类

struct  Impl
 

Public 成员函数

 TerrainMultiDetailWorkspace ()
 Terrain multi detail workspace.
 
 ~TerrainMultiDetailWorkspace ()
 Terrain multi detail workspace.
 
 TerrainMultiDetailWorkspace (TerrainMultiDetailWorkspace &&) noexcept
 Terrain multi detail workspace.
 
TerrainMultiDetailWorkspace & operator= (TerrainMultiDetailWorkspace &&) noexcept
 Operator =.
 
 TerrainMultiDetailWorkspace (const TerrainMultiDetailWorkspace &)=delete
 
TerrainMultiDetailWorkspace & operator= (const TerrainMultiDetailWorkspace &)=delete
 
Result< int > addTile (const std::string &name, const TerrainDetailLayer &layer, double originX, double originZ, double width, double depth, bool worldMap=false)
 Copy a uniquely named initialized detail tile into the workspace atomically.
 
Result< int > apply (const Heightmap &operationFitness, const TerrainDetailSettings &settings, const TerrainStampSettings &operationSettings, std::int32_t seed, bool worldMapOperation=false)
 Apply one shared operation raster to all selected detail tiles atomically.
 
Result< int > copyTile (const std::string &name, TerrainDetailLayer &output) const
 Copy one named current layer into caller-owned output.
 
Result< int > undo ()
 Restore the prior all-layer snapshot.
 
Result< int > redo ()
 Restore the next all-layer snapshot.
 
int getTileCount () const noexcept
 Number of owned detail tiles.
 
int getLastChangedSamples () const noexcept
 Changed cells from the last applied snapshot.
 
int getLastAffectedTiles () const noexcept
 Affected tiles from the last applied snapshot.
 
int getOperationCount () const noexcept
 Successful apply count including redo suffix.
 
int getAppliedCount () const noexcept
 Applied operation count at the current history cursor.
 

详细描述

Owning script-safe multi-terrain detail transaction workspace. Input layers are copied on insertion. Operations, reports and all-layer undo snapshots publish by one owner-thread swap; no borrowed raster or callback survives a call. The explicit seed creates one deterministic stream per apply.

在文件 TerrainMultiTile.h 第 178 行定义.

构造及析构函数说明

◆ TerrainMultiDetailWorkspace() [1/3]

eve::procgen::TerrainMultiDetailWorkspace::TerrainMultiDetailWorkspace ( )

Terrain multi detail workspace.

在文件 TerrainDetailLayer.cpp 第 270 行定义.

◆ ~TerrainMultiDetailWorkspace()

eve::procgen::TerrainMultiDetailWorkspace::~TerrainMultiDetailWorkspace ( )
default

Terrain multi detail workspace.

◆ TerrainMultiDetailWorkspace() [2/3]

eve::procgen::TerrainMultiDetailWorkspace::TerrainMultiDetailWorkspace ( TerrainMultiDetailWorkspace &&  )
defaultnoexcept

Terrain multi detail workspace.

◆ TerrainMultiDetailWorkspace() [3/3]

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

成员函数说明

◆ addTile()

Result< int > eve::procgen::TerrainMultiDetailWorkspace::addTile ( const std::string &  name,
const TerrainDetailLayer &  layer,
double  originX,
double  originZ,
double  width,
double  depth,
bool  worldMap = false 
)

Copy a uniquely named initialized detail tile into the workspace atomically.

在文件 TerrainDetailLayer.cpp 第 275 行定义.

引用了 depth, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, layer, name, owned , 以及 width.

◆ apply()

Result< int > eve::procgen::TerrainMultiDetailWorkspace::apply ( const Heightmap &  operationFitness,
const TerrainDetailSettings &  settings,
const TerrainStampSettings &  operationSettings,
std::int32_t  seed,
bool  worldMapOperation = false 
)

Apply one shared operation raster to all selected detail tiles atomically.

在文件 TerrainDetailLayer.cpp 第 310 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 eve::InvalidArgument.

◆ copyTile()

Result< int > eve::procgen::TerrainMultiDetailWorkspace::copyTile ( const std::string &  name,
TerrainDetailLayer &  output 
) const

Copy one named current layer into caller-owned output.

在文件 TerrainDetailLayer.cpp 第 334 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvalidArgument, output , 以及 eve::Result< T >::success().

◆ getAppliedCount()

int eve::procgen::TerrainMultiDetailWorkspace::getAppliedCount ( ) const
noexcept

Applied operation count at the current history cursor.

在文件 TerrainDetailLayer.cpp 第 380 行定义.

◆ getLastAffectedTiles()

int eve::procgen::TerrainMultiDetailWorkspace::getLastAffectedTiles ( ) const
noexcept

Affected tiles from the last applied snapshot.

在文件 TerrainDetailLayer.cpp 第 374 行定义.

◆ getLastChangedSamples()

int eve::procgen::TerrainMultiDetailWorkspace::getLastChangedSamples ( ) const
noexcept

Changed cells from the last applied snapshot.

在文件 TerrainDetailLayer.cpp 第 371 行定义.

◆ getOperationCount()

int eve::procgen::TerrainMultiDetailWorkspace::getOperationCount ( ) const
noexcept

Successful apply count including redo suffix.

在文件 TerrainDetailLayer.cpp 第 377 行定义.

◆ getTileCount()

int eve::procgen::TerrainMultiDetailWorkspace::getTileCount ( ) const
noexcept

Number of owned detail tiles.

在文件 TerrainDetailLayer.cpp 第 370 行定义.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Operator =.

◆ redo()

Result< int > eve::procgen::TerrainMultiDetailWorkspace::redo ( )

Restore the next all-layer snapshot.

在文件 TerrainDetailLayer.cpp 第 359 行定义.

引用了 cursor, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

◆ undo()

Result< int > eve::procgen::TerrainMultiDetailWorkspace::undo ( )

Restore the prior all-layer snapshot.

在文件 TerrainDetailLayer.cpp 第 348 行定义.

引用了 cursor, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().


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