Skip to content
Orbdale

Orbdale Terrain · module

OrbdaleTerrainEditor

Editor only

An editor module: it is in the editor and in editor builds, never in a packaged game. 33 public headers.

Build.cs
PublicDependencyModuleNames.Add("OrbdaleTerrainEditor");
Type
Editor

Authoring/OrbdaleTerrainBake.h

The bake: folds a terrain actor's authoring layer (sculpt, paint, ground class and the editor's features) into a new tile store, re-points the actor at it and empties the authoring layer, so the map cooks.

#include "Authoring/OrbdaleTerrainBake.h"

Authoring/OrbdaleTerrainBakeCommandlet.h

The bake as a commandlet: bakes the terrain authoring layers of maps from the command line, or checks that none is left, for release pipelines.

#include "Authoring/OrbdaleTerrainBakeCommandlet.h"

Factories/OrbdaleTerrainFactories.h

Experimental

The Content Browser's ways to make a terrain source: a GeoTIFF dropped into the browser, and a heightmap picked from the Add menu.

#include "Factories/OrbdaleTerrainFactories.h"

Follow/OrbdaleTerrainEditorFollow.h

Placed foliage, tagged instanced meshes and ground-follow actors follow the terrain mode's edits in an editor world, inside each edit's undo step.

#include "Follow/OrbdaleTerrainEditorFollow.h"

Mode/OrbdaleTerrainEdExtensionV1.h

Version 1 of the terrain editor mode's extension contract.

#include "Mode/OrbdaleTerrainEdExtensionV1.h"

Mode/OrbdaleTerrainEdExtensionV2.h

Experimental

Version 2 of the terrain editor mode's extension contract: brush targets that receive the brush mask.

#include "Mode/OrbdaleTerrainEdExtensionV2.h"

Mode/OrbdaleTerrainEdMode.h

The terrain editor mode: a UEdMode on the Interactive Tools Framework whose palettes, tools and actions all come from FOrbdaleTerrainEdRegistry.

#include "Mode/OrbdaleTerrainEdMode.h"

Mode/OrbdaleTerrainEdRegistry.h

The open registry of the terrain editor mode: palettes, tools, actions, layers and brush targets.

#include "Mode/OrbdaleTerrainEdRegistry.h"

OrbdaleTerrainDemImport.h

Editor-only importer of a GeoTIFF DEM, or a mosaic of GeoTIFFs on one grid, into a tile store.

#include "OrbdaleTerrainDemImport.h"

OrbdaleTerrainEditorLibrary.h

The terrain editor's scripting API for Python and editor Blueprints: new terrain, brush strokes, features and the bake as the editor mode makes them, plus the viewport and mode helpers captures need.

#include "OrbdaleTerrainEditorLibrary.h"

OrbdaleTerrainEditorSettings.h

Settings of the terrain editor mode: the author's per-user mode settings and the project-wide editor settings.

#include "OrbdaleTerrainEditorSettings.h"

OrbdaleTerrainHeightmapImport.h

Editor-only importer of a 16-bit PNG or RAW16 heightmap with a JSON sidecar into a tile store.

#include "OrbdaleTerrainHeightmapImport.h"

OrbdaleTerrainImportChecks.h

Map check and cook warnings for tile stores imported from a Landscape that has changed since.

#include "OrbdaleTerrainImportChecks.h"

  • Register function in OrbdaleTerrainImportChecks

    Hook the map check (AOrbdaleTerrainActor::OnCheckForErrors) and the cook save (FCoreUObjectDelegates::OnObjectPreSave).

  • Unregister function in OrbdaleTerrainImportChecks

    Remove the hooks.

  • ReportMapCheck function in OrbdaleTerrainImportChecks

    Report a terrain actor whose source is a tile store imported from a Landscape that changed since, to the MapCheck log as a warning (Landscape not loaded: an info line, nothing can be said).

  • WarnIfStale function in OrbdaleTerrainImportChecks

    Log a LogOrbdaleTerrainShell warning when the store was imported from a Landscape that has changed since.

OrbdaleTerrainImportLibrary.h

Editor-only Blueprint library that fills heightmap source assets from 16-bit RAW files.

#include "OrbdaleTerrainImportLibrary.h"

OrbdaleTerrainImportResult.h

Result of an importer's Python and Blueprint entry: success flag plus the report line.

#include "OrbdaleTerrainImportResult.h"

OrbdaleTerrainLandscapeImport.h

Editor-only importer of a Landscape's final heightmap and paint layers into a tile store.

#include "OrbdaleTerrainLandscapeImport.h"

OrbdaleTerrainMaterialLibrary.h

Editor-only Blueprint library that creates terrain material wrappers at editor time, since a cooked game cannot.

#include "OrbdaleTerrainMaterialLibrary.h"

Persist/OrbdaleTerrainAuthoringSync.h

Keeps each editor terrain's authoring layer (UOrbdaleTerrainAuthoringData) in step with the live terrain, and checks the cook and the map for unbaked authoring.

#include "Persist/OrbdaleTerrainAuthoringSync.h"

  • FOrbdaleTerrainAuthoringSync class

    The editor's authoring sync: the live terrain of an editor world is the truth, and its authoring asset catches up at four moments: the asset's own save, the map's save, PIE start and a terrain re-create (Material, Source, undo of a recreate property).

SplineFeature/OrbdaleTerrainSplineFeatureEditorSubsystem.h

Experimental

The editor half of the live spline features: the subsystem that watches every spline feature component of the editor world, previews while its spline is dragged and commits once on release, as part of the edit's own transaction when the ground is loaded.

#include "SplineFeature/OrbdaleTerrainSplineFeatureEditorSubsystem.h"

Tools/OrbdaleTerrainBrushPalette.h

The brush mask settings and palette of the terrain editor's brush, paint and Stamp tools: the mask, its angle, rotation mode, jitter, mirror and footprint; the palette of brush sets with Disc first; Import, which bakes a brush asset from the selected texture; the thumbnails.

#include "Tools/OrbdaleTerrainBrushPalette.h"

  • EOrbdaleTerrainMaskFootprint enum

    Where a masked brush writes.

  • UOrbdaleTerrainBrushMaskProperties class

    The brush mask a brush, paint or Stamp tool applies, kept per user and shared by those tools.

  • UOrbdaleTerrainStampMaskProperties class

    The Stamp tool's mask settings: the brush tools' settings, saved in a config section of their own, so the stamp's angle, footprint and import options and the brush tools' never replace each other.

  • FOrbdaleTerrainBrushPaletteEntry struct

    One button of the brush palette.

  • kStarterFolder constant

    The content folder whose brush sets the palette lists first: the plugin's starter set goes there.

  • GatherBrushSets function in OrbdaleTerrainBrushPalette

    The brush sets the palette lists, in order: every UOrbdaleTerrainBrushSet under kStarterFolder (by name), then Project Settings > Orbdale Terrain Editor > Brush Sets in their order; missing and repeated sets are skipped.

  • CollectEntries function in OrbdaleTerrainBrushPalette

    The palette's buttons: Disc first, then each set's baked brushes in order (an unbaked or repeated brush skipped), then Current when it is in no set (a brush picked or imported elsewhere).

  • CollectSplatEntries function in OrbdaleTerrainBrushPalette

    The palette's splat buttons, after the brushes: each set's Splats in order (a null, repeated or unbaked splat is skipped), then Current when it is in no set (a splat picked elsewhere).

  • SelectSplat function in OrbdaleTerrainBrushPalette

    Pick Splat (null: none) in Props as a palette button does: the brush is cleared and the change is announced as a details edit.

  • SelectBrush function in OrbdaleTerrainBrushPalette

    Pick Brush (null: Disc) in Props as a palette button does: the angle becomes the asset's default angle and the change is announced as a details edit (PostEditChangeProperty), so the tool sees it.

  • FExtensionTargetEntry struct

    One row of the extension target picker.

  • CollectExtensionTargets function in OrbdaleTerrainBrushPalette

    The registered extension brush targets (V1 and V2), by id: the picker's rows.

  • SetExtensionTarget function in OrbdaleTerrainBrushPalette

    Pick or unpick the extension target Id in Props as a picker checkbox does: ids no longer registered are dropped from the list, and the change is announced as a details edit (PostEditChangeProperty), so the tool sees it.

  • FImportOptions struct

    What Import bakes.

  • ImportOptionsOf function in OrbdaleTerrainBrushPalette

    The options a tool's mask settings ask Import for; Usage is Height in the Stamp tool.

  • MakeBrushFromTexture function in OrbdaleTerrainBrushPalette

    Make a brush asset of Texture through the asset's own bake (it reads the texture's source, never its platform data).

  • FindSelectedTexture function in OrbdaleTerrainBrushPalette

    The first texture selected in the Content Browser (or in the editor's object selection), or null.

  • ImportSelectedTexture function in OrbdaleTerrainBrushPalette

    Import: bake a new brush asset of the selected texture beside it (BM_<Texture>, a unique name), dirty and not saved.

  • GetThumbnail function in OrbdaleTerrainBrushPalette

    A 64 × 64 grey thumbnail of Brush's mask (the disc for null), made once per mask and kept until Shutdown; null before Startup.

  • Startup function in OrbdaleTerrainBrushPalette

    Register the details customization that shows the palette, and keep the thumbnails.

  • Shutdown function in OrbdaleTerrainBrushPalette

Tools/OrbdaleTerrainBrushStroke.h

One brush stroke of the terrain editor, from press to release, without a viewport.

#include "Tools/OrbdaleTerrainBrushStroke.h"

  • FOrbdaleTerrainBrushStroke class

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

Tools/OrbdaleTerrainBrushTool.h

The terrain editor mode's brush tool: Sculpt, Smooth and Flatten, Paint, Ground class and Holes; *.

#include "Tools/OrbdaleTerrainBrushTool.h"

Tools/OrbdaleTerrainExtFeed.h

Experimental

Drives the extension brush targets beside a built-in stroke or stamp.

#include "Tools/OrbdaleTerrainExtFeed.h"

  • FOrbdaleTerrainExtFeed class

    Sends the dabs of a stroke or stamp to the extension brush targets the author listed, and keeps their undo records.

Tools/OrbdaleTerrainFeaturePlacement.h

One editor feature commit that waits for the ground its bake reads.

#include "Tools/OrbdaleTerrainFeaturePlacement.h"

Tools/OrbdaleTerrainFeatureTools.h

The terrain editor mode's feature tools: Plate, Corridor and the feature list.

#include "Tools/OrbdaleTerrainFeatureTools.h"

Tools/OrbdaleTerrainMaskPreview.h

What the editor draws of a brush mask: the 50 % contour of a strength mask, cached per mask and angle, and the ghost of a height stamp, the 65 × 65 grid of EvaluateStampPreview over sampled ground.

#include "Tools/OrbdaleTerrainMaskPreview.h"

  • FOrbdaleTerrainMaskContourCache class

    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.

  • FOrbdaleTerrainStampGhost struct

    The ghost of a height stamp before it is placed: EvaluateStampPreview's Side × Side grid of the stamp's result over the ground sampled at StampPreviewPoint, in world cm.

Tools/OrbdaleTerrainNewTerrain.h

The new-terrain flow of the editor mode: an open registry of source kinds, the size estimates the preview shows, and the one transaction that creates the terrain.

#include "Tools/OrbdaleTerrainNewTerrain.h"

Tools/OrbdaleTerrainNewTerrainTool.h

Manage, New: the property set, builder and tool of the new-terrain flow.

#include "Tools/OrbdaleTerrainNewTerrainTool.h"

Tools/OrbdaleTerrainSculptTarget.h

The built-in brush target of the terrain editor mode: heights, paint layers, the ground class and holes.

#include "Tools/OrbdaleTerrainSculptTarget.h"

Tools/OrbdaleTerrainStampHold.h

The stamp hold of the terrain editor's Stamp tool: one height stamp, applied as soon as the ground under its whole extent can be edited, as one undo record.

#include "Tools/OrbdaleTerrainStampHold.h"

Tools/OrbdaleTerrainStampPreviewMesh.h

The Stamp tool's preview: a translucent, sunlit mesh of a height stamp's result at the edit cell, or every 2nd, 4th... post on a big stamp, and its 65 × 65 wire ghost, both built on a worker over one ground snapshot; the mesh is drawn by a transient mesh component, the wire by the tool.

#include "Tools/OrbdaleTerrainStampPreviewMesh.h"

  • FOrbdaleTerrainStampWire struct

    One build of a stamp's wire ghost (built on a worker thread): EvaluateStampPreview's 65 × 65 grid of the stamp's result over the ground sampled at StampPreviewPoint, which cuts, and the lines the tool draws.

  • FOrbdaleTerrainStampMesh struct

    One build of a stamp's preview: the post-aligned grid of StampPreviewPostGridWithin, its ground, the stamp's result there (EvaluateStampPreviewPosts: on every vertex the millimetres the stamp writes to that post), the mesh drawn from it, and the wire ghost from the same ground snapshot.

  • UOrbdaleTerrainStampPreviewComponent class

    Draws a FOrbdaleTerrainStampMesh: a translucent, lit, vertex-coloured triangle list in the world (material 0), and its cut cells again through the ground (material 1), never selectable, casting no shadow and colliding with nothing.

  • FOrbdaleTerrainStampPreview class

    The Stamp tool's preview: asks a worker for a FOrbdaleTerrainStampMesh and its FOrbdaleTerrainStampWire when the stamp or the ground changes, shows each finished mesh on a transient actor's UOrbdaleTerrainStampPreviewComponent and keeps the wire for the tool to draw.

Tools/OrbdaleTerrainStampTool.h

The terrain editor mode's Stamp tool: a click places a height stamp of the chosen brush mask, a click-drag sets its size and angle first, Esc cancels; each stamp is one transaction.

#include "Tools/OrbdaleTerrainStampTool.h"

Tools/OrbdaleTerrainStrokeStepper.h

The stroke stepper of the terrain editor's brush tool.

#include "Tools/OrbdaleTerrainStrokeStepper.h"