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

Own ordered Pcg-style PolyMask nodes and rasterize them into a caller-owned scalar grid. Nodes are value-copied and no terrain, texture, scene object, callback, clock, or RNG is retained. 更多...

#include <TerrainPolygonMask.h>

类

struct  Impl
 

Public 成员函数

 TerrainPolygonMask ()
 Terrain polygon mask.
 
 ~TerrainPolygonMask ()
 Terrain polygon mask.
 
 TerrainPolygonMask (TerrainPolygonMask &&) noexcept
 Terrain polygon mask.
 
TerrainPolygonMask & operator= (TerrainPolygonMask &&) noexcept
 Operator =.
 
 TerrainPolygonMask (const TerrainPolygonMask &)=delete
 
TerrainPolygonMask & operator= (const TerrainPolygonMask &)=delete
 
Result< int > addNode (double worldX, double worldZ, float radius, float strength)
 Append a finite world-X/Z node with positive radius and retained Pcg strength metadata.
 
void clear ()
 Remove every owned node.
 
int getNodeCount () const noexcept
 Return the current node count.
 
Result< int > rasterize (Heightmap &target, const Heightmap &brush, const TerrainSampleGrid &grid, TerrainPolygonMaskType type) const
 Rasterize closed fill and ordered additive brush strokes atomically.
 

详细描述

Own ordered Pcg-style PolyMask nodes and rasterize them into a caller-owned scalar grid. Nodes are value-copied and no terrain, texture, scene object, callback, clock, or RNG is retained.

在文件 TerrainPolygonMask.h 第 17 行定义.

构造及析构函数说明

◆ TerrainPolygonMask() [1/3]

eve::procgen::TerrainPolygonMask::TerrainPolygonMask ( )

Terrain polygon mask.

在文件 TerrainPolygonMask.cpp 第 21 行定义.

◆ ~TerrainPolygonMask()

eve::procgen::TerrainPolygonMask::~TerrainPolygonMask ( )
default

Terrain polygon mask.

◆ TerrainPolygonMask() [2/3]

eve::procgen::TerrainPolygonMask::TerrainPolygonMask ( TerrainPolygonMask &&  )
defaultnoexcept

Terrain polygon mask.

◆ TerrainPolygonMask() [3/3]

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

成员函数说明

◆ addNode()

Result< int > eve::procgen::TerrainPolygonMask::addNode ( double  worldX,
double  worldZ,
float  radius,
float  strength 
)

Append a finite world-X/Z node with positive radius and retained Pcg strength metadata.

在文件 TerrainPolygonMask.cpp 第 26 行定义.

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

◆ clear()

void eve::procgen::TerrainPolygonMask::clear ( )

Remove every owned node.

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

◆ getNodeCount()

int eve::procgen::TerrainPolygonMask::getNodeCount ( ) const
noexcept

Return the current node count.

在文件 TerrainPolygonMask.cpp 第 40 行定义.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Operator =.

◆ rasterize()

Result< int > eve::procgen::TerrainPolygonMask::rasterize ( Heightmap &  target,
const Heightmap &  brush,
const TerrainSampleGrid &  grid,
TerrainPolygonMaskType  type 
) const

Rasterize closed fill and ordered additive brush strokes atomically.

参数
targetExclusively borrowed finite destination; dimensions must match grid.
brushBorrowed finite scalar brush. Samples outside each node's square footprint are zero.
gridPositive finite sample spacing and finite world origin.
typeOpen draws strokes only; Closed first fills the polygon when at least three nodes exist.
返回
Changed sample count or InvalidArgument; failure leaves target unchanged.
异常
std::bad_allocTarget remains unchanged. @thread Synchronous exclusive target access; immutable brush and owned-node snapshot, no callbacks. Pcg 4.2.2 passes node strength to ApplyBrushStroke but its shader path does not bind or consume it; this implementation retains the field for asset fidelity and likewise does not scale the brush by it.

在文件 TerrainPolygonMask.cpp 第 44 行定义.

引用了 a, b, eve::procgen::Closed, hit, inside, eve::procgen::raster_detail::invalid(), node, output, eve::procgen::raster_detail::publish(), target, eve::procgen::raster_detail::textureSample(), type, u, v, eve::procgen::raster_detail::validRaster(), value, wx, wz, x , 以及 z.


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