Orrery Terrain · module
OrreryTerrainEditor
Editor onlyAn editor module: it is in the editor and in editor builds, never in a packaged game. 33 public headers.
- Build.cs
PublicDependencyModuleNames.Add("OrreryTerrainEditor");- Type
- Editor
Authoring/OrreryTerrainBake.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/OrreryTerrainBake.h"
- FOrreryTerrainBakeOptions struct
How
UOrreryTerrainBake::BakeAuthoringbakes. - FOrreryTerrainBakeReport struct
What a bake did, or why it refused.
- UOrreryTerrainBake class
Bakes a terrain's authoring layer into a new tile store.
Authoring/OrreryTerrainBakeCommandlet.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/OrreryTerrainBakeCommandlet.h"
- UOrreryTerrainBakeCommandlet class
UnrealEditor-Cmd <project> -run=OrreryTerrainBake -Map=<maps> [-Check] [-MaxResidentTiles=N] [-Workers=N]
Factories/OrreryTerrainFactories.h
ExperimentalThe 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/OrreryTerrainFactories.h"
- UOrreryTerrainHeightmapImportSettings class
What the heightmap import asks when the heightmap has no sidecar to say it: the scale and the extent (Tier 3, editor only).
- UOrreryTerrainGeoTiffImportSettings class
What the GeoTIFF import asks: how much to thin, and the placement a file without georeferencing lacks (Tier 3, editor only).
- UOrreryTerrainHeightmapFactory class
Create a terrain tile store from a 16-bit PNG or RAW16 heightmap, picked from the Content Browser's Add menu.
- UOrreryTerrainGeoTiffFactory class
Import a GeoTIFF DEM dropped into the Content Browser as a terrain tile store.
Follow/OrreryTerrainEditorFollow.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/OrreryTerrainEditorFollow.h"
- FOrreryTerrainFollowEdit struct
The ground an editor edit started from, which the follow measures every instance against.
- FOrreryTerrainEditorFollowStats struct
What the follow of the last editor edit did: for the tests, the captures and the cost measurement.
- UOrreryTerrainEditorFollowSubsystem class
Makes placed foliage, instanced meshes tagged
OrreryTerrain.Followand actors with a Terrain Ground Follow component follow the terrain mode's edits in an editor world (UOrreryTerrainFollowSubsystemcovers game and PIE worlds).
Mode/OrreryTerrainEdExtensionV1.h
Version 1 of the terrain editor mode's extension contract.
#include "Mode/OrreryTerrainEdExtensionV1.h"
- FOrreryTerrainBrushDab struct
One brush dab handed to a brush target, in world space.
- IOrreryTerrainBrushTarget class
What a brush edits.
- FOrreryTerrainEdToolDesc struct
A tool the mode lists in a palette.
- FOrreryTerrainEdActionDesc struct
An action (a button that runs code rather than starting a tool): Bake, New, a climate spin-up.
- EOrreryTerrainEdLayerKind enum
What a layer in the layer panel is.
- FOrreryTerrainEdLayerDesc struct
A row in the layer panel, listed in composition order.
- IOrreryTerrainEdExtensionV1 class
What an extension returns.
Mode/OrreryTerrainEdExtensionV2.h
ExperimentalVersion 2 of the terrain editor mode's extension contract: brush targets that receive the brush mask.
#include "Mode/OrreryTerrainEdExtensionV2.h"
- FOrreryTerrainBrushDabV2 struct
One brush dab handed to a V2 brush target, in world space: the V1 fields, plus the brush mask and how the kernel places it.
- IOrreryTerrainBrushTargetV2 class
What a V2 brush target edits:
IOrreryTerrainBrushTargetwith dabs that carry the mask. - IOrreryTerrainEdExtensionV2 class
What a V2 extension returns.
Mode/OrreryTerrainEdMode.h
The terrain editor mode: a UEdMode on the Interactive Tools Framework whose palettes, tools and actions all come from FOrreryTerrainEdRegistry.
#include "Mode/OrreryTerrainEdMode.h"
- UOrreryTerrainEdMode class
Editor mode "Terrain (Orrery)".
Mode/OrreryTerrainEdRegistry.h
The open registry of the terrain editor mode: palettes, tools, actions, layers and brush targets.
#include "Mode/OrreryTerrainEdRegistry.h"
- FOrreryTerrainEdPaletteDesc struct
A palette (a group of buttons) of the mode's toolbar.
- FOrreryTerrainEdRegistry class
Where the mode's palettes, tools, actions, layers and brush targets come from.
OrreryTerrainDemImport.h
Editor-only importer of a GeoTIFF DEM, or a mosaic of GeoTIFFs on one grid, into a tile store.
#include "OrreryTerrainDemImport.h"
- FOrreryDemImportOptions struct
Settings of one DEM import: the heightmap import's (mip depth, memory budget, compression) and the DEM's own.
- FOrreryDemImportReport struct
What a DEM import did, or why it refused.
- UOrreryTerrainDemImport class
Imports GeoTIFF DEMs into a tile store (editor only).
OrreryTerrainEditorLibrary.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 "OrreryTerrainEditorLibrary.h"
- EOrreryTerrainEditorBrush enum
The brush tools of the editor mode's palette, by their tool ids.
- FOrreryTerrainEditorStroke struct
One brush stroke as a script states it: the tool, its settings as the tool's details panel shows them, and the cursor's path over the ground.
- FOrreryTerrainEditorStrokeResult struct
What ApplyEditorStroke did.
- FOrreryTerrainEditorFeatureResult struct
What PlacePlate or PlaceCorridor did.
- FOrreryTerrainEditorNewResult struct
What NewTerrain did.
- UOrreryTerrainEditorLibrary class
The terrain editor's scripting API (Python: unreal.OrreryTerrainEditorLibrary).
OrreryTerrainEditorSettings.h
Settings of the terrain editor mode: the author's per-user mode settings and the project-wide editor settings.
#include "OrreryTerrainEditorSettings.h"
- UOrreryTerrainEdModeSettings class
The mode's per-user settings, saved to EditorPerProjectUserSettings when the mode exits and loaded when it is entered.
- EOrreryTerrainUnbakedCook enum
What the cook does with a map that still holds an unbaked authoring layer.
- UOrreryTerrainEditorSettings class
Project Settings, Plugins, Orrery Terrain Editor.
OrreryTerrainHeightmapImport.h
Editor-only importer of a 16-bit PNG or RAW16 heightmap with a JSON sidecar into a tile store.
#include "OrreryTerrainHeightmapImport.h"
- EOrreryHeightmapRasterKind enum
What the importer reads besides the heights.
- FOrreryHeightmapSidecar struct
The sidecar of a heightmap, decoded and checked.
- FOrreryHeightmapImportOptions struct
Settings of one import.
- FOrreryHeightmapImportReport struct
What an import did, or why it refused.
- UOrreryTerrainHeightmapImport class
Imports a 16-bit heightmap and its sidecar into a tile store (editor only).
OrreryTerrainImportChecks.h
Map check and cook warnings for tile stores imported from a Landscape that has changed since.
#include "OrreryTerrainImportChecks.h"
- Register function in OrreryTerrainImportChecks
Hook the map check (AOrreryTerrainActor::OnCheckForErrors) and the cook save (FCoreUObjectDelegates::OnObjectPreSave).
- Unregister function in OrreryTerrainImportChecks
Remove the hooks.
- ReportMapCheck function in OrreryTerrainImportChecks
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 OrreryTerrainImportChecks
Log a LogOrreryTerrainShell warning when the store was imported from a Landscape that has changed since.
OrreryTerrainImportLibrary.h
Editor-only Blueprint library that fills heightmap source assets from 16-bit RAW files.
#include "OrreryTerrainImportLibrary.h"
- UOrreryTerrainImportLibrary class
Editor-side importers for terrain source assets (Tier 3, editor only).
OrreryTerrainImportResult.h
Result of an importer's Python and Blueprint entry: success flag plus the report line.
#include "OrreryTerrainImportResult.h"
- FOrreryTerrainImportResult struct
What an importer's scripting entry returns.
OrreryTerrainLandscapeImport.h
Editor-only importer of a Landscape's final heightmap and paint layers into a tile store.
#include "OrreryTerrainLandscapeImport.h"
- FOrreryLandscapeImportOptions struct
Settings of one Landscape import.
- FOrreryLandscapeImportErrorRow struct
The height error of the level-0 tiles that share one sample shift, against the exact decode of the Landscape.
- FOrreryLandscapeImportReport struct
What a Landscape import did, or why it refused.
- UOrreryTerrainLandscapeImport class
Imports a Landscape into a tile store (editor only): the final heightmap exactly, and optionally the paint layers.
OrreryTerrainMaterialLibrary.h
Editor-only Blueprint library that creates terrain material wrappers at editor time, since a cooked game cannot.
#include "OrreryTerrainMaterialLibrary.h"
- UOrreryTerrainMaterialLibrary class
Editor-time creation of terrain material wrappers (Tier 3, editor only).
Persist/OrreryTerrainAuthoringSync.h
Keeps each editor terrain's authoring layer (UOrreryTerrainAuthoringData) in step with the live terrain, and checks the cook and the map for unbaked authoring.
#include "Persist/OrreryTerrainAuthoringSync.h"
- FOrreryTerrainAuthoringSync 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/OrreryTerrainSplineFeatureEditorSubsystem.h
ExperimentalThe 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/OrreryTerrainSplineFeatureEditorSubsystem.h"
- FOrreryTerrainSplineFeatureEditorStats struct
What the spline feature subsystem has done since its counters were last reset: for tests and the HUD.
- UOrreryTerrainSplineFeatureEditorSubsystem class
Keeps the spline features of the editor world in step with their splines.
Tools/OrreryTerrainBrushPalette.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/OrreryTerrainBrushPalette.h"
- EOrreryTerrainMaskFootprint enum
Where a masked brush writes.
- UOrreryTerrainBrushMaskProperties class
The brush mask a brush, paint or Stamp tool applies, kept per user and shared by those tools.
- UOrreryTerrainStampMaskProperties 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.
- FOrreryTerrainBrushPaletteEntry 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 OrreryTerrainBrushPalette
The brush sets the palette lists, in order: every
UOrreryTerrainBrushSetunder kStarterFolder (by name), then Project Settings > Orrery Terrain Editor > Brush Sets in their order; missing and repeated sets are skipped. - CollectEntries function in OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
The registered extension brush targets (V1 and V2), by id: the picker's rows.
- SetExtensionTarget function in OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
The options a tool's mask settings ask Import for; Usage is Height in the Stamp tool.
- MakeBrushFromTexture function in OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
The first texture selected in the Content Browser (or in the editor's object selection), or null.
- ImportSelectedTexture function in OrreryTerrainBrushPalette
Import: bake a new brush asset of the selected texture beside it (
BM_<Texture>, a unique name), dirty and not saved. - GetThumbnail function in OrreryTerrainBrushPalette
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 OrreryTerrainBrushPalette
Register the details customization that shows the palette, and keep the thumbnails.
- Shutdown function in OrreryTerrainBrushPalette
Tools/OrreryTerrainBrushStroke.h
One brush stroke of the terrain editor, from press to release, without a viewport.
#include "Tools/OrreryTerrainBrushStroke.h"
- FOrreryTerrainBrushStroke class
Drives a brush target from a cursor timeline: the stepper turns the cursor into steps, each step becomes one dab.
Tools/OrreryTerrainBrushTool.h
The terrain editor mode's brush tool: Sculpt, Smooth and Flatten, Paint, Ground class and Holes; *.
#include "Tools/OrreryTerrainBrushTool.h"
- EOrreryTerrainFlattenTarget enum
Where Flatten takes its target height.
- EOrreryTerrainPaintTarget enum
What a paint tool writes.
- UOrreryTerrainPaintProperties class
The paint tools' settings (Paint, Ground class, Holes), kept per user.
- UOrreryTerrainBrushToolProperties class
The brush tool's settings, shared by every brush tool and kept per user.
- UOrreryTerrainBrushToolBuilder class
Builds the brush tool of one kind.
- UOrreryTerrainBrushTool class
One class for every brush: a click-drag stroke on the analytic ground, with a preview ring and a HUD.
Tools/OrreryTerrainExtFeed.h
ExperimentalDrives the extension brush targets beside a built-in stroke or stamp.
#include "Tools/OrreryTerrainExtFeed.h"
- FOrreryTerrainExtFeed class
Sends the dabs of a stroke or stamp to the extension brush targets the author listed, and keeps their undo records.
Tools/OrreryTerrainFeaturePlacement.h
One editor feature commit that waits for the ground its bake reads.
#include "Tools/OrreryTerrainFeaturePlacement.h"
- EOrreryTerrainPlacementState enum
Where an
FOrreryTerrainFeaturePlacementstands. - FOrreryTerrainFeaturePlacement class
Commit an editor feature (an add, or a replace in place when its Id is set) or remove one, as soon as the terrain can take it, without blocking.
Tools/OrreryTerrainFeatureTools.h
The terrain editor mode's feature tools: Plate, Corridor and the feature list.
#include "Tools/OrreryTerrainFeatureTools.h"
- EOrreryTerrainFeatureTool enum
Which feature tool a builder makes.
- EOrreryTerrainPlateHeight enum
Where a plate's top height comes from.
- EOrreryTerrainCorridorPath enum
Where a corridor's centreline comes from.
- UOrreryTerrainPlateToolProperties class
The Plate tool's settings, kept per user.
- UOrreryTerrainCorridorToolProperties class
The Corridor tool's settings, kept per user.
- UOrreryTerrainFeatureListProperties class
The feature list: every feature the editor authored (owner domain 'TSED'), and the one selected.
- UOrreryTerrainFeatureEditProperties class
The selected feature's parameters.
- UOrreryTerrainFeatureToolBuilder class
Builds one feature tool.
- UOrreryTerrainFeatureToolBase class
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).
- UOrreryTerrainPlateTool class
Plate: click the polygon's vertices on the ground; Enter commits, Backspace takes the last vertex back, Esc cancels.
- UOrreryTerrainCorridorTool class
Corridor: two clicks give a straight centreline (the third click starts again), or Use Selected Spline samples the selected actor's spline.
- UOrreryTerrainFeatureListTool class
Features: lists the features the editor authored, highlights the selected one (picked in the list or by a click on its footprint), replaces it with edited parameters or removes it.
Tools/OrreryTerrainMaskPreview.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/OrreryTerrainMaskPreview.h"
- FOrreryTerrainMaskContourCache 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.
- FOrreryTerrainStampGhost 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/OrreryTerrainNewTerrain.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/OrreryTerrainNewTerrain.h"
- FOrreryTerrainNewEstimate struct
What the preview panel shows before anything is created.
- FOrreryTerrainNewResult struct
What Create did.
- FOrreryTerrainNewSourceFlow struct
One source kind of Manage, New: Flat, Procedural, Heightmap, DEM, and Landscape.
- FOrreryTerrainNewSourceRegistry class
The registered source kinds.
- Estimate function in OrreryTerrainNewTerrain
The preview for the properties' kind.
- Create function in OrreryTerrainNewTerrain
Create a terrain in World, or replace the source of the world's terrain (one terrain per world).
- RegisterBuiltInFlows function in OrreryTerrainNewTerrain
Register Flat, Procedural, Heightmap, DEM and Landscape; called by the module at startup.
- UnregisterBuiltInFlows function in OrreryTerrainNewTerrain
Unregister them; called at shutdown.
Tools/OrreryTerrainNewTerrainTool.h
Manage, New: the property set, builder and tool of the new-terrain flow.
#include "Tools/OrreryTerrainNewTerrainTool.h"
- UOrreryTerrainNewTerrainProperties class
The fields of Manage, New.
- UOrreryTerrainNewTerrainToolBuilder class
Builds the New tool.
- UOrreryTerrainNewTerrainTool class
Manage, New.
Tools/OrreryTerrainSculptTarget.h
The built-in brush target of the terrain editor mode: heights, paint layers, the ground class and holes.
#include "Tools/OrreryTerrainSculptTarget.h"
- FOrreryTerrainSculptBrushSettings struct
What the target applies with every dab, beside the dab's own position, radius and strength.
- FOrreryTerrainBrushGroundCheck struct
Ground answers around a brush, for the stroke start and the preview.
- FOrreryTerrainSculptHeightTarget class
Edits the sculpt layer (heights, paint layers, the ground class and holes) through the subsystem's stroke calls, under the editor session.
Tools/OrreryTerrainStampHold.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/OrreryTerrainStampHold.h"
- EOrreryTerrainStampHoldState enum
Where an
FOrreryTerrainStampHoldstands. - FOrreryTerrainStampHold class
Apply one height stamp when the terrain can take all of it, without blocking, as exactly one undo record.
Tools/OrreryTerrainStampPreviewMesh.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/OrreryTerrainStampPreviewMesh.h"
- FOrreryTerrainStampWire 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.
- FOrreryTerrainStampMesh 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.
- UOrreryTerrainStampPreviewComponent class
Draws a
FOrreryTerrainStampMesh: 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. - FOrreryTerrainStampPreview class
The Stamp tool's preview: asks a worker for a
FOrreryTerrainStampMeshand itsFOrreryTerrainStampWirewhen the stamp or the ground changes, shows each finished mesh on a transient actor'sUOrreryTerrainStampPreviewComponentand keeps the wire for the tool to draw.
Tools/OrreryTerrainStampTool.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/OrreryTerrainStampTool.h"
- EOrreryTerrainStampBase enum
Where a stamp's base height comes from.
- UOrreryTerrainStampToolProperties class
The Stamp tool's settings, kept per user.
- UOrreryTerrainStampToolBuilder class
Builds the Stamp tool.
- UOrreryTerrainStampTool class
Places height stamps (EBrushKind::Stamp) of the brush mask picked in the palette.
Tools/OrreryTerrainStrokeStepper.h
The stroke stepper of the terrain editor's brush tool.
#include "Tools/OrreryTerrainStrokeStepper.h"
- EOrreryTerrainStrokeSpacing enum
How a stroke's cursor samples become brush steps.
- FOrreryTerrainStepperSettings struct
What the stepper needs to know about the stroke it steps.
- FOrreryTerrainStrokeStepper class
Turns a timeline of cursor positions into brush step positions.