Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainCore module · function

Native::

RegisterFollow

Register Count instances: their reference offsets and whether each stands cleared already.

Declaration

void RegisterFollow(const FGroundQuery& Query, const FFollowRules& Rules, const double* XY, const double* Z_m,
                                            int32_t Count, FFollowScratch& Scratch, FFollowRegistration* Out,
                                            const FFollowBaseline* Baseline = nullptr);
Header
#include "Native/GroundFollow.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrainCore"); in your module’s Build.cs.
Stability
Stable: changes within a major version only add.
Thread
Any thread, no allocation once the scratch is warm.

Description

Natural ground (no footprint): Delta = Z - Pristine. Inside an authored feature's footprint (id below the load's first runtime id): Delta = Z - Modified. Inside a runtime feature's footprint: Delta = Z - Pristine and hidden, so an undo of the construction restores it at its old height (a limit: an instance in an authored and a runtime footprint at once restores against Pristine).

Parameters

NameTypeDefaultMeaning
Queryconst FGroundQuery&—

The snapshot to read; answers ExactOnly, so a tile that is not resident gives Pending.

Rulesconst FFollowRules&—

The follow rules; the mask and slope exemptions.

XYconst double*—

2*Count doubles, x y per instance, world metres.

Z_mconst double*—

Count heights, world metres.

Countint32_t—

Number of instances.

ScratchFFollowScratch&—

Reusable buffers; keep one per thread.

OutFFollowRegistration*—

Count results.

Baselineconst FFollowBaseline*nullptr

Read in place of Pristine when set; null reads Pristine.

Note.

Any thread, no allocation once the scratch is warm. Deterministic.