Owning, pointer-free spline-to-transform binder with atomic document refresh. 更多...
#include <SplinePathBinder.h>
Public 成员函数 | |
| SplinePathBinder (std::string documentTarget) | |
| Construct a binder pinned to one spline document target identity. | |
| Result< void > | bindResult (const SplinePathDocument &document, const StableId &point, std::string host, std::string object, const ISplineBindingTransformSource &source) |
| Validate and atomically install or replace one point binding. | |
| Result< void > | unbindResult (const StableId &point) |
| Remove one binding without touching its spline point. | |
| Result< void > | refreshResult (SplinePathDocument &document, const ISplineBindingTransformSource &source) const |
| Resolve every link, then commit all point positions as one isolated document update. | |
| std::vector< SplinePointBinding > | bindings () const |
| Return deterministic bindings ordered by stable point id. | |
| EditorValue | snapshotValue () const |
Capture schema eve.procgen.splineBinder version one. | |
| Result< void > | loadSnapshot (const EditorValue &snapshot) |
| Atomically restore links for this binder's pinned target. | |
详细描述
Owning, pointer-free spline-to-transform binder with atomic document refresh.
The binder owns stable link identities but neither the spline document nor transform source. Callers pass both to each operation, so destroying either first cannot leave a retained pointer. Missing sources produce StaleHandle without changing the document or discarding the link, allowing the same binding snapshot to rebuild after scene reload.
在文件 SplinePathBinder.h 第 58 行定义.
构造及析构函数说明
◆ SplinePathBinder()
|
explicit |
Construct a binder pinned to one spline document target identity.
在文件 SplinePathBinder.cpp 第 40 行定义.
成员函数说明
◆ bindings()
| std::vector< SplinePointBinding > eve::procgen_editing::SplinePathBinder::bindings | ( | ) | const |
Return deterministic bindings ordered by stable point id.
在文件 SplinePathBinder.cpp 第 105 行定义.
引用了 binding.
被这些函数引用 snapshotValue().
◆ bindResult()
| Result< void > eve::procgen_editing::SplinePathBinder::bindResult | ( | const SplinePathDocument & | document, |
| const StableId & | point, | ||
| std::string | host, | ||
| std::string | object, | ||
| const ISplineBindingTransformSource & | source | ||
| ) |
Validate and atomically install or replace one point binding.
在文件 SplinePathBinder.cpp 第 42 行定义.
引用了 host, point, points, eve::procgen_editing::SplinePathDocument::points(), source, eve::procgen_editing::SplinePathDocument::targetId(), eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ loadSnapshot()
| Result< void > eve::procgen_editing::SplinePathBinder::loadSnapshot | ( | const EditorValue & | snapshot | ) |
Atomically restore links for this binder's pinned target.
在文件 SplinePathBinder.cpp 第 127 行定义.
引用了 eve::procgen_editing::detail::field(), host, object, point, second, value , 以及 values.
◆ refreshResult()
| Result< void > eve::procgen_editing::SplinePathBinder::refreshResult | ( | SplinePathDocument & | document, |
| const ISplineBindingTransformSource & | source | ||
| ) | const |
Resolve every link, then commit all point positions as one isolated document update.
在文件 SplinePathBinder.cpp 第 71 行定义.
引用了 eve::editing::applied(), binding, eve::procgen_editing::SplinePathDocument::commitDomainState(), found, operation, points, eve::procgen_editing::SplinePathDocument::points(), pose, source, eve::procgen_editing::SplinePathDocument::targetId(), updated, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ snapshotValue()
| EditorValue eve::procgen_editing::SplinePathBinder::snapshotValue | ( | ) | const |
Capture schema eve.procgen.splineBinder version one.
在文件 SplinePathBinder.cpp 第 115 行定义.
引用了 binding , 以及 bindings().
◆ unbindResult()
该类的文档由以下文件生成:
- src/modules/procgen/editing/SplinePathBinder.h
- src/modules/procgen/editing/SplinePathBinder.cpp