载入中...
搜索中...
未找到
Editor.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Module.h"
4
5namespace eve {
6namespace graphics {
7class Graphics;
8class Mesh;
9}
10#ifdef EVENGINE_HAS_PROCGEN
11namespace procgen {
12class Heightmap;
13}
14#endif
15} // namespace eve
16
17namespace eve::editor {
18
19class TransformGizmo;
20class GizmoManager;
21class TileBuffer;
22class Brush;
23class EditorToolbar;
24class EditorInspector;
25class EditorDock;
26class EditorHistory;
27
35class Editor : public Module {
36public:
38 Editor() = default;
39 ~Editor() override = default;
40
43
45 Brush *newBrush();
46
51
52#ifdef EVENGINE_HAS_PROCGEN
59 graphics::Mesh *newHeightmapMesh(procgen::Heightmap *hm, float cellSize, float heightScale);
61 bool updateHeightmapMesh(graphics::Mesh *mesh, graphics::Graphics *gfx,
62 procgen::Heightmap *hm, float cellSize, float heightScale);
63#endif
64};
65
66} // namespace eve::editor
float height
Definition Grass.cpp:235
int width
Mesh * mesh
Unity GridBrushBase-inspired tile brush. Operates on TileBuffer; exposes preview + change list for UI...
Definition Brush.h:14
Simple editor chrome regions: left / right / top / bottom / center.
Definition EditorDock.h:9
Undo/redo stack: opaque string actions + optional tile change groups that can apply directly to a Til...
Property sheet descriptors + values (host renders via ui).
Tool strip state for assembling editor chrome with ui.
Editor building blocks — not a shipped 3D/map editor app. Script: editor <- eve.Editor();
Definition Editor.h:35
~Editor() override=default
GizmoManager * newGizmoManager()
Definition Editor.cpp:95
TileBuffer * newTileBuffer(int width, int height)
Definition Editor.cpp:97
EditorHistory * newHistory()
Definition Editor.cpp:107
TransformGizmo * newGizmo()
Definition Editor.cpp:93
Brush * newBrush()
Definition Editor.cpp:99
EditorToolbar * newToolbar()
Definition Editor.cpp:101
EditorInspector * newInspector()
Definition Editor.cpp:103
EditorDock * newDock()
Definition Editor.cpp:105
Babylon.js-style manager: toggles which transform modes are enabled and routes pick/drag to the owned...
Independent GID grid for map brushes (no hard dependency on map.TileLayer).
Definition TileBuffer.h:9
3D transform gizmo (Three.js TransformControls + ImGuizmo style). Owns TRS + optional local bounds; i...
GPU mesh handle (+ optional CPU morph targets).
Definition Mesh.h:18
In-memory terrain heightmap: a dense float grid (row-major, index = y * width + x) materialized from ...
Definition Heightmap.h:19
Definition Build.cpp:11