Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainEditor module · class

FOrreryTerrainBrushStroke

Editor only

Drives a brush target from a cursor timeline: the stepper turns the cursor into steps, each step becomes one dab.

Declaration

class FOrreryTerrainBrushStroke
Header
#include "Tools/OrreryTerrainBrushStroke.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.

Description

The brush tool owns one and feeds it the viewport's cursor; tests feed it a timeline directly, so a test stroke is the tool's stroke. Release does not close the stroke while dabs wait for ground: Tick keeps retrying them, and the stroke closes, with its undo record, once they have applied (or after FOrreryTerrainSculptHeightTarget::kCloseTimeout_s). Close forces it. TakeFinished hands the record of a stroke that closed on its own.

Note.

Game thread, editor only. The target must outlive the stroke.

Functions

  • Begin

    Press at Cursor_cm (world cm, on the ground): the target opens a stroke and takes the first dab.

  • SetShape

    The shape of the dabs from the next step on (radius and strength hotkeys, Shift during a drag).

  • GetShape
  • SetCursor

    The cursor is on the ground at Cursor_cm.

  • LoseCursor

    The cursor left the ground.

  • Tick

    Advance the stroke's clock: due steps become dabs, waiting dabs are retried, a released stroke may close.

  • Release

    The button is up: the last step goes in, and the stroke closes as soon as no dab waits.

  • Close

    Close now (a tool switch, Ctrl+Z, the terrain going away), giving up waiting dabs with a warning.

  • TakeFinished

    The undo record of a stroke that closed in Release or Tick, once; null otherwise.

  • IsOpen

    Pressed or released and still waiting for ground.

  • IsDragging
  • IsReleasing
  • GetSteps

    Steps the stepper produced in this stroke, the first one included.

  • GetStepPositions_cm

    Where this stroke's steps went, world cm, in order, the first one included: for tests.