Shared in-memory scene target implementation for document/runtime adapters. 更多...
#include <SceneTarget.h>
Public 成员函数 | |
| SceneTargetBase (std::string id, std::string type) | |
| Scene target base. | |
| ~SceneTargetBase () override=default | |
| Scene target base. | |
| TargetId | targetId () const override |
| Target id. | |
| TargetDescriptor | describe () const override |
| Describe. | |
| void * | queryCapability (const CapabilityId &capability) override |
| Queries capability. | |
| Result< void > | applyDomainOperation (const DomainOperation &operation) override |
| Applies domain operation. | |
| std::unique_ptr< IDomainOperationTarget > | cloneDomainState () const override |
| Clones domain state. | |
| Result< void > | commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override |
| Commits domain state. | |
| Result< SceneObjectSnapshot > | sceneObject (const ObjectId &id) const override |
| Scene object. | |
| std::vector< ObjectId > | sceneChildren (const ObjectId &parent) const override |
| Scene children. | |
| Result< DomainOperation > | makeCreate (const CreateSceneObjectRequest &request) const override |
| Make create. | |
| Result< DomainOperation > | makeDelete (const ObjectId &id) const override |
| Make delete. | |
| Result< DomainOperation > | makeRename (const ObjectId &id, const std::string &name) const override |
| Make rename. | |
| Result< DomainOperation > | makeReparent (const ObjectId &id, const ObjectId &parent) const override |
| Make reparent. | |
| Result< SceneTransformValue > | readTransform (const ObjectId &id) const override |
| Reads transform. | |
| Result< DomainOperation > | makeSetTransform (const ObjectId &id, const SceneTransformValue &transform) const override |
| Make set transform. | |
| void | bindComponentPayloads (SceneComponentPayloadRegistry *registry) |
| Bind an optional non-owning registry used by component inspectors. | |
| EditorValue | snapshotValue () const override |
| Capture deterministic scene content for document persistence. | |
| Result< DomainOperation > | makeRestore (const EditorValue &snapshot) const |
| Plan atomic replacement of hierarchy/TRS from a versioned snapshot. | |
Public 成员函数 继承自 eve::editing::EditableTargetState | |
| EditableTargetState (Revision initial=1) | |
| Constructs the shared state with an explicit initial revision. | |
| EditRegion | dirtyRegion () const override |
| Return the accumulated dirty region. | |
| void | clearDirtyRegion () override |
| Discard the dirty region; the revision does not change. | |
| std::uint64_t | revision () const override |
| Return the current revision. | |
| Revision | revisionValue () const noexcept |
| Return the revision as the shared protocol revision type. | |
Public 成员函数 继承自 eve::editing::IEditableTarget | |
| virtual | ~IEditableTarget ()=default |
| Releases IEditableTarget resources. | |
| virtual void * | queryCapability (const CapabilityId &capability) |
| Query an optional stable capability. | |
| template<class C > | |
| eve::OptionalRef< C > | capability () |
| Query a capability through its interface-owned stable identity. | |
| template<class C > | |
| eve::OptionalRef< const C > | capability () const |
| Capability. | |
| template<class C > | |
| C * | query () |
| Queries query. | |
| template<class C > | |
| const C * | query () const |
| Queries query. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTarget | |
| ~IDomainOperationTarget () override=default | |
| Releases IDomainOperationTarget resources. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging | |
| virtual | ~IDomainOperationTargetStaging ()=default |
| Releases IDomainOperationTargetStaging resources. | |
Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider | |
| virtual | ~IEditingSnapshotProvider ()=default |
| Releases IEditingSnapshotProvider resources. | |
Public 成员函数 继承自 eve::scene_editing::ISceneHierarchyEditTarget | |
| virtual | ~ISceneHierarchyEditTarget ()=default |
| Releases ISceneHierarchyEditTarget resources. | |
Public 成员函数 继承自 eve::scene_editing::ITransformEditTarget | |
| virtual | ~ITransformEditTarget ()=default |
| Releases ITransformEditTarget resources. | |
| virtual editing::Result< SceneTransformValue > | readTransform (const editing::ObjectId &id) const =0 |
| Reads transform. | |
| virtual editing::Result< editing::DomainOperation > | makeSetTransform (const editing::ObjectId &id, const SceneTransformValue &transform) const =0 |
| Make set transform. | |
友元 | |
| class | ScenePropertyProvider |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider | |
| static CapabilityId | editingCapabilityId () |
| Stable capability identity shared by every editable domain target. | |
静态 Public 成员函数 继承自 eve::scene_editing::ISceneHierarchyEditTarget | |
| static CapabilityId | editorCapabilityId () |
| Stable capability identity used instead of cross-module RTTI. | |
静态 Public 成员函数 继承自 eve::scene_editing::ITransformEditTarget | |
| static editing::CapabilityId | editingCapabilityId () |
| Editing capability id. | |
| static editing::CapabilityId | editorCapabilityId () |
| Compatibility spelling retained for existing editor tools. | |
Protected 成员函数 继承自 eve::editing::EditableTargetState | |
| void | widenDirty (int x, int y) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty (const EditRegion ®ion) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty () |
| Mark an unknown area dirty without advancing the revision. | |
| void | bumpRevision () |
| Advance the revision without touching the dirty region. | |
| void | setRevision (Revision revision) |
| Adopt a revision observed elsewhere, without advancing it. | |
| void | setDirtyRegion (const EditRegion ®ion) |
| Replace the dirty region wholesale, without advancing the revision. | |
| void | markDirty (int x, int y) |
| Include one cell in the dirty region and advance the revision. | |
| void | markDirty (const EditRegion ®ion) |
| Include a whole region and advance the revision. | |
| void | markDirty () |
| Mark an unknown area dirty and advance the revision. | |
详细描述
Shared in-memory scene target implementation for document/runtime adapters.
Concrete subclasses differ only in host-facing target type. The mutation protocol and capabilities stay identical so tools contain no backend branch.
在文件 SceneTarget.h 第 80 行定义.
构造及析构函数说明
◆ SceneTargetBase()
| eve::scene_editing::SceneTargetBase::SceneTargetBase | ( | std::string | id, |
| std::string | type | ||
| ) |
Scene target base.
在文件 SceneTarget.cpp 第 21 行定义.
◆ ~SceneTargetBase()
|
overridedefault |
Scene target base.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Applies domain operation.
实现了 eve::editing::IDomainOperationTarget.
在文件 SceneTarget.cpp 第 47 行定义.
引用了 eve::editing::EditableTargetState::bumpRevision(), entries, eve::Result< T >::failure(), eve::editing::Value::getIf(), name, node, object, eve::Result< T >::ok(), operation, parent, eve::Result< T >::status(), eve::Result< T >::value(), eve::UuidIdAdapter< Tag >::value() , 以及 eve::editing::EditableTargetState::widenDirty().
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::applyDomainOperation() , 以及 eve::scene_editing::SceneHostEditorTarget::SceneHostEditorTarget().
◆ bindComponentPayloads()
|
inline |
Bind an optional non-owning registry used by component inspectors.
在文件 SceneTarget.h 第 125 行定义.
◆ cloneDomainState()
|
overridevirtual |
Clones domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 SceneTarget.cpp 第 162 行定义.
◆ commitDomainState()
|
overridevirtual |
Commits domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 SceneTarget.cpp 第 166 行定义.
引用了 eve::editing::EditableTargetState::setDirtyRegion() , 以及 eve::editing::EditableTargetState::setRevision().
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::commitDomainState().
◆ describe()
|
overridevirtual |
Describe.
重载 eve::editing::IEditableTarget .
在文件 SceneTarget.cpp 第 23 行定义.
引用了 descriptor, eve::editing::IEditingSnapshotProvider::editingCapabilityId(), eve::scene_editing::ITransformEditTarget::editingCapabilityId(), eve::scene_editing::ISceneComponentPayloadTarget::editorCapabilityId(), eve::scene_editing::ISceneHierarchyEditTarget::editorCapabilityId(), eve::editing::TargetDescriptor::id , 以及 eve::editing::EditableTargetState::revisionValue().
◆ makeCreate()
|
overridevirtual |
Make create.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 193 行定义.
引用了 eve::Result< T >::failure(), eve::scene_editing::SceneObjectSnapshot::id, operation, request, eve::editing::DomainOperation::type , 以及 eve::UuidIdAdapter< Tag >::value().
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::SceneHostEditorTarget().
◆ makeDelete()
|
overridevirtual |
Make delete.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 220 行定义.
引用了 object, operation, sceneChildren(), eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ makeRename()
|
overridevirtual |
Make rename.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 239 行定义.
引用了 name, object, operation, payload, eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ makeReparent()
|
overridevirtual |
Make reparent.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 265 行定义.
引用了 node, object, operation, parent, payload, eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ makeRestore()
| Result< DomainOperation > eve::scene_editing::SceneTargetBase::makeRestore | ( | const EditorValue & | snapshot | ) | const |
Plan atomic replacement of hierarchy/TRS from a versioned snapshot.
- 参数
-
snapshot Owning data input, borrowed only for this call. Schema 1 is accepted; unknown fields are rejected. Runtime links and component assets are not serialized.
- 返回
- Reversible operation, or validation failure without mutation. @thread Owner thread only. No callbacks; the operation owns all input data.
在文件 SceneSnapshot.cpp 第 71 行定义.
引用了 eve::Result< T >::failure(), operation, snapshotValue(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSetTransform()
|
override |
Make set transform.
在文件 SceneTarget.cpp 第 305 行定义.
引用了 eve::Result< T >::failure(), object, operation, payload, eve::editing::DomainOperation::type, eve::UuidIdAdapter< Tag >::value() , 以及 value.
◆ queryCapability()
|
override |
Queries capability.
- 返回
- Borrowed non-owning capability pointer, or null. @lifetime Valid until this target is mutated or destroyed.
在文件 SceneTarget.cpp 第 36 行定义.
引用了 eve::editing::IEditableTarget::capability(), eve::editing::IEditingSnapshotProvider::editingCapabilityId(), eve::scene_editing::ITransformEditTarget::editingCapabilityId(), eve::scene_editing::ISceneComponentPayloadTarget::editorCapabilityId() , 以及 eve::scene_editing::ISceneHierarchyEditTarget::editorCapabilityId().
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::queryCapability().
◆ readTransform()
|
override |
Reads transform.
在文件 SceneTarget.cpp 第 299 行定义.
引用了 eve::Result< T >::failure(), ok, sceneObject(), status , 以及 value.
被这些函数引用 eve::scene_editing::ScenePropertyProvider::makeSet() , 以及 eve::scene_editing::ScenePropertyProvider::read().
◆ sceneChildren()
|
overridevirtual |
Scene children.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 186 行定义.
被这些函数引用 makeDelete().
◆ sceneObject()
|
overridevirtual |
Scene object.
实现了 eve::scene_editing::ISceneHierarchyEditTarget.
在文件 SceneTarget.cpp 第 177 行定义.
被这些函数引用 readTransform().
◆ snapshotValue()
|
overridevirtual |
Capture deterministic scene content for document persistence.
实现了 eve::editing::IEditingSnapshotProvider.
在文件 SceneTarget.cpp 第 331 行定义.
引用了 scene.
被这些函数引用 makeRestore().
◆ targetId()
|
inlineoverridevirtual |
友元及相关函数文档
◆ ScenePropertyProvider
|
friend |
在文件 SceneTarget.h 第 141 行定义.
该类的文档由以下文件生成:
- src/modules/scene/editing/SceneTarget.h
- src/modules/scene/editing/SceneSnapshot.cpp
- src/modules/scene/editing/SceneTarget.cpp
Public 成员函数 继承自