Skip to content
Orbdale

Orbdale Terrain · OrbdaleTerrainCore module · function

Native::

RasteriseKeepClear

Experimental

Rasterise 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

NameTypeDefaultMeaning
Postsconst FScatterPosts&—

The chunk's posts; place the sub-cell.

SubXint32_t—

Sub-cell column in the chunk.

SubYint32_t—

Sub-cell row in the chunk.

Footprintsconst FScatterFootprint*—

NumFootprints footprints to rasterise.

NumFootprintsint32_t—

Entries in Footprints.

MarginCmfloat—

The largest KeepClearMarginCm of the varieties that will test the mask: distances beyond it are 255.

OutFScatterKeepClear&—

The mask, filled.

Note.

No allocation; each footprint touches only the mask cells within its reach (segment by segment for a corridor).