载入中...
搜索中...
未找到
EditingVolume.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7namespace eve::editing {
8
11 int minX = 0, minY = 0, minZ = 0;
12 int maxX = -1, maxY = -1, maxZ = -1;
14 bool empty() const { return maxX < minX || maxY < minY || maxZ < minZ; }
16 void clear() { *this = {}; }
18 void include(int x, int y, int z);
20 void include(const EditVolume& other);
22 EditRegion xzRegion() const;
23};
24
27public:
29 virtual ~IIntVolumeTarget() = default;
33 return CapabilityId("eve.editing.target.int-volume.v1");
34 }
36 virtual int readInt3(int x, int y, int z) const = 0;
38 [[nodiscard]] virtual FieldWriteStatus writeInt3(int x, int y, int z, int value) = 0;
40 virtual EditVolume dirtyVolume() const = 0;
42 virtual void clearDirtyVolume() = 0;
43};
44
45} // namespace eve::editing
double value
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
#define EVENGINE_API_PLATFORM
Definition Export.h:107
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Stable capability for sparse integer volumes.
virtual FieldWriteStatus writeInt3(int x, int y, int z, int value)=0
Writes int 3.
static CapabilityId editingCapabilityId()
Editing capability id.
virtual void clearDirtyVolume()=0
Clears dirty volume.
virtual EditVolume dirtyVolume() const =0
Dirty volume.
virtual int readInt3(int x, int y, int z) const =0
Reads int 3.
virtual ~IIntVolumeTarget()=default
Releases IIntVolumeTarget resources.
FieldWriteStatus
FieldWriteStatus public API.
StrongId< CapabilityIdTag > CapabilityId
Definition EditingIds.h:61
EditRegion public API.
Integer axis-aligned volume invalidated by a 3D edit.
void clear()
Clears clear.
bool empty() const
Empty.