Orrery Terrain · OrreryTerrainEditor module · struct
FOrreryTerrainStampMesh
Editor onlyOne 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.
Declaration
struct FOrreryTerrainStampMesh- Header
#include "Tools/OrreryTerrainStampPreviewMesh.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
- Any thread once published.
Description
Immutable once built; the game thread and the render thread share it.
Vertex (I, J) lies at Origin_cm + (I, J) × Spacing_cm, its Z the result relative to Origin_cm.Z. Triangles (Indices) cover the cells where the stamp changes the ground; they are tinted cyan where it raises and orange where it cuts, lit through the result's normals, and fade out where the change is under a few decimetres, so unchanged ground is not covered. The cells with a vertex the stamp cuts (Cut) are listed again in CutIndices: the component draws them a second time through the ground (kCutMaterialPath), where the first pass is hidden. A wire-only build (no points to spare, or the mesh hidden after a click) has Width 0 and a Wire.
Any thread once published. Tier 3.
Functions
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
Serial | uint64 | 0 | The request this answers ( |
Revision | uint64 | 0 | The ground snapshot's revision. |
Width | int32 | 0 | Vertices per row; 0 when the stamp has no grid. |
Height | int32 | 0 | Rows of vertices. |
Stride | int32 | 0 | Edit posts between vertices, a power of two (1 at the edit cell). |
Cell_ | int64 | 0 | The terrain's edit cell. |
Origin | int64 | 0 | Post index of vertex column 0. |
Origin | int64 | 0 | Post index of vertex row 0. |
Spacing_ | double | 0.0 | World cm between vertices. |
Origin_ | FVector | FVector:: | World position of vertex (0, 0) at the stamp's base height. |
Positions | TArray< | — | Width × Height, row-major (J the row), cm relative to Origin_cm. |
Normals | TArray< | — | The result's normals, per vertex. |
Gpu | TShared | — | The tangent basis, packed on the worker; the render thread copies it whole. |
Colors | TArray< | — | The tint, alpha the opacity; linear. |
Ground_ | TArray< | — | The sampled ground per vertex (the stamp's base where there is none). |
Result_ | TArray< | — | The stamp's result per vertex, the kernel's millimetres. |
Inside | TArray< | — | 1 where the stamp writes and the terrain has ground. |
Cut | TArray< | — | 1 where the vertex is inside and the result lies below the ground (MarkStampPreviewCuts). |
Indices | TArray< | — | Triangle list over the cells the stamp changes. |
Cut | TArray< | — | Triangle list over those of them with a vertex in Cut: drawn again through the ground. |
Local | FBox3f | FBox3f(Force | Bounds of every vertex, relative to Origin_cm. |
Inside | int32 | 0 | Vertices inside. |
Cut | int32 | 0 | Vertices in Cut. |
b | bool | false | Every vertex's ground answered Exact. |
Build | double | 0.0 | Worker milliseconds: sampling, evaluation and the mesh, the wire included. |
Wire | TShared | — | The wire ghost over the same snapshot; null when the stamp has no preview. |