Revisioned Params document for a script-hosted procedural generator. 更多...
#include <ProcgenScriptTarget.h>
Public 成员函数 | |
| ProcgenScriptDocumentTarget (std::string id) | |
| Construct an empty generator document. | |
| editing::TargetId | targetId () const override |
| Target id. | |
| std::uint64_t | revision () const override |
| Revision. | |
| editing::EditRegion | dirtyRegion () const override |
| Dirty region. | |
| void | clearDirtyRegion () override |
| Clears dirty region. | |
| editing::TargetDescriptor | describe () const override |
| Describe. | |
| void * | queryCapability (const editing::CapabilityId &) override |
| Query Inspector property capability. | |
| Result< void > | applyDomainOperation (const editing::DomainOperation &) override |
| Applies domain operation. | |
| std::unique_ptr< editing::IDomainOperationTarget > | cloneDomainState () const override |
| Clones domain state. | |
| Result< void > | commitDomainState (std::unique_ptr< editing::IDomainOperationTarget >) override |
| Commits domain state. | |
| eve::Result< eve::Revision > | currentRevision (const editing::SelectionSnapshot &) const override |
| Current revision. | |
| editing::PropertySchema | schema (const editing::SelectionSnapshot &) const override |
| Schema. | |
| editing::PropertyReadResult | read (const editing::SelectionSnapshot &, const editing::PropertyPath &) const override |
| Reads . | |
| Result< editing::DomainOperation > | makeSet (const editing::SelectionSnapshot &, const editing::PropertyPath &, const EditorValue &, editing::PropertySetMode) const override |
| Make set. | |
| Result< editing::DomainOperation > | makeReset (const editing::SelectionSnapshot &, const editing::PropertyPath &) const override |
| Make reset. | |
| Result< editing::DomainOperation > | makeLoadModule (ProcgenScriptModuleSpec spec) const |
| Replace module identity and schema, remapping values (drop unknown, fill defaults). | |
| const std::string & | uri () const |
| Uri. | |
| const std::string & | moduleId () const |
| Module id. | |
| const std::string & | displayName () const |
| Display name. | |
| const std::string & | kind () const |
| Kind. | |
| const std::vector< procgen::ParamDescriptor > & | params () const |
| Params. | |
| const EditorValue::Object & | values () const |
| Values. | |
| const procgen::ParamDescriptor * | findParam (const std::string &key) const |
| Find one reflected parameter by stable key. | |
| std::vector< EditorDiagnostic > | validate () const |
| Validate. | |
| EditorValue | snapshotValue () const |
| Snapshot value. | |
| Result< void > | loadSnapshot (const EditorValue &) |
| Loads snapshot. | |
Public 成员函数 继承自 eve::editing::IEditableTarget | |
| virtual | ~IEditableTarget ()=default |
| Releases IEditableTarget resources. | |
| 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. | |
| virtual Result< void > | commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate)=0 |
| Atomically publish a validated candidate state. | |
Public 成员函数 继承自 eve::editing::IPropertyProvider | |
| virtual | ~IPropertyProvider ()=default |
| Releases IPropertyProvider resources. | |
静态 Public 成员函数 | |
| static editing::CapabilityId | propertyCapabilityId () |
| Capability identity published by describe() for Inspector editing. | |
| static Result< ProcgenScriptModuleSpec > | parseSpec (std::string uri, std::string id, std::string displayName, std::string kind, const EditorValue &schema) |
| Parse a schema array into a module spec. | |
静态 Public 成员函数 继承自 eve::editing::IPropertyProvider | |
| static CapabilityId | editingCapabilityId () |
| Stable capability identity for generic property editing. | |
详细描述
Revisioned Params document for a script-hosted procedural generator.
The document is the unique owner of parameter values. Preview PointSets are not stored here; the editor copies them after a successful script rebuild.
@ownership Document owns schema and values. Snapshots are copied trees. @threadaffinity Owner thread only. @reentrancy No unknown callbacks.
在文件 ProcgenScriptTarget.h 第 44 行定义.
构造及析构函数说明
◆ ProcgenScriptDocumentTarget()
|
explicit |
Construct an empty generator document.
- 参数
-
id Stable target identity.
在文件 ProcgenScriptTarget.cpp 第 73 行定义.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Applies domain operation.
实现了 eve::editing::IDomainOperationTarget.
在文件 ProcgenScriptTarget.cpp 第 445 行定义.
引用了 eve::procgen_editing::detail::field(), eve::editing::Value::getIf(), eve::editing::EditRegion::include(), operation, parseSpec(), validate() , 以及 values().
被这些函数引用 loadSnapshot().
◆ clearDirtyRegion()
|
inlineoverridevirtual |
◆ cloneDomainState()
|
overridevirtual |
Clones domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 ProcgenScriptTarget.cpp 第 473 行定义.
◆ commitDomainState()
|
override |
Commits domain state.
在文件 ProcgenScriptTarget.cpp 第 477 行定义.
◆ currentRevision()
|
overridevirtual |
Current revision.
重载 eve::editing::IPropertyProvider .
在文件 ProcgenScriptTarget.cpp 第 92 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
◆ describe()
|
overridevirtual |
◆ dirtyRegion()
|
inlineoverridevirtual |
◆ displayName()
|
inline |
◆ findParam()
| const procgen::ParamDescriptor * eve::procgen_editing::ProcgenScriptDocumentTarget::findParam | ( | const std::string & | key | ) | const |
Find one reflected parameter by stable key.
- 参数
-
key Parameter key from the loaded schema.
- 返回
- Borrowed schema descriptor owned by this document, or null when absent. @ownership Borrowed; callers must not delete the pointer. @lifetime Valid until this document is destroyed or loadModule/applyDomainOperation mutates schema. @nullable Yes when the key is unknown.
在文件 ProcgenScriptTarget.cpp 第 136 行定义.
引用了 key , 以及 eve::procgen::ParamDescriptor::key.
◆ kind()
|
inline |
◆ loadSnapshot()
| Result< void > eve::procgen_editing::ProcgenScriptDocumentTarget::loadSnapshot | ( | const EditorValue & | snapshot | ) |
Loads snapshot.
在文件 ProcgenScriptTarget.cpp 第 491 行定义.
引用了 applyDomainOperation(), eve::editing::EditRegion::clear(), eve::procgen_editing::detail::field(), eve::editing::Value::getIf(), operation , 以及 eve::editing::DomainOperation::target.
◆ makeLoadModule()
| Result< editing::DomainOperation > eve::procgen_editing::ProcgenScriptDocumentTarget::makeLoadModule | ( | ProcgenScriptModuleSpec | spec | ) | const |
Replace module identity and schema, remapping values (drop unknown, fill defaults).
在文件 ProcgenScriptTarget.cpp 第 354 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::ProcgenScriptModuleSpec::id, eve::procgen_editing::ProcgenScriptModuleSpec::kind, operation, eve::procgen_editing::ProcgenScriptModuleSpec::params, eve::editing::DomainOperation::type , 以及 validate().
被这些函数引用 eve::procgen_editor::ProcgenScriptEditor::loadModule().
◆ makeReset()
|
overridevirtual |
Make reset.
实现了 eve::editing::IPropertyProvider.
在文件 ProcgenScriptTarget.cpp 第 415 行定义.
引用了 eve::editing::Absolute, descriptor, eve::editing::PropertySchema::find(), makeSet(), path , 以及 schema().
被这些函数引用 makeSet().
◆ makeSet()
|
overridevirtual |
Make set.
实现了 eve::editing::IPropertyProvider.
在文件 ProcgenScriptTarget.cpp 第 387 行定义.
引用了 eve::editing::Absolute, eve::editing::applied(), descriptor, eve::editing::PropertySchema::find(), eve::editing::Value::getIf(), makeReset(), ok, operation, path, payload, eve::editing::Reset, schema(), eve::editing::DomainOperation::type, eve::editing::validatePropertyValue(), value , 以及 values().
被这些函数引用 makeReset() , 以及 eve::procgen_editor::ProcgenScriptEditor::setParam().
◆ moduleId()
|
inline |
Module id.
在文件 ProcgenScriptTarget.h 第 108 行定义.
◆ params()
|
inline |
Params.
在文件 ProcgenScriptTarget.h 第 114 行定义.
◆ parseSpec()
|
static |
Parse a schema array into a module spec.
- 参数
-
schema Array of parameter objects with key/kind/default metadata.
在文件 ProcgenScriptTarget.cpp 第 249 行定义.
引用了 eve::procgen::ParamDescriptor::advanced, eve::editing::applied(), eve::procgen::Boolean, eve::procgen::ParamDescriptor::category, eve::procgen::Choice, choices, eve::procgen::ParamDescriptor::choices, eve::procgen::ParamDescriptor::defaultValue, eve::procgen::ParamDescriptor::description, eve::procgen_editing::ProcgenScriptModuleSpec::displayName, displayName(), eve::procgen::ParamDescriptor::displayName, eve::procgen_editing::detail::field(), eve::procgen::Float, eve::editing::Value::getIf(), eve::procgen::ParamDescriptor::hasMaximum, eve::procgen::ParamDescriptor::hasMinimum, eve::procgen_editing::ProcgenScriptModuleSpec::id, eve::procgen::Integer, eve::procgen::ParamDescriptor::key, eve::procgen_editing::ProcgenScriptModuleSpec::kind, kind(), eve::procgen::ParamDescriptor::kind, eve::procgen::ParamDescriptor::maximum, eve::procgen::ParamDescriptor::minimum, eve::procgen_editing::ProcgenScriptModuleSpec::params, eve::procgen_editing::detail::readNumber(), rows, eve::procgen::ParamDescriptor::step, eve::procgen::String, text, eve::procgen_editing::ProcgenScriptModuleSpec::uri , 以及 uri().
被这些函数引用 applyDomainOperation() , 以及 eve::procgen_editor::ProcgenScriptEditor::loadModule().
◆ propertyCapabilityId()
|
inlinestatic |
Capability identity published by describe() for Inspector editing.
Capability id.
在文件 ProcgenScriptTarget.h 第 53 行定义.
被这些函数引用 describe() , 以及 queryCapability().
◆ queryCapability()
|
overridevirtual |
Query Inspector property capability.
- 返回
- Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or replaced by commitDomainState.
重载 eve::editing::IEditableTarget .
在文件 ProcgenScriptTarget.cpp 第 83 行定义.
引用了 eve::editing::IEditableTarget::capability() , 以及 propertyCapabilityId().
◆ read()
|
overridevirtual |
Reads .
实现了 eve::editing::IPropertyProvider.
在文件 ProcgenScriptTarget.cpp 第 164 行定义.
引用了 found, path , 以及 eve::editing::Value.
◆ revision()
|
inlineoverridevirtual |
Revision.
实现了 eve::editing::IEditableTarget.
在文件 ProcgenScriptTarget.h 第 61 行定义.
被这些函数引用 eve::procgen_editor::ProcgenScriptEditor::failPreview() , 以及 eve::procgen_editor::ProcgenScriptEditor::publishPreview().
◆ schema()
|
overridevirtual |
Schema.
实现了 eve::editing::IPropertyProvider.
在文件 ProcgenScriptTarget.cpp 第 142 行定义.
引用了 eve::editing::Advanced, eve::procgen::ParamDescriptor::advanced, eve::procgen::ParamDescriptor::category, eve::procgen::ParamDescriptor::choices, defaultValue, eve::procgen::ParamDescriptor::description, descriptor, eve::procgen::ParamDescriptor::displayName, eve::procgen::ParamDescriptor::hasMaximum, eve::procgen::ParamDescriptor::hasMinimum, eve::procgen::ParamDescriptor::key, eve::procgen::ParamDescriptor::kind, eve::procgen::ParamDescriptor::maximum, eve::procgen::ParamDescriptor::minimum, eve::editing::PropertyDescriptor::path, eve::editing::PropertySchema::properties, eve::editing::Runtime, eve::procgen::ParamDescriptor::step , 以及 eve::editing::PropertySchema::typeId.
被这些函数引用 makeReset(), makeSet() , 以及 validate().
◆ snapshotValue()
| EditorValue eve::procgen_editing::ProcgenScriptDocumentTarget::snapshotValue | ( | ) | const |
Snapshot value.
在文件 ProcgenScriptTarget.cpp 第 487 行定义.
◆ targetId()
|
inlineoverridevirtual |
◆ uri()
|
inline |
◆ validate()
| std::vector< EditorDiagnostic > eve::procgen_editing::ProcgenScriptDocumentTarget::validate | ( | ) | const |
Validate.
在文件 ProcgenScriptTarget.cpp 第 425 行定义.
引用了 descriptor, found, eve::procgen::ParamDescriptor::key, eve::Result< void >::ok(), schema() , 以及 eve::editing::validatePropertyValue().
被这些函数引用 applyDomainOperation() , 以及 makeLoadModule().
◆ values()
|
inline |
Values.
在文件 ProcgenScriptTarget.h 第 116 行定义.
被这些函数引用 applyDomainOperation(), eve::procgen_editor::ProcgenScriptEditor::getBool(), eve::procgen_editor::ProcgenScriptEditor::getFloat(), eve::procgen_editor::ProcgenScriptEditor::getInt(), eve::procgen_editor::ProcgenScriptEditor::getString() , 以及 makeSet().
该类的文档由以下文件生成:
- src/modules/procgen/editing/ProcgenScriptTarget.h
- src/modules/procgen/editing/ProcgenScriptTarget.cpp
Public 成员函数 继承自