Own an ordered Pcg-style collision-mask stack made from caller-baked scalar rasters. Geometry queries and cache invalidation remain with the caller; every added raster is copied and no scene object, callback, renderer resource, clock or RNG survives a call. 更多...
#include <TerrainCollisionMask.h>
类 | |
| struct | Impl |
Public 成员函数 | |
| TerrainCollisionMaskStack () | |
| Terrain collision mask stack. | |
| ~TerrainCollisionMaskStack () | |
| Terrain collision mask stack. | |
| TerrainCollisionMaskStack (TerrainCollisionMaskStack &&) noexcept | |
| Terrain collision mask stack. | |
| TerrainCollisionMaskStack & | operator= (TerrainCollisionMaskStack &&) noexcept |
| Operator =. | |
| TerrainCollisionMaskStack (const TerrainCollisionMaskStack &)=delete | |
| TerrainCollisionMaskStack & | operator= (const TerrainCollisionMaskStack &)=delete |
| Result< int > | addLayer (const Heightmap &mask, TerrainCollisionMaskType type, bool active, bool invert) |
| Copy one finite baked mask and append its active/invert metadata. | |
| void | clear () |
| Remove every owned layer. | |
| int | getLayerCount () const noexcept |
| Return retained layer count, including inactive layers. | |
| Result< int > | apply (Heightmap &target, const Heightmap &input, const Heightmap &curve, TerrainMaskBlend mode) const |
| Combine active layers, apply a strength curve, then blend with input atomically. Target and input share dimensions; layer resolutions may differ and use Clamp/Bilinear sampling. | |
详细描述
Own an ordered Pcg-style collision-mask stack made from caller-baked scalar rasters. Geometry queries and cache invalidation remain with the caller; every added raster is copied and no scene object, callback, renderer resource, clock or RNG survives a call.
在文件 TerrainCollisionMask.h 第 19 行定义.
构造及析构函数说明
◆ TerrainCollisionMaskStack() [1/3]
| eve::procgen::TerrainCollisionMaskStack::TerrainCollisionMaskStack | ( | ) |
Terrain collision mask stack.
在文件 TerrainCollisionMask.cpp 第 23 行定义.
◆ ~TerrainCollisionMaskStack()
|
default |
Terrain collision mask stack.
◆ TerrainCollisionMaskStack() [2/3]
|
defaultnoexcept |
Terrain collision mask stack.
◆ TerrainCollisionMaskStack() [3/3]
|
delete |
成员函数说明
◆ addLayer()
| Result< int > eve::procgen::TerrainCollisionMaskStack::addLayer | ( | const Heightmap & | mask, |
| TerrainCollisionMaskType | type, | ||
| bool | active, | ||
| bool | invert | ||
| ) |
Copy one finite baked mask and append its active/invert metadata.
在文件 TerrainCollisionMask.cpp 第 28 行定义.
引用了 active, eve::procgen::raster_detail::invalid(), eve::procgen::LayerTree, mask, eve::procgen::RadiusTree, eve::Result< T >::success(), type , 以及 eve::procgen::raster_detail::validRaster().
◆ apply()
| Result< int > eve::procgen::TerrainCollisionMaskStack::apply | ( | Heightmap & | target, |
| const Heightmap & | input, | ||
| const Heightmap & | curve, | ||
| TerrainMaskBlend | mode | ||
| ) | const |
Combine active layers, apply a strength curve, then blend with input atomically. Target and input share dimensions; layer resolutions may differ and use Clamp/Bilinear sampling.
在文件 TerrainCollisionMask.cpp 第 47 行定义.
引用了 eve::procgen::Add, curve, eve::procgen::raster_detail::curveSample(), index, input, eve::procgen::raster_detail::invalid(), eve::procgen::raster_detail::isRepresentable(), layer, eve::procgen::LayerGameObject, eve::procgen::LayerTree, eve::procgen::Maximum, eve::procgen::Minimum, eve::procgen::Multiply, output, eve::procgen::raster_detail::publish(), eve::procgen::Subtract, target, eve::procgen::raster_detail::textureSample(), u, v, eve::procgen::raster_detail::validRaster(), x , 以及 z.
◆ clear()
| void eve::procgen::TerrainCollisionMaskStack::clear | ( | ) |
Remove every owned layer.
在文件 TerrainCollisionMask.cpp 第 39 行定义.
◆ getLayerCount()
|
noexcept |
Return retained layer count, including inactive layers.
在文件 TerrainCollisionMask.cpp 第 43 行定义.
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
defaultnoexcept |
Operator =.
该类的文档由以下文件生成:
- src/modules/procgen/heightmap/TerrainCollisionMask.h
- src/modules/procgen/heightmap/TerrainCollisionMask.cpp