Orbdale Terrain · OrbdaleTerrainCore module · function
Native::
RasteriseKeepClear
ExperimentalRasterise the footprints that touch sub-cell (SubX, SubY) into its keep-clear mask.
Declaration
void RasteriseKeepClear(const FScatterPosts& Posts, int32_t SubX, int32_t SubY, const FScatterFootprint* Footprints,
int32_t NumFootprints, float MarginCm, FScatterKeepClear& Out);- 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
A corridor's band is, per segment, the points whose distance to the segment is at most the half width interpolated along it on their side (left = +90° from the direction of travel, the core's convention), so its ends are round caps.
Parameters
| Name | Type | Default | Meaning |
|---|---|---|---|
Posts | const FScatter | — | The chunk's posts; place the sub-cell. |
SubX | int32_ | — | Sub-cell column in the chunk. |
SubY | int32_ | — | Sub-cell row in the chunk. |
Footprints | const FScatter | — | NumFootprints footprints to rasterise. |
NumFootprints | int32_ | — | Entries in Footprints. |
MarginCm | float | — | The largest KeepClearMarginCm of the varieties that will test the mask: distances beyond it are 255. |
Out | FScatter | — | The mask, filled. |
No allocation; each footprint touches only the mask cells within its reach (segment by segment for a corridor).