载入中...
搜索中...
未找到
eve::scene_editing::SceneHostEditorTarget类 参考final

Optional live adapter mirroring editor operations into one SceneHost. 更多...

#include <SceneTarget.h>

类 eve::scene_editing::SceneHostEditorTarget 继承关系图:
eve::scene_editing::SceneTargetBase eve::scene_editing::ISceneComponentInspector eve::editing::EditableTargetState eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::editing::IEditingSnapshotProvider eve::scene_editing::ISceneHierarchyEditTarget eve::scene_editing::ITransformEditTarget eve::editing::IEditableTarget eve::editing::IEditableTarget

Public 成员函数

 SceneHostEditorTarget (std::string id, scene::SceneHost *host)
 Import a host using a generation handle.
 
Result< void > applyDomainOperation (const DomainOperation &operation) override
 Applies domain operation.
 
void * queryCapability (const CapabilityId &capability) override
 Query an optional target capability.
 
std::unique_ptr< IDomainOperationTarget > cloneDomainState () const override
 Clones domain state.
 
Result< void > commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override
 Commits domain state.
 
scene::SceneHost * host () const
 Compatibility-only pointer projection of the generation-checked host.
 
Result< std::vector< SceneComponentLinkSnapshot > > componentLinks (const ObjectId &object) const override
 Enumerate safe link metadata without exposing runtime pointers.
 
- Public 成员函数 继承自 eve::scene_editing::SceneTargetBase
 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.
 
- Public 成员函数 继承自 eve::scene_editing::ISceneComponentInspector
virtual ~ISceneComponentInspector ()=default
 Releases ISceneComponentInspector resources.
 

额外继承的成员函数

- 静态 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.
 
- 静态 Public 成员函数 继承自 eve::scene_editing::ISceneComponentInspector
static CapabilityId editorCapabilityId ()
 Stable capability id for component/link metadata inspection.
 
- Protected 成员函数 继承自 eve::editing::EditableTargetState
void widenDirty (int x, int y)
 Widen the dirty region without advancing the revision.
 
void widenDirty (const EditRegion &region)
 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 &region)
 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 &region)
 Include a whole region and advance the revision.
 
void markDirty ()
 Mark an unknown area dirty and advance the revision.
 

详细描述

Optional live adapter mirroring editor operations into one SceneHost.

Unlike RuntimeWorldTarget's standalone model, this adapter imports retained nodes and atomically publishes candidate trees while preserving surviving links. @thread Owner thread only. The ECS table must outlive the target; a destroyed host is detected by generation. External host edits require a new session. @reentrancy Publishes a single tree_changed event after commit. Observers see the complete tree; they must not destroy this target during the callback.

在文件 SceneTarget.h 第 193 行定义.

构造及析构函数说明

◆ SceneHostEditorTarget()

eve::scene_editing::SceneHostEditorTarget::SceneHostEditorTarget ( std::string  id,
scene::SceneHost *  host 
)

Import a host using a generation handle.

参数
hostBorrowed for this call, or null for staging.
异常
std::invalid_argumentInvalid host data. @lifetime The ECS table outlives the target; the host itself may be destroyed.

在文件 SceneRuntime.cpp 第 65 行定义.

引用了 eve::scene_editing::SceneTargetBase::applyDomainOperation(), eve::editing::IEditableTarget::clearDirtyRegion(), host(), eve::scene_editing::CreateSceneObjectRequest::id, imported, eve::scene_editing::SceneTargetBase::makeCreate(), node, operation , 以及 request.

成员函数说明

◆ applyDomainOperation()

Result< void > eve::scene_editing::SceneHostEditorTarget::applyDomainOperation ( const DomainOperation &  operation)
overridevirtual

◆ cloneDomainState()

std::unique_ptr< IDomainOperationTarget > eve::scene_editing::SceneHostEditorTarget::cloneDomainState ( ) const
overridevirtual

Clones domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 SceneRuntime.cpp 第 131 行定义.

被这些函数引用 applyDomainOperation().

◆ commitDomainState()

Result< void > eve::scene_editing::SceneHostEditorTarget::commitDomainState ( std::unique_ptr< IDomainOperationTarget >  candidate)
overridevirtual

◆ componentLinks()

Result< std::vector< SceneComponentLinkSnapshot > > eve::scene_editing::SceneHostEditorTarget::componentLinks ( const ObjectId &  object) const
overridevirtual

Enumerate safe link metadata without exposing runtime pointers.

实现了 eve::scene_editing::ISceneComponentInspector.

在文件 SceneRuntime.cpp 第 97 行定义.

引用了 a, alive, eve::scene::LinkOps::alive, b, eve::editing::failed(), host(), eve::scene::linkKindName(), eve::scene::linkOps(), eve::UuidIdAdapter< Tag >::value() , 以及 value.

◆ host()

scene::SceneHost * eve::scene_editing::SceneHostEditorTarget::host ( ) const

Compatibility-only pointer projection of the generation-checked host.

返回
Immediate borrowed pointer, or null for staging/destroyed hosts. @lifetime Do not retain across host destruction, ECS mutation or callbacks.

在文件 SceneRuntime.cpp 第 138 行定义.

被这些函数引用 commitDomainState(), componentLinks() , 以及 SceneHostEditorTarget().

◆ queryCapability()

void * eve::scene_editing::SceneHostEditorTarget::queryCapability ( const CapabilityId &  capability)
override

Query an optional target capability.

返回
Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or mutated.

在文件 SceneRuntime.cpp 第 91 行定义.

引用了 eve::editing::IEditableTarget::capability(), eve::scene_editing::ISceneComponentInspector::editorCapabilityId() , 以及 eve::scene_editing::SceneTargetBase::queryCapability().


该类的文档由以下文件生成: