Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainEditor module · class

UOrreryTerrainFeatureToolBase

Editor only

What the feature tools share: clicks and hovers on the analytic ground (RaycastGround), the HUD, and committing or removing a feature as one editor transaction (AppendChange of an FOrreryTerrainFeatureChange on the terrain actor, never EmitObjectChange, so the edit outlives the tool).

Declaration

UCLASS(Abstract)
class UOrreryTerrainFeatureToolBase : public UInteractiveTool, public IClickBehaviorTarget, public IHoverBehaviorTarget
Header
#include "Tools/OrreryTerrainFeatureTools.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrainEditor"); in an editor module’s Build.cs: an editor module, not in packaged games.
Stability
Stable: changes within a major version only add.
Thread
Game thread, editor only.
Derives from
UInteractiveTool, IClickBehaviorTarget, IHoverBehaviorTarget

Description

Features are owned by the editor (kOwnerDomainTerrainEditor), so the authoring layer keeps them and the editor session admits them.

A commit whose ground is still loading waits: the tool holds an FOrreryTerrainFeaturePlacement, as the editor library does, steps it from its tick and appends the transaction when it lands. Meanwhile the HUD says so in red, a second commit and new clicks are refused, and Esc (or leaving the tool) cancels it with nothing changed.

Note.

Game thread, editor only. Tier 3.

Functions

Properties

NameTypeDefaultMeaning
kEditorOwnerIduint641

The owner id within kOwnerDomainTerrainEditor that the editor's features carry.

WorldTWeakObjectPtr<UWorld>——
ModeTWeakObjectPtr<UOrreryTerrainEdMode>——
Cursor_cmFVectorFVector::ZeroVector—
bHasCursorboolfalse—
LastRefusalFString——
LastDoneFString——