载入中...
搜索中...
未找到
eve::material_editing::MaterialBatchTarget类 参考final

One editor transaction target for mixed-value, multi-material property editing. Owns all authoring documents and publishes a complete candidate set through one atomic sink call. 更多...

#include <MaterialBatchTarget.h>

类 eve::material_editing::MaterialBatchTarget 继承关系图:
eve::editing::EditableTargetState eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::editing::IPropertyProvider eve::editing::IEditingSnapshotProvider eve::editing::IEditableTarget eve::editing::IEditableTarget

Public 成员函数

 MaterialBatchTarget (std::string id, std::vector< MaterialDocumentTarget > materials, IMaterialBatchRuntimeSink *sink=nullptr)
 Construct a batch from uniquely identified owning documents.
 
TargetId targetId () const override
 Target id.
 
TargetDescriptor describe () const override
 Describe.
 
void * queryCapability (const CapabilityId &capability) override
 Query property or snapshot capabilities.
 
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.
 
eve::Result< eve::Revision > currentRevision (const SelectionSnapshot &selection) const override
 Current revision.
 
PropertySchema schema (const SelectionSnapshot &selection) const override
 Schema.
 
PropertyReadResult read (const SelectionSnapshot &selection, const PropertyPath &path) const override
 Reads .
 
Result< DomainOperation > makeSet (const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override
 Make set.
 
Result< DomainOperation > makeReset (const SelectionSnapshot &selection, const PropertyPath &path) const override
 Make reset.
 
EditorValue snapshotValue () const override
 Snapshot value.
 
std::vector< editing::StableId > materialIds () const
 Return owning material IDs in batch order.
 
- 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::IPropertyProvider
virtual ~IPropertyProvider ()=default
 Releases IPropertyProvider resources.
 
virtual Result< DomainOperation > makeSet (const SelectionSnapshot &selection, const PropertyPath &path, const Value &value, PropertySetMode mode) const =0
 Make set.
 
- Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider
virtual ~IEditingSnapshotProvider ()=default
 Releases IEditingSnapshotProvider resources.
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 eve::editing::IPropertyProvider
static CapabilityId editingCapabilityId ()
 Stable capability identity for generic property editing.
 
- 静态 Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider
static CapabilityId editingCapabilityId ()
 Stable capability identity shared by every editable domain target.
 
- 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.
 

详细描述

One editor transaction target for mixed-value, multi-material property editing. Owns all authoring documents and publishes a complete candidate set through one atomic sink call.

在文件 MaterialBatchTarget.h 第 25 行定义.

构造及析构函数说明

◆ MaterialBatchTarget()

eve::material_editing::MaterialBatchTarget::MaterialBatchTarget ( std::string  id,
std::vector< MaterialDocumentTarget >  materials,
IMaterialBatchRuntimeSink *  sink = nullptr 
)

Construct a batch from uniquely identified owning documents.

参数
sinkBorrowed optional runtime sink that must outlive this target.

在文件 MaterialBatchTarget.cpp 第 38 行定义.

成员函数说明

◆ applyDomainOperation()

Result< void > eve::material_editing::MaterialBatchTarget::applyDomainOperation ( const DomainOperation &  operation)
overridevirtual

◆ cloneDomainState()

std::unique_ptr< IDomainOperationTarget > eve::material_editing::MaterialBatchTarget::cloneDomainState ( ) const
overridevirtual

Clones domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 MaterialBatchTarget.cpp 第 196 行定义.

◆ commitDomainState()

Result< void > eve::material_editing::MaterialBatchTarget::commitDomainState ( std::unique_ptr< IDomainOperationTarget >  candidate)
overridevirtual

Commits domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 MaterialBatchTarget.cpp 第 202 行定义.

◆ currentRevision()

eve::Result< eve::Revision > eve::material_editing::MaterialBatchTarget::currentRevision ( const SelectionSnapshot &  selection) const
overridevirtual

◆ describe()

◆ makeReset()

Result< DomainOperation > eve::material_editing::MaterialBatchTarget::makeReset ( const SelectionSnapshot &  selection,
const PropertyPath &  path 
) const
overridevirtual

Make reset.

实现了 eve::editing::IPropertyProvider.

在文件 MaterialBatchTarget.cpp 第 140 行定义.

引用了 descriptor, eve::editing::PropertySchema::find(), makeSet(), path , 以及 schema().

被这些函数引用 makeSet().

◆ makeSet()

Result< DomainOperation > eve::material_editing::MaterialBatchTarget::makeSet ( const SelectionSnapshot &  selection,
const PropertyPath &  path,
const EditorValue &  value,
PropertySetMode  mode 
) const
override

Make set.

在文件 MaterialBatchTarget.cpp 第 125 行定义.

引用了 eve::Result< T >::failure(), index, indices, makeReset(), operation, path , 以及 value.

被这些函数引用 makeReset().

◆ materialIds()

std::vector< editing::StableId > eve::material_editing::MaterialBatchTarget::materialIds ( ) const

Return owning material IDs in batch order.

在文件 MaterialBatchTarget.cpp 第 214 行定义.

引用了 material.

◆ queryCapability()

void * eve::material_editing::MaterialBatchTarget::queryCapability ( const CapabilityId &  capability)
override

Query property or snapshot capabilities.

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

在文件 MaterialBatchTarget.cpp 第 50 行定义.

引用了 eve::editing::IEditableTarget::capability(), eve::editing::IEditingSnapshotProvider::editingCapabilityId() , 以及 eve::editing::IPropertyProvider::editingCapabilityId().

◆ read()

PropertyReadResult eve::material_editing::MaterialBatchTarget::read ( const SelectionSnapshot &  selection,
const PropertyPath &  path 
) const
overridevirtual

Reads .

实现了 eve::editing::IPropertyProvider.

在文件 MaterialBatchTarget.cpp 第 96 行定义.

引用了 index, indices, path , 以及 value.

◆ schema()

PropertySchema eve::material_editing::MaterialBatchTarget::schema ( const SelectionSnapshot &  selection) const
overridevirtual

Schema.

实现了 eve::editing::IPropertyProvider.

在文件 MaterialBatchTarget.cpp 第 92 行定义.

被这些函数引用 makeReset().

◆ snapshotValue()

EditorValue eve::material_editing::MaterialBatchTarget::snapshotValue ( ) const
overridevirtual

Snapshot value.

实现了 eve::editing::IEditingSnapshotProvider.

在文件 MaterialBatchTarget.cpp 第 210 行定义.

◆ targetId()

TargetId eve::material_editing::MaterialBatchTarget::targetId ( ) const
inlineoverridevirtual

Target id.

实现了 eve::editing::IEditableTarget.

在文件 MaterialBatchTarget.h 第 39 行定义.

被这些函数引用 applyDomainOperation() , 以及 describe().


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