载入中...
搜索中...
未找到
SnowFieldTarget.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7#include <string>
8
9namespace eve::weather {
10class SnowField;
11}
12
13namespace eve::lighting_editing {
14
18public:
20 SnowFieldTarget(std::string id, weather::SnowField* field);
22 editing::TargetId targetId() const override { return editing::TargetId(id_); }
24 std::uint64_t revision() const override { return revision_; }
26 editing::EditRegion dirtyRegion() const override { return dirty_; }
28 void clearDirtyRegion() override { dirty_.clear(); }
30 int width() const override;
32 int height() const override;
34 bool containsCell(int x, int y) const override;
36 float readScalar(int x, int y) const override;
38 editing::FieldWriteStatus writeScalar(int x, int y, float value) override;
40 float sampleScalar(float x, float y) const override;
45 weather::SnowField* field() const { return field_; }
46
47private:
48 std::string id_;
49 weather::SnowField* field_ = nullptr;
50 unsigned long long revision_ = 1;
52};
53
54} // namespace eve::lighting_editing
double value
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
std::uint32_t height
std::uint32_t width
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
IEditableTarget public API.
IScalarFieldTarget public API.
Non-owning scalar-field adapter for a live interactive snow field.
editing::TargetId targetId() const override
Target id.
void clearDirtyRegion() override
Clears dirty region.
std::uint64_t revision() const override
Revision.
weather::SnowField * field() const
Return the borrowed live field.
editing::EditRegion dirtyRegion() const override
Dirty region.
Interactive snow depth field: a dense [0,1] float grid.
Definition SnowField.h:21
FieldWriteStatus
FieldWriteStatus public API.
EditRegion public API.