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()
|
default |
Terrain multi detail workspace.
◆ TerrainMultiDetailWorkspace() [2/3]
|
defaultnoexcept |
Terrain multi detail workspace.
◆ TerrainMultiDetailWorkspace() [3/3]
|
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()
|
noexcept |
Applied operation count at the current history cursor.
在文件 TerrainDetailLayer.cpp 第 380 行定义.
◆ getLastAffectedTiles()
|
noexcept |
Affected tiles from the last applied snapshot.
在文件 TerrainDetailLayer.cpp 第 374 行定义.
◆ getLastChangedSamples()
|
noexcept |
Changed cells from the last applied snapshot.
在文件 TerrainDetailLayer.cpp 第 371 行定义.
◆ getOperationCount()
|
noexcept |
Successful apply count including redo suffix.
在文件 TerrainDetailLayer.cpp 第 377 行定义.
◆ getTileCount()
|
noexcept |
Number of owned detail tiles.
在文件 TerrainDetailLayer.cpp 第 370 行定义.
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
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().
该类的文档由以下文件生成:
- src/modules/procgen/heightmap/TerrainMultiTile.h
- src/modules/procgen/heightmap/TerrainDetailLayer.cpp