载入中...
搜索中...
未找到
TerrainCollisionMask.h
浏览该文件的文档.
1#pragma once
2
3#include <memory>
4
5#include "common/Result.h"
6
7namespace eve::procgen {
8class Heightmap;
9enum class TerrainMaskBlend;
10
13
20public:
32 [[nodiscard]] Result<int> addLayer(const Heightmap& mask, TerrainCollisionMaskType type, bool active, bool invert);
34 void clear();
36 [[nodiscard]] int getLayerCount() const noexcept;
41 [[nodiscard]] Result<int> apply(Heightmap& target, const Heightmap& input, const Heightmap& curve,
42 TerrainMaskBlend mode) const;
43
44private:
45 struct Impl;
46 std::unique_ptr<Impl> impl_;
47};
48
49} // namespace eve::procgen
LogicalId target
bool & active
int mask
EvpackChunkInput input
Definition Evpack.cpp:170
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Move-only, checked operation results for the common layer.
Heightmap curve
Move-only operation result carrying either a value or Status.
Definition Result.h:155
In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from ...
Definition Heightmap.h:21
Own an ordered Pcg-style collision-mask stack made from caller-baked scalar rasters....
TerrainCollisionMaskStack(TerrainCollisionMaskStack &&) noexcept
Terrain collision mask stack.
~TerrainCollisionMaskStack()
Terrain collision mask stack.
TerrainCollisionMaskType
Pcg baked collision-mask source categories and their inversion convention.
TerrainMaskBlend
Ordered scalar-mask arithmetic; intermediate values are not clamped.
Definition TerrainStamp.h:9