Orrery Terrain · OrreryTerrainEditor module · struct
FOrreryTerrainBrushDabV2
ExperimentalEditor onlyOne brush dab handed to a V2 brush target, in world space: the V1 fields, plus the brush mask and how the kernel places it.
Declaration
struct FOrreryTerrainBrushDabV2- Header
#include "Mode/OrreryTerrainEdExtensionV2.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrainEditor");in an editor module’s Build.cs: an editor module, not in packaged games.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Thread
- Game thread, editor only.
Description
The mask fields describe the dab exactly as the terrain's sculpt kernel would apply it, with the angle the tool resolved for this dab (rotation mode and jitter included), so a target that follows SampleMask follows the same shape as the built-in targets. Without a mask (MaskHash 0) the dab is the round brush and every mask field is at its default.
Game thread, editor only. Copyable; it shares the mask, which stays alive as long as any dab holds it.
Functions
- HasMask
Whether the dab carries a mask the target can sample.
- SampleMaskQ16
The mask at a world point as the sculpt kernel reads it, in Q16 (0 to 65536).
- SampleMask
SampleMaskQ16 as 0 to 1, 0 where it answers -1.
- ToV1
The V1 dab of this one: the same position, radius, strength, time and inversion, with no mask.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
Position_ | FVector | FVector:: | Hit point on the ground, metres (a stamp: its centre). |
Radius_ | double | 10.0 | Brush radius, metres; with a mask, half the mask's longer side. |
Strength | double | 1.0 | 0..1, before the author's per-step limit; 1 for a stamp. |
Delta | double | 0.0 | Time this dab stands for, seconds. |
b | bool | false | Shift held: raise becomes lower, hole becomes fill. |
Mask | uint64 | 0 | The mask's content hash; 0 is the round brush. |
Mask | std:: | — | The baked samples, read-only; null with MaskHash 0, or when the terrain does not hold the mask. |
Mask | double | 0.0 | This dab's resolved angle, degrees from +X toward +Y in [0, 360), as the kernel quantises it. |
Mask | uint16 | 0 | The same angle in 1/65536 of a turn, the kernel's integer. |
b | bool | false | The mask is mirrored left to right before the rotation. |
b | bool | false | The footprint is the mask's own rotated rectangle instead of the disc. |
b | bool | false | The mask is sampled by the Catmull-Rom cubic instead of bilinearly. |
Mask | double | 1.0 | The mask's width over its height. |
Mask | uint16 | 256 | The same ratio in 1/256, the kernel's integer. |
Radius_ | uint32 | 0 | The kernel's radius in whole millimetres; SampleMask scales the mask by it. |
Edit | int32 | 1 | The terrain's edit cell in millimetres; it picks the mask's mip level as the kernel does. |
b | bool | false | The dab is a height stamp: one dab, placed once. |
Stamp | double | 0.0 | Stamp only: the peak height over the base, metres (negative digs). |
Splat | int32 | -1 | A splat dab: the channel's place among the splat's used channels, 0 for the first; -1 for a plain dab. A splat dab reaches a V2 target as one dab per used channel, each with that channel's mask. |
Splat | int32 | -1 | A splat dab: the splat image channel (0 red to 3 alpha) this dab's mask comes from; -1 for a plain dab. |
Paint | int32 | -1 | A splat dab: the paint layer the channel paints; -1 for a plain dab. |