Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainEditor module · class

FOrreryTerrainMaskContourCache

Editor only

The 50 % contour of strength masks, by marching squares on a 64 × 64 level of the mask (its own level 0 below that), turned and mirrored as a dab samples it, cached per mask, angle, mirror and aspect.

Declaration

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

Get answers segments in the brush's frame in units of the radius: a point (x, y) lies at Centre + Radius · (x, y) on the ground, world X and Y. The frame is the kernel's: the mask's column grows with its local +X, the angle turns local +X from the world's +X toward +Y, and a mirror reverses the columns first. Outside the mask counts as black, so every contour closes. The preview is floating point and draws only: no edit reads it.

Note.

Game thread, editor only. Tier 3.

Functions

  • Get

    The contour of Mask at Angle, computed on the first ask and cached.

  • GetComputeCount

    Contours computed since the cache was made or reset: a second Get of one mask and angle adds none.

  • Reset
  • Computestatic

    Trace Mask's 50 % contour at Angle into Out (pairs of points, units of the radius), with no cache.

  • AngleOfstatic

    An angle in degrees as a dab carries it: 1/65536 of a turn, wrapped (OrreryTerrain::Units::ToBrush's rule).

Properties

NameTypeDefaultMeaning
kGridSideint3264

Samples per side of the level the contour is traced on.

kEntriesint328

Contours kept; the least recently used goes first.