Orrery Terrain · OrreryTerrainCore module · struct
Native::
FBrush
One brush application, in fixed point because strokes replicate as commands and must produce the same tiles on every machine.
Declaration
struct FBrush- Header
#include "Native/TerrainEdit.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrainCore");in your module’s Build.cs.- Stability
- Stable: changes within a major version only add.
Description
The mask fields (record version 5) carry every dab's final mask, angle, aspect and flags, so a replay never derives them. With MaskHash 0 they stay at their defaults, and the brush applies exactly as before them.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
Kind | EBrush | EBrush | — |
Falloff | EFalloff | EFalloff:: | — |
Centre | int64_ | 0 | Relative to the terrain origin. |
Centre | int64_ | 0 | — |
Radius_ | uint32_ | 10000 | The disc's radius; with a mask, half the mask's longer side. A Stamp's is bounded by |
Strength_ | int32_ | 100 | Height change at the centre per application (Raise, Lower, Smooth); Flatten's cap on every post's move per application; a Stamp's peak height over FlattenTo_mm (negative digs). |
Flatten | FHeight | 0 | Flatten's plane, mm; a Stamp's base height. |
Channel | FChannel | 0 | PaintChannel only. |
Channel | uint8_ | 0 | PaintChannel only. |
Falloff | uint16_ | 0 | The inner radius of full strength, in 1/65536 of the radius (kFalloffStartOne); 0 = the falloff starts at the centre. |
Flatten | EFlatten | EFlatten | Flatten only. |
Paint | uint8_ | 0 | Paint only: the material layer id, 0..255. |
Paint | uint8_ | 255 | Paint only: the weight the layer moves toward, 0..255 (255 = the layer alone). |
Mask | uint64_ | 0 | The brush mask, by its content hash (64 bits over the mask's canonical bytes); 0 = no mask. A mask scales every kind's falloff weight per post; a Stamp's mask is its shape. Every machine samples the same bytes, and a hash the terrain does not hold is refused ( |
Mask | uint16_ | 0 | The mask's rotation in 1/65536 of a turn (kBrushAngleTurn), counter-clockwise from +X seen from above; the mask's columns follow the rotated +X, its rows the rotated +Y. 0 without a mask. |
Mask | uint8_ | 0 | kBrushMaskMirror, kBrushMaskSquare and kBrushMaskBicubic; any other bit is refused. 0 without a mask. |
Stamp | EStamp | EStamp | Stamp only: how its target meets the ground. Add on every other kind. |
Mask | uint16_ | k | The mask's width over its height (its local X side over its local Y side), in 1/256: kBrushAspectSquare is square, 512 twice as wide as tall, 128 twice as tall as wide; 0 is refused. The longer side spans 2 × Radius_mm and the shorter is scaled by the ratio, rounded up (BrushMaskHalfSides). kBrushAspectSquare without a mask. |