Orbdale Terrain · OrbdaleTerrainCore module · struct
Native::
FScatterKeepClear
ExperimentalThe keep-clear state of one sub-cell, rasterised once and tested per candidate (kScatterMaskSize² cells).
Declaration
struct FScatterKeepClear- Header
#include "Native/TerrainScatter.h"- Module
PublicDependencyModuleNames.Add("OrbdaleTerrainCore");in your module’s Build.cs.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Thread
- Tier 1: plain C++, no allocation, deterministic in canonical order (ascending candidate index), any thread. (the header’s rule)
Description
About 8 KB; lives in the caller's scratch. Empty (bAny false) when no footprint touches the sub-cell. Every cell is conservative for every point inside it (the cell centre's distance less the half diagonal; for a corridor also the wider side where the cell may cross its centreline, and the half width's taper), so no candidate inside a footprint (plus margin) ever passes; grass stops up to about one mask cell short of the exact edge.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
b | bool | false | False: nothing to test, every candidate passes. |
Min | double | 0.0 | World corner of the mask, cm: it covers kScatterMaskSize × CellCm from here. |
Min | double | 0.0 | — |
Cell | double | 50.0 | Mask cell size, cm: kScatterSubCellQuads posts / kScatterMaskSize. |
Margin | uint8_ | — | The nearest corridor or opening, for every point of the cell: 0 = the cell may touch a footprint (cleared); 1..254 = at least (q − 1) × kScatterMaskDistStepCm away; 255 = at least the rasterised margin away. |
Flags | uint8_ | — | Bit 0: the cell may touch a plate. Bit 1: may touch an exclusion. |