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

Own a complete Pcg-style terrain grid and its height, splat, detail, tree, object and probe state. Creation and every operation publish by one owner swap. History snapshots contain every domain, so undo/redo cannot expose a height/resource combination that never existed. Inputs are copied during calls and never retained. The workspace is caller-thread affine, invokes no callback, reads no clock and uses only explicitly supplied seeds. 更多...

#include <TerrainWorldWorkspace.h>

类

struct  Impl
 

Public 成员函数

 TerrainWorldWorkspace ()
 Terrain world workspace.
 
 ~TerrainWorldWorkspace ()
 Terrain world workspace.
 
 TerrainWorldWorkspace (TerrainWorldWorkspace &&) noexcept
 Terrain world workspace.
 
TerrainWorldWorkspace & operator= (TerrainWorldWorkspace &&) noexcept
 Operator =.
 
 TerrainWorldWorkspace (const TerrainWorldWorkspace &)=delete
 
TerrainWorldWorkspace & operator= (const TerrainWorldWorkspace &)=delete
 
Result< int > create (const TerrainWorldCreationSettings &settings)
 Atomically replace the world with a zero-height centered tile grid.
 
Result< int > stamp (const Heightmap &stamp, const TerrainStampSettings &settings, const Heightmap &localMask, const Heightmap &globalMask)
 Apply one height stamp and record a complete-world snapshot.
 
Result< int > paintSplat (const Heightmap &paint, int targetLayer, const TerrainStampSettings &operation)
 Paint one splat layer and record a complete-world snapshot.
 
Result< int > applyDetail (const Heightmap &fitness, const TerrainDetailSettings &settings, const TerrainStampSettings &operation, TerrainDetailMode mode, std::int32_t seed)
 Apply one detail rule and record a complete-world snapshot.
 
Result< int > applyTrees (const Heightmap &fitness, const TerrainTreePlacementSettings &settings, const TerrainStampSettings &operation, TerrainTreeOperationMode mode)
 Apply one tree rule and record a complete-world snapshot.
 
Result< int > applyObjects (const Heightmap &fitness, const TerrainObjectPlacementSettings &settings, const TerrainStampSettings &operation, TerrainObjectOperationMode mode)
 Apply one game-object rule and record a complete-world snapshot.
 
Result< int > applyProbes (const Heightmap &fitness, const TerrainProbePlacementSettings &settings, const TerrainStampSettings &operation, TerrainProbeOperationMode mode)
 Apply one reflection or light probe rule and record a complete-world snapshot.
 
Result< int > spawn (const TerrainSpawnPlan &plan)
 Execute all enabled rules from an owned spawn plan as one complete-world transaction.
 
Result< int > spawnBiome (const TerrainBiomePreset &preset)
 Compile and execute biome-active preset spawners as one complete-world transaction.
 
Result< int > spawnStamper (const TerrainBiomePreset &preset)
 Compile and execute stamper-active preset spawners as one complete-world transaction.
 
Result< TerrainWorldRunStatus > beginSpawn (const TerrainSpawnPlan &plan)
 Start an owned rule-by-rule spawn without exposing candidate world state.
 
Result< TerrainWorldRunStatus > beginSpawnBiome (const TerrainBiomePreset &preset)
 Start the biome-active preset stack as an owned staged spawn.
 
Result< TerrainWorldRunStatus > beginSpawnStamper (const TerrainBiomePreset &preset)
 Start the stamper-active preset stack as an owned staged spawn.
 
Result< TerrainWorldRunStatus > stepSpawn (int maxRules)
 Execute at most maxRules rules and publish the complete world once all rules finish.
 
Result< TerrainWorldRunStatus > cancelSpawn ()
 Cancel a pending spawn and discard its complete-world candidate.
 
TerrainWorldRunStatus getSpawnStatus () const noexcept
 Return the staged world-spawn lifecycle state.
 
int getSpawnCompletedRules () const noexcept
 Return rules visited by the current or most recent staged spawn.
 
Result< int > flatten ()
 Flatten every owned heightmap to zero and record one complete-world snapshot.
 
Result< int > setHeightWorldUnits (float heightWorldUnits, float worldHeightSpan)
 Set every owned height sample from a world-unit elevation using Pcg's Clamp01 conversion.
 
Result< int > clearSpawns (const TerrainWorldClearSettings &settings)
 Clear selected spawn domains on every tile and record one complete-world snapshot.
 
Result< int > copyHeightmap (int index, Heightmap &output) const
 Copy a tile heightmap by stable creation-order index.
 
Result< int > copySplatmap (int index, TerrainSplatmap &output) const
 Copy a tile splatmap by stable creation-order index.
 
Result< int > copyDetail (int index, TerrainDetailLayer &output) const
 Copy a tile detail layer by stable creation-order index.
 
Result< int > copyTrees (int index, PointSet &output) const
 Copy a tile tree PointSet by stable creation-order index.
 
Result< int > copyObjects (int index, PointSet &output) const
 Copy a tile game-object PointSet by stable creation-order index.
 
Result< int > copyProbes (int index, PointSet &output) const
 Copy a tile reflection/light probe PointSet by stable creation-order index.
 
Result< std::string > getTileName (int index) const
 Return a tile's persistent name copy.
 
Result< double > getTileOriginX (int index) const
 Return a tile's world X origin.
 
Result< double > getTileOriginZ (int index) const
 Return a tile's world Z origin.
 
Result< int > undo ()
 Restore the previous complete-world snapshot.
 
Result< int > redo ()
 Restore the next complete-world snapshot.
 
int getTileCount () const noexcept
 Return owned tile count.
 
int getLastChangedSamples () const noexcept
 Return changed element count from the current snapshot.
 
int getLastAffectedTiles () const noexcept
 Return affected tile count from the current snapshot.
 
int getOperationCount () const noexcept
 Return retained operation count.
 
int getAppliedCount () const noexcept
 Return applied operation count.
 

详细描述

Own a complete Pcg-style terrain grid and its height, splat, detail, tree, object and probe state. Creation and every operation publish by one owner swap. History snapshots contain every domain, so undo/redo cannot expose a height/resource combination that never existed. Inputs are copied during calls and never retained. The workspace is caller-thread affine, invokes no callback, reads no clock and uses only explicitly supplied seeds.

在文件 TerrainWorldWorkspace.h 第 61 行定义.

构造及析构函数说明

◆ TerrainWorldWorkspace() [1/3]

eve::procgen::TerrainWorldWorkspace::TerrainWorldWorkspace ( )

Terrain world workspace.

在文件 TerrainWorldWorkspace.cpp 第 95 行定义.

◆ ~TerrainWorldWorkspace()

eve::procgen::TerrainWorldWorkspace::~TerrainWorldWorkspace ( )
default

Terrain world workspace.

◆ TerrainWorldWorkspace() [2/3]

eve::procgen::TerrainWorldWorkspace::TerrainWorldWorkspace ( TerrainWorldWorkspace &&  )
defaultnoexcept

Terrain world workspace.

◆ TerrainWorldWorkspace() [3/3]

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

成员函数说明

◆ applyDetail()

Result< int > eve::procgen::TerrainWorldWorkspace::applyDetail ( const Heightmap &  fitness,
const TerrainDetailSettings &  settings,
const TerrainStampSettings &  operation,
TerrainDetailMode  mode,
std::int32_t  seed 
)

Apply one detail rule and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 238 行定义.

引用了 eve::procgen::applyTerrainDetailMultiTile(), operation, seed, settings, tiles , 以及 world.

◆ applyObjects()

Result< int > eve::procgen::TerrainWorldWorkspace::applyObjects ( const Heightmap &  fitness,
const TerrainObjectPlacementSettings &  settings,
const TerrainStampSettings &  operation,
TerrainObjectOperationMode  mode 
)

Apply one game-object rule and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 262 行定义.

引用了 eve::procgen::applyTerrainObjectsMultiTile(), operation, settings, tiles , 以及 world.

◆ applyProbes()

Result< int > eve::procgen::TerrainWorldWorkspace::applyProbes ( const Heightmap &  fitness,
const TerrainProbePlacementSettings &  settings,
const TerrainStampSettings &  operation,
TerrainProbeOperationMode  mode 
)

Apply one reflection or light probe rule and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 276 行定义.

引用了 eve::procgen::applyTerrainProbesMultiTile(), operation, settings, tiles , 以及 world.

◆ applyTrees()

Result< int > eve::procgen::TerrainWorldWorkspace::applyTrees ( const Heightmap &  fitness,
const TerrainTreePlacementSettings &  settings,
const TerrainStampSettings &  operation,
TerrainTreeOperationMode  mode 
)

Apply one tree rule and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 250 行定义.

引用了 eve::procgen::applyTerrainTreesMultiTile(), operation, settings, tiles , 以及 world.

◆ beginSpawn()

Result< TerrainWorldRunStatus > eve::procgen::TerrainWorldWorkspace::beginSpawn ( const TerrainSpawnPlan &  plan)

Start an owned rule-by-rule spawn without exposing candidate world state.

在文件 TerrainWorldWorkspace.cpp 第 332 行定义.

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

◆ beginSpawnBiome()

Result< TerrainWorldRunStatus > eve::procgen::TerrainWorldWorkspace::beginSpawnBiome ( const TerrainBiomePreset &  preset)

Start the biome-active preset stack as an owned staged spawn.

在文件 TerrainWorldWorkspace.cpp 第 351 行定义.

引用了 eve::procgen::TerrainBiomePreset::compileForBiome() , 以及 eve::Result< T >::failure().

◆ beginSpawnStamper()

Result< TerrainWorldRunStatus > eve::procgen::TerrainWorldWorkspace::beginSpawnStamper ( const TerrainBiomePreset &  preset)

Start the stamper-active preset stack as an owned staged spawn.

在文件 TerrainWorldWorkspace.cpp 第 357 行定义.

引用了 eve::procgen::TerrainBiomePreset::compileForStamper() , 以及 eve::Result< T >::failure().

◆ cancelSpawn()

Result< TerrainWorldRunStatus > eve::procgen::TerrainWorldWorkspace::cancelSpawn ( )

Cancel a pending spawn and discard its complete-world candidate.

在文件 TerrainWorldWorkspace.cpp 第 403 行定义.

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

◆ clearSpawns()

◆ copyDetail()

Result< int > eve::procgen::TerrainWorldWorkspace::copyDetail ( int  index,
TerrainDetailLayer &  output 
) const

Copy a tile detail layer by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 538 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ copyHeightmap()

Result< int > eve::procgen::TerrainWorldWorkspace::copyHeightmap ( int  index,
Heightmap &  output 
) const

Copy a tile heightmap by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 536 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ copyObjects()

Result< int > eve::procgen::TerrainWorldWorkspace::copyObjects ( int  index,
PointSet &  output 
) const

Copy a tile game-object PointSet by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 540 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ copyProbes()

Result< int > eve::procgen::TerrainWorldWorkspace::copyProbes ( int  index,
PointSet &  output 
) const

Copy a tile reflection/light probe PointSet by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 541 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ copySplatmap()

Result< int > eve::procgen::TerrainWorldWorkspace::copySplatmap ( int  index,
TerrainSplatmap &  output 
) const

Copy a tile splatmap by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 537 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ copyTrees()

Result< int > eve::procgen::TerrainWorldWorkspace::copyTrees ( int  index,
PointSet &  output 
) const

Copy a tile tree PointSet by stable creation-order index.

在文件 TerrainWorldWorkspace.cpp 第 539 行定义.

引用了 eve::Result< T >::failure(), index, output , 以及 eve::Result< T >::success().

◆ create()

◆ flatten()

Result< int > eve::procgen::TerrainWorldWorkspace::flatten ( )

Flatten every owned heightmap to zero and record one complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 421 行定义.

引用了 eve::procgen::TerrainMultiTileReport::affectedTiles, eve::procgen::TerrainMultiTileReport::changedSamples, height, eve::Result< T >::success() , 以及 world.

◆ getAppliedCount()

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

Return applied operation count.

在文件 TerrainWorldWorkspace.cpp 第 573 行定义.

◆ getLastAffectedTiles()

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

Return affected tile count from the current snapshot.

在文件 TerrainWorldWorkspace.cpp 第 571 行定义.

◆ getLastChangedSamples()

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

Return changed element count from the current snapshot.

在文件 TerrainWorldWorkspace.cpp 第 570 行定义.

◆ getOperationCount()

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

Return retained operation count.

在文件 TerrainWorldWorkspace.cpp 第 572 行定义.

◆ getSpawnCompletedRules()

int eve::procgen::TerrainWorldWorkspace::getSpawnCompletedRules ( ) const
noexcept

Return rules visited by the current or most recent staged spawn.

在文件 TerrainWorldWorkspace.cpp 第 417 行定义.

◆ getSpawnStatus()

TerrainWorldRunStatus eve::procgen::TerrainWorldWorkspace::getSpawnStatus ( ) const
noexcept

Return the staged world-spawn lifecycle state.

在文件 TerrainWorldWorkspace.cpp 第 413 行定义.

◆ getTileCount()

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

Return owned tile count.

在文件 TerrainWorldWorkspace.cpp 第 569 行定义.

◆ getTileName()

Result< std::string > eve::procgen::TerrainWorldWorkspace::getTileName ( int  index) const

Return a tile's persistent name copy.

在文件 TerrainWorldWorkspace.cpp 第 542 行定义.

引用了 eve::Result< T >::failure(), index , 以及 eve::Result< T >::success().

◆ getTileOriginX()

Result< double > eve::procgen::TerrainWorldWorkspace::getTileOriginX ( int  index) const

Return a tile's world X origin.

在文件 TerrainWorldWorkspace.cpp 第 543 行定义.

引用了 eve::Result< T >::failure(), index , 以及 eve::Result< T >::success().

◆ getTileOriginZ()

Result< double > eve::procgen::TerrainWorldWorkspace::getTileOriginZ ( int  index) const

Return a tile's world Z origin.

在文件 TerrainWorldWorkspace.cpp 第 544 行定义.

引用了 eve::Result< T >::failure(), index , 以及 eve::Result< T >::success().

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Operator =.

◆ paintSplat()

Result< int > eve::procgen::TerrainWorldWorkspace::paintSplat ( const Heightmap &  paint,
int  targetLayer,
const TerrainStampSettings &  operation 
)

Paint one splat layer and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 228 行定义.

引用了 layer, operation, eve::procgen::paintTerrainSplatLayerMultiTile(), tiles , 以及 world.

◆ redo()

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

Restore the next complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 557 行定义.

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

◆ setHeightWorldUnits()

Result< int > eve::procgen::TerrainWorldWorkspace::setHeightWorldUnits ( float  heightWorldUnits,
float  worldHeightSpan 
)

Set every owned height sample from a world-unit elevation using Pcg's Clamp01 conversion.

参数
heightWorldUnitsRequested world elevation.
worldHeightSpanPositive vertical size represented by normalized height 1.
返回
Changed sample count; validation failure leaves the complete world and history unchanged.

在文件 TerrainWorldWorkspace.cpp 第 439 行定义.

引用了 eve::procgen::TerrainMultiTileReport::affectedTiles, eve::procgen::TerrainMultiTileReport::changedSamples, eve::Diagnostic::error(), eve::Result< T >::failure(), height, eve::InvalidArgument, eve::Result< T >::success() , 以及 world.

◆ spawn()

◆ spawnBiome()

Result< int > eve::procgen::TerrainWorldWorkspace::spawnBiome ( const TerrainBiomePreset &  preset)

Compile and execute biome-active preset spawners as one complete-world transaction.

在文件 TerrainWorldWorkspace.cpp 第 320 行定义.

引用了 eve::procgen::TerrainBiomePreset::compileForBiome() , 以及 eve::Result< T >::failure().

◆ spawnStamper()

Result< int > eve::procgen::TerrainWorldWorkspace::spawnStamper ( const TerrainBiomePreset &  preset)

Compile and execute stamper-active preset spawners as one complete-world transaction.

在文件 TerrainWorldWorkspace.cpp 第 326 行定义.

引用了 eve::procgen::TerrainBiomePreset::compileForStamper() , 以及 eve::Result< T >::failure().

◆ stamp()

Result< int > eve::procgen::TerrainWorldWorkspace::stamp ( const Heightmap &  stamp,
const TerrainStampSettings &  settings,
const Heightmap &  localMask,
const Heightmap &  globalMask 
)

Apply one height stamp and record a complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 218 行定义.

引用了 eve::procgen::applyTerrainStampMultiTile(), global, local, settings, tiles , 以及 world.

◆ stepSpawn()

Result< TerrainWorldRunStatus > eve::procgen::TerrainWorldWorkspace::stepSpawn ( int  maxRules)

Execute at most maxRules rules and publish the complete world once all rules finish.

在文件 TerrainWorldWorkspace.cpp 第 363 行定义.

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

◆ undo()

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

Restore the previous complete-world snapshot.

在文件 TerrainWorldWorkspace.cpp 第 545 行定义.

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


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