载入中...
搜索中...
未找到
VoxelWorldTarget.cpp
浏览该文件的文档.
2#include "voxel/VoxelWorld.h"
3
4#include <utility>
5
6namespace eve::voxel_editing {
7
9 : id_(std::move(id)), world_(world) {}
10std::uint64_t VoxelWorldTarget::revision() const { return world_ ? world_->getRevision() : 0; }
19int VoxelWorldTarget::readInt3(int x, int y, int z) const {
20 return world_ ? static_cast<int>(world_->getVoxel(x, y, z)) : 0;
21}
23 if (!world_ || value < 0 || value > 255) return editing::FieldWriteStatus::Rejected;
25 world_->setVoxel(x, y, z, static_cast<uint8_t>(value));
26 dirty_.include(x, y, z);
28}
29
30std::unique_ptr<VoxelWorldTarget> createVoxelWorldTarget(std::string id,
32 return std::make_unique<VoxelWorldTarget>(std::move(id), world);
33}
34
35} // namespace eve::voxel_editing
double value
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
World3D * world
std::string id
Definition PlayHost.cpp:108
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
eve::OptionalRef< C > capability()
Query a capability through its interface-owned stable identity.
Stable capability for sparse integer volumes.
static CapabilityId editingCapabilityId()
Editing capability id.
Sparse chunk map + visibility selection (frustum + distance + face orientation). Meshing is neighbor-...
Definition VoxelWorld.h:60
uint8_t getVoxel(int wx, int wy, int wz) const
World-space voxel get/set. Air (0) never allocates a chunk; a border edit also invalidates the adjace...
void setVoxel(int wx, int wy, int wz, uint8_t texId)
Sets the voxel.
uint64_t getRevision() const
Monotonic content revision incremented by voxel/chunk mutations.
Definition VoxelWorld.h:85
editing::FieldWriteStatus writeInt3(int x, int y, int z, int value) override
Writes int 3.
int readInt3(int x, int y, int z) const override
Reads int 3.
VoxelWorldTarget(std::string id, voxel::VoxelWorld *world)
Voxel world target.
std::uint64_t revision() const override
Revision.
editing::TargetDescriptor describe() const override
Describe.
void * queryCapability(const editing::CapabilityId &capability) override
Query a borrowed capability implemented by this target.
StrongId< TargetIdTag > TargetId
Definition EditingIds.h:57
FieldWriteStatus
FieldWriteStatus public API.
std::unique_ptr< VoxelWorldTarget > createVoxelWorldTarget(std::string id, voxel::VoxelWorld *world)
Create a voxel-world adapter.
void include(int x, int y, int z)
Include.
Stable discovery metadata exposed by every editable target.