Owning script-safe collection of height tiles with atomic multi-tile operations. Tiles are copied on insertion and never retain caller rasters. The workspace is one mutable owner, move-only, and caller-thread affine. It invokes no callbacks and exposes only copied outputs. 更多...
#include <TerrainMultiTile.h>
类 | |
| struct | Impl |
Public 成员函数 | |
| TerrainMultiTileWorkspace () | |
| Terrain multi tile workspace. | |
| ~TerrainMultiTileWorkspace () | |
| Terrain multi tile workspace. | |
| TerrainMultiTileWorkspace (TerrainMultiTileWorkspace &&) noexcept | |
| Terrain multi tile workspace. | |
| TerrainMultiTileWorkspace & | operator= (TerrainMultiTileWorkspace &&) noexcept |
| Operator =. | |
| TerrainMultiTileWorkspace (const TerrainMultiTileWorkspace &)=delete | |
| TerrainMultiTileWorkspace & | operator= (const TerrainMultiTileWorkspace &)=delete |
| Result< int > | addTile (const std::string &name, const Heightmap &heightmap, double originX, double originZ, double width, double depth, bool worldMap=false) |
| Copy a uniquely named tile into the workspace atomically. | |
| Result< int > | stamp (const Heightmap &stamp, const TerrainStampSettings &settings, const Heightmap &localMask, const Heightmap &globalMask, bool worldMapOperation=false) |
| Apply a stamp transaction to owned tiles; failure preserves tiles and the prior report. | |
| Result< int > | stitch (const std::string &terrainA, const std::string &terrainB, const TerrainHeightStitchSettings &settings={}) |
| Stitch two named owned tiles and append one undoable all-tile snapshot. | |
| Result< int > | copyTile (const std::string &name, Heightmap &output) const |
| Copy a named current tile into a matching caller-owned output. | |
| Result< int > | undo () |
| Restore the previous all-tile snapshot atomically. | |
| Result< int > | redo () |
| Restore the next all-tile snapshot atomically. | |
| int | getTileCount () const noexcept |
| Number of owned tiles. | |
| int | getLastAffectedTiles () const noexcept |
| Affected tile count from the last successful operation, or zero before one. | |
| int | getLastChangedSamples () const noexcept |
| Changed sample count from the last successful operation, or zero before one. | |
| int | getLastMappingCount () const noexcept |
| Number of affected-pixel mappings from the last successful operation. | |
| int | getOperationCount () const noexcept |
| Successful stamp count including any redo suffix. | |
| int | getAppliedCount () const noexcept |
| Applied successful stamp count at the current history cursor. | |
详细描述
Owning script-safe collection of height tiles with atomic multi-tile operations. Tiles are copied on insertion and never retain caller rasters. The workspace is one mutable owner, move-only, and caller-thread affine. It invokes no callbacks and exposes only copied outputs.
在文件 TerrainMultiTile.h 第 128 行定义.
构造及析构函数说明
◆ TerrainMultiTileWorkspace() [1/3]
| eve::procgen::TerrainMultiTileWorkspace::TerrainMultiTileWorkspace | ( | ) |
Terrain multi tile workspace.
在文件 TerrainMultiTile.cpp 第 389 行定义.
◆ ~TerrainMultiTileWorkspace()
|
default |
Terrain multi tile workspace.
◆ TerrainMultiTileWorkspace() [2/3]
|
defaultnoexcept |
Terrain multi tile workspace.
◆ TerrainMultiTileWorkspace() [3/3]
|
delete |
成员函数说明
◆ addTile()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::addTile | ( | const std::string & | name, |
| const Heightmap & | heightmap, | ||
| double | originX, | ||
| double | originZ, | ||
| double | width, | ||
| double | depth, | ||
| bool | worldMap = false |
||
| ) |
Copy a uniquely named tile into the workspace atomically.
在文件 TerrainMultiTile.cpp 第 394 行定义.
引用了 depth, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, eve::InvalidArgument, name, eve::procgen::raster_detail::validRaster() , 以及 width.
◆ copyTile()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::copyTile | ( | const std::string & | name, |
| Heightmap & | output | ||
| ) | const |
Copy a named current tile into a matching caller-owned output.
在文件 TerrainMultiTile.cpp 第 447 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvalidArgument, output, eve::procgen::raster_detail::publish() , 以及 eve::procgen::raster_detail::validRaster().
◆ getAppliedCount()
|
noexcept |
Applied successful stamp count at the current history cursor.
在文件 TerrainMultiTile.cpp 第 524 行定义.
◆ getLastAffectedTiles()
|
noexcept |
Affected tile count from the last successful operation, or zero before one.
在文件 TerrainMultiTile.cpp 第 486 行定义.
◆ getLastChangedSamples()
|
noexcept |
Changed sample count from the last successful operation, or zero before one.
在文件 TerrainMultiTile.cpp 第 487 行定义.
◆ getLastMappingCount()
|
noexcept |
Number of affected-pixel mappings from the last successful operation.
在文件 TerrainMultiTile.cpp 第 488 行定义.
◆ getOperationCount()
|
noexcept |
Successful stamp count including any redo suffix.
在文件 TerrainMultiTile.cpp 第 521 行定义.
◆ getTileCount()
|
noexcept |
Number of owned tiles.
在文件 TerrainMultiTile.cpp 第 485 行定义.
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
defaultnoexcept |
Operator =.
◆ redo()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::redo | ( | ) |
Restore the next all-tile snapshot atomically.
在文件 TerrainMultiTile.cpp 第 506 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, size, eve::Result< T >::success() , 以及 t.
◆ stamp()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::stamp | ( | const Heightmap & | stamp, |
| const TerrainStampSettings & | settings, | ||
| const Heightmap & | localMask, | ||
| const Heightmap & | globalMask, | ||
| bool | worldMapOperation = false |
||
| ) |
Apply a stamp transaction to owned tiles; failure preserves tiles and the prior report.
在文件 TerrainMultiTile.cpp 第 423 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 eve::InvalidArgument.
◆ stitch()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::stitch | ( | const std::string & | terrainA, |
| const std::string & | terrainB, | ||
| const TerrainHeightStitchSettings & | settings = {} |
||
| ) |
Stitch two named owned tiles and append one undoable all-tile snapshot.
在文件 TerrainMultiTile.cpp 第 458 行定义.
引用了 a, b, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, name, eve::procgen::TerrainHeightTile::name, settings , 以及 eve::procgen::stitchTerrainHeightmaps().
◆ undo()
| Result< int > eve::procgen::TerrainMultiTileWorkspace::undo | ( | ) |
Restore the previous all-tile snapshot atomically.
在文件 TerrainMultiTile.cpp 第 491 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, size, eve::Result< T >::success() , 以及 t.
该类的文档由以下文件生成:
- src/modules/procgen/heightmap/TerrainMultiTile.h
- src/modules/procgen/heightmap/TerrainMultiTile.cpp