UI-neutral animation clip document with reversible stable-id timeline edits. 更多...
#include <AnimationClip.h>
Public 成员函数 | |
| AnimationClipDocumentTarget (std::string id) | |
| Animation clip document target. | |
| TargetId | targetId () const override |
| Target id. | |
| TargetDescriptor | describe () const override |
| Describe. | |
| void * | queryCapability (const CapabilityId &capability) override |
| Query an optional target 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< DomainOperation > | makeSetSettings (double duration, double sampleRate, bool loop) const override |
| Make set settings. | |
| Result< DomainOperation > | makeSetTrack (const AnimationBoneTrack &track) const override |
| Make set track. | |
| Result< DomainOperation > | makeDeleteTrack (const StableId &track) const override |
| Make delete track. | |
| Result< DomainOperation > | makeSetEvent (const AnimationEventRecord &event) const override |
| Make set event. | |
| Result< DomainOperation > | makeDeleteEvent (const StableId &event) const override |
| Make delete event. | |
| Result< DomainOperation > | makeSetMask (const AnimationMaskEntry &mask) const override |
| Make set mask. | |
| double | duration () const noexcept |
| Clip duration in seconds. | |
| double | sampleRate () const noexcept |
| Authored sample rate. | |
| bool | isLooping () const noexcept |
| Whether preview time wraps. | |
| std::vector< AnimationBoneTrack > | tracks () const |
| Return tracks ordered by stable id. | |
| std::vector< AnimationEventRecord > | events () const |
| Return event markers ordered by time then stable id. | |
| std::vector< EditorDiagnostic > | validate (const std::vector< std::string > &skeletonBones={}) const |
| Validate timeline, references and mask against optional target bone names. | |
| AnimationClipPreview | preview (double time, const std::vector< std::string > &skeletonBones={}) const |
| Sample the authored clip without mutating a runtime asset. | |
| AnimationRetargetPreview | previewRetarget (const std::vector< std::string > &targetBones) const |
| Preview exact then normalized-name retarget mapping without baking a clip. | |
| EditorValue | snapshotValue () const override |
| Capture deterministic schema-version-one clip data. | |
| Result< void > | loadSnapshot (const EditorValue &snapshot) |
| Atomically load deterministic schema-version-one clip data. | |
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::animation_editing::IAnimationClipEditTarget | |
| virtual | ~IAnimationClipEditTarget ()=default |
| Releases IAnimationClipEditTarget resources. | |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider | |
| static CapabilityId | editingCapabilityId () |
| Stable capability identity shared by every editable domain target. | |
静态 Public 成员函数 继承自 eve::animation_editing::IAnimationClipEditTarget | |
| static CapabilityId | editingCapabilityId () |
| Stable capability id for clip timeline operations. | |
| static 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. | |
详细描述
UI-neutral animation clip document with reversible stable-id timeline edits.
在文件 AnimationClip.h 第 101 行定义.
构造及析构函数说明
◆ AnimationClipDocumentTarget()
|
explicit |
Animation clip document target.
在文件 AnimationClip.cpp 第 151 行定义.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Applies domain operation.
实现了 eve::editing::IDomainOperationTarget.
在文件 AnimationClip.cpp 第 171 行定义.
引用了 bone, eve::editing::EditableTargetState::bumpRevision(), current, duration(), eve::editing::Value::getIf(), key, loop, eve::editing::DomainOperation::payload, rate, eve::editing::DomainOperation::target, eve::editing::DomainOperation::type, weight , 以及 eve::editing::EditableTargetState::widenDirty().
被这些函数引用 loadSnapshot().
◆ cloneDomainState()
|
overridevirtual |
Clones domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 AnimationClip.cpp 第 231 行定义.
◆ commitDomainState()
|
overridevirtual |
Commits domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 AnimationClip.cpp 第 235 行定义.
引用了 clip.
◆ describe()
|
overridevirtual |
Describe.
重载 eve::editing::IEditableTarget .
在文件 AnimationClip.cpp 第 153 行定义.
引用了 eve::editing::TargetDescriptor::capabilities, eve::animation_editing::IAnimationClipEditTarget::editingCapabilityId(), eve::editing::IEditingSnapshotProvider::editingCapabilityId(), eve::editing::TargetDescriptor::id, eve::editing::TargetDescriptor::revision, eve::editing::EditableTargetState::revisionValue() , 以及 eve::editing::TargetDescriptor::type.
◆ duration()
|
inlinenoexcept |
Clip duration in seconds.
在文件 AnimationClip.h 第 137 行定义.
被这些函数引用 applyDomainOperation(), makeSetSettings(), eve::animation_editor::AnimationClipEditor::moveSelectedKey(), eve::animation_editor::AnimationClipEditor::seekSeconds(), eve::animation_editor::AnimationClipEditor::setLoop(), eve::animation_editor::AnimationClipEditor::setSampleRate() , 以及 eve::animation_editor::AnimationClipEditor::update().
◆ events()
| std::vector< AnimationEventRecord > eve::animation_editing::AnimationClipDocumentTarget::events | ( | ) | const |
Return event markers ordered by time then stable id.
在文件 AnimationClip.cpp 第 312 行定义.
被这些函数引用 eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::animation_editor::AnimationClipEditor::eventCount(), eve::animation_editor::AnimationClipEditor::eventName(), eve::animation_editor::AnimationClipEditor::eventX() , 以及 snapshotValue().
◆ isLooping()
|
inlinenoexcept |
Whether preview time wraps.
在文件 AnimationClip.h 第 141 行定义.
被这些函数引用 eve::animation_editor::AnimationClipEditor::setDuration(), eve::animation_editor::AnimationClipEditor::setSampleRate() , 以及 eve::animation_editor::AnimationClipEditor::update().
◆ loadSnapshot()
| Result< void > eve::animation_editing::AnimationClipDocumentTarget::loadSnapshot | ( | const EditorValue & | snapshot | ) |
Atomically load deterministic schema-version-one clip data.
在文件 AnimationClip.cpp 第 372 行定义.
引用了 applyDomainOperation(), bone, duration, events, eve::editing::Value::getIf(), loop, makeSetEvent(), makeSetMask(), makeSetSettings(), makeSetTrack(), eve::Result< void >::ok(), rate, eve::editing::EditableTargetState::setRevision(), settings, tracks, weight , 以及 eve::editing::EditableTargetState::widenDirty().
◆ makeDeleteEvent()
|
overridevirtual |
Make delete event.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 291 行定义.
◆ makeDeleteTrack()
|
overridevirtual |
Make delete track.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 273 行定义.
◆ makeSetEvent()
|
overridevirtual |
Make set event.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 281 行定义.
引用了 eve::animation_editing::AnimationEventRecord::id , 以及 operation.
被这些函数引用 loadSnapshot().
◆ makeSetMask()
|
overridevirtual |
Make set mask.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 299 行定义.
被这些函数引用 loadSnapshot() , 以及 eve::animation_editor::AnimationClipEditor::setMaskWeight().
◆ makeSetSettings()
|
overridevirtual |
Make set settings.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 243 行定义.
引用了 duration(), id, key, loop, operation , 以及 sampleRate().
被这些函数引用 loadSnapshot(), eve::animation_editor::AnimationClipEditor::setDuration(), eve::animation_editor::AnimationClipEditor::setLoop() , 以及 eve::animation_editor::AnimationClipEditor::setSampleRate().
◆ makeSetTrack()
|
overridevirtual |
Make set track.
实现了 eve::animation_editing::IAnimationClipEditTarget.
在文件 AnimationClip.cpp 第 263 行定义.
引用了 eve::animation_editing::AnimationBoneTrack::id, operation , 以及 eve::UuidIdAdapter< Tag >::value().
被这些函数引用 eve::animation_editor::AnimationClipEditor::deleteSelectedKey(), eve::animation_editor::AnimationClipEditor::keySelectedBone(), loadSnapshot() , 以及 eve::animation_editor::AnimationClipEditor::moveSelectedKey().
◆ preview()
| AnimationClipPreview eve::animation_editing::AnimationClipDocumentTarget::preview | ( | double | time, |
| const std::vector< std::string > & | skeletonBones = {} |
||
| ) | const |
Sample the authored clip without mutating a runtime asset.
在文件 AnimationClip.cpp 第 328 行定义.
引用了 a, b, eve::animation_editing::AnimationClipPreview::bones, bones, d, eve::animation_editing::AnimationClipPreview::diagnostics, eve::animation_editing::AnimationClipPreview::documentRevision, id, key, length, mask, eve::editing::EditableTargetState::revisionValue(), eve::animation_editing::AnimationClipPreview::status, t, time, eve::animation_editing::AnimationClipPreview::time , 以及 validate().
◆ previewRetarget()
| AnimationRetargetPreview eve::animation_editing::AnimationClipDocumentTarget::previewRetarget | ( | const std::vector< std::string > & | targetBones | ) | const |
Preview exact then normalized-name retarget mapping without baking a clip.
在文件 AnimationClip.cpp 第 351 行定义.
引用了 eve::animation_editing::AnimationRetargetPreview::diagnostics, eve::animation_editing::AnimationRetargetPreview::documentRevision, found, id, eve::animation_editing::AnimationRetargetPreview::mapping, eve::editing::EditableTargetState::revisionValue(), eve::animation_editing::AnimationRetargetPreview::status, target, eve::animation_editing::AnimationRetargetPreview::unmatchedSourceBones , 以及 eve::animation_editing::AnimationRetargetPreview::unmatchedTargetBones.
◆ queryCapability()
|
override |
Query an optional target capability.
- 返回
- Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or mutated.
在文件 AnimationClip.cpp 第 163 行定义.
引用了 eve::editing::IEditableTarget::capability(), eve::animation_editing::IAnimationClipEditTarget::editingCapabilityId() , 以及 eve::editing::IEditingSnapshotProvider::editingCapabilityId().
◆ sampleRate()
|
inlinenoexcept |
Authored sample rate.
在文件 AnimationClip.h 第 139 行定义.
被这些函数引用 makeSetSettings(), eve::animation_editor::AnimationClipEditor::setDuration() , 以及 eve::animation_editor::AnimationClipEditor::setLoop().
◆ snapshotValue()
|
overridevirtual |
Capture deterministic schema-version-one clip data.
实现了 eve::editing::IEditingSnapshotProvider.
在文件 AnimationClip.cpp 第 365 行定义.
引用了 bone, events(), id, tracks() , 以及 weight.
被这些函数引用 eve::animation_editing::AnimationClipRuntimeBuilder::build().
◆ targetId()
|
inlineoverridevirtual |
Target id.
实现了 eve::editing::IEditableTarget.
在文件 AnimationClip.h 第 111 行定义.
被这些函数引用 eve::animation_editing::AnimationClipRuntimeBuilder::build().
◆ tracks()
| std::vector< AnimationBoneTrack > eve::animation_editing::AnimationClipDocumentTarget::tracks | ( | ) | const |
Return tracks ordered by stable id.
在文件 AnimationClip.cpp 第 308 行定义.
引用了 id.
被这些函数引用 eve::animation_editing::AnimationClipRuntimeBuilder::build(), eve::animation_editor::AnimationClipEditor::deleteSelectedKey(), eve::animation_editor::AnimationClipEditor::isKeySelected(), eve::animation_editor::AnimationClipEditor::keySelectedBone(), eve::animation_editor::AnimationClipEditor::layoutHeight(), eve::animation_editor::AnimationClipEditor::moveSelectedKey(), eve::animation_editor::AnimationClipEditor::pointerDown(), eve::animation_editor::AnimationClipEditor::selectedKeyTime(), snapshotValue(), eve::animation_editor::AnimationClipEditor::trackBone(), eve::animation_editor::AnimationClipEditor::trackCount() , 以及 eve::animation_editor::AnimationClipEditor::trackId().
◆ validate()
| std::vector< EditorDiagnostic > eve::animation_editing::AnimationClipDocumentTarget::validate | ( | const std::vector< std::string > & | skeletonBones = {} | ) | const |
Validate timeline, references and mask against optional target bone names.
在文件 AnimationClip.cpp 第 317 行定义.
引用了 bone, bones, id , 以及 weight.
被这些函数引用 eve::animation_editing::AnimationClipRuntimeBuilder::build() , 以及 preview().
该类的文档由以下文件生成:
- src/modules/animation/editing/AnimationClip.h
- src/modules/animation/editing/AnimationClip.cpp
Public 成员函数 继承自