Orrery Terrain · OrreryTerrainCore module · struct
Native::
FGroundSampleColumns
Where the answers go: one array per column, each Count long (Normal and SmoothNormal 3·Count, SurfaceState 4·Count).
Declaration
struct FGroundSampleColumns- Header
#include "Native/GroundSampling.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrainCore");in your module’s Build.cs.- Stability
- Stable: changes within a major version only add.
- Thread
- The batch ground sampler: height, face and smoothed normals, slope, paint weights, ground class and the answer's precision for many positions in one call, on any thread, with no allocation once its scratch is warm. (the header’s rule)
Description
A null column is not computed. Results come back in input order. A position without an answer (NoData or Pending) gets Z 0, normal (0,0,1), slope 0, no paint, class 0 and state 0, and its Precision column says why.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
Z_ | double* | nullptr | Height, metres. |
Normal | float* | nullptr | Face normal of the Chaos-split triangle, the one collision uses (x y z per position). |
Smooth | float* | nullptr | Bilinear blend of the four surrounding post normals, for aligning foliage and decals; never feeds slope or collision. |
Slope_ | float* | nullptr | acos(face normal Z), degrees, 0..90. |
Paint | FPaint | nullptr | Paint at the nearest post (Channel semantics): the painted weights, else the natural ground's. |
Ground | uint8_ | nullptr |
|
Surface | float* | nullptr | Snow cover, snow depth, wetness, puddle level (experimental): an extension fills these, 0 without one. |
Precision | EPrecision* | nullptr | Per position. |