Canonical action timeline asset shared by runtime and editor. 更多...
#include <ActionTimeline.h>
Public 成员函数 | |
| Result< void > | validate () const |
| Validate ids, ranges, uniqueness and deterministic ordering. | |
| std::size_t | sectionCount () const noexcept |
| Number of objective physical sections. | |
| Result< std::pair< Duration, Duration > > | sectionRange (std::size_t index) const |
| Resolve one physical section to its inclusive start and exclusive end. | |
| Result< std::vector< ActionTimelineEvent > > | sample (Duration previous, Duration current, bool includePrevious=false) const |
Sample all boundaries in (previous,current] in stable order. | |
| Result< std::vector< ActionActiveBlock > > | activeBlocks (Duration time) const |
| Sample every unmuted state active at one authoritative timeline time. | |
| Result< Value > | toValue () const |
| Encode the canonical schema as an owning deterministic Value. | |
静态 Public 成员函数 | |
| static Result< ActionTimeline > | fromValue (const Value &value) |
| Decode and validate one canonical schema value transactionally. | |
Public 属性 | |
| SchemaVersion | schemaVersion {kActionTimelineSchemaVersion} |
| LogicalId | actionId |
| Duration | duration = Duration::zero() |
| std::string | animationUri |
| Compatibility-only single-clip projection; v2 runtime uses animationSections. | |
| std::vector< ActionAnimationSection > | animationSections |
| ActionMontageSettings | montage |
| std::vector< Duration > | splitTimestamps |
| Sorted objective split timestamps forming N+1 physical sections. | |
| std::vector< ActionTrack > | tracks |
| Value::Object | metadata |
详细描述
Canonical action timeline asset shared by runtime and editor.
The action module is the sole schema owner. Animation, audio, VFX and camera resources are referenced by URI/type payloads and resolved by downstream adapters; this L1 module never depends on those presentation modules.
在文件 ActionTimeline.h 第 178 行定义.
成员函数说明
◆ activeBlocks()
| Result< std::vector< ActionActiveBlock > > eve::action::ActionTimeline::activeBlocks | ( | Duration | time | ) | const |
Sample every unmuted state active at one authoritative timeline time.
- 参数
-
time Timestamp in the closed timeline range; state ends remain exclusive.
- 返回
- Owning blocks in stable track/item order, or a validation/range diagnostic.
在文件 ActionTimeline.cpp 第 348 行定义.
引用了 duration, eve::Diagnostic::error(), eve::Duration::fromNanoseconds(), eve::InvalidArgument, left, eve::Duration::nanoseconds(), right, state, time, tracks, valid , 以及 eve::Duration::zero().
◆ fromValue()
|
static |
Decode and validate one canonical schema value transactionally.
在文件 ActionTimeline.cpp 第 425 行定义.
引用了 actionId, eve::action::ActionMontageSettings::animationLayer, animationSections, animationUri, eve::Value::asDouble(), eve::Value::asInt(), eve::action::ActionMontageSettings::basePlayRate, eve::action::ActionMontageSettings::blendOutOffset, eve::action::ActionMontageSettings::defaultBlendIn, eve::action::ActionMontageSettings::defaultBlendOut, duration, duration, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::action::ActionMontageSettings::footIk, eve::Duration::fromNanoseconds(), eve::LogicalId::fromParts(), eve::Value::getIf(), eve::action::ActionTrack::id, index, eve::InvalidArgument, eve::Value::isArray(), eve::Value::isDouble(), eve::Value::isInt64(), eve::Value::isObject(), eve::Duration::isZero(), eve::action::kActionTimelineSchemaId, eve::action::kActionTimelineSchemaVersion, kind, eve::action::ActionTrack::kind, eve::action::ActionTrack::label, label, layer, eve::action::ActionTrack::locked, locked, eve::action::ActionMontageSettings::looping, metadata, montage, eve::action::ActionTrack::muted, eve::action::ActionTrack::notifies, eve::action::parseActionTrackKind(), path, eve::action::ActionMontageSettings::rootMotionHorizontal, eve::action::ActionMontageSettings::rootMotionRotation, eve::action::ActionMontageSettings::rootMotionVertical, schemaVersion, splitTimestamps, eve::action::ActionTrack::states, status, eve::Result< T >::success(), tracks, tracks, valid, validate(), value , 以及 eve::Duration::zero().
被这些函数引用 eve::editor::ActionTimelineTarget::applyDomainOperation(), eve::editor::exposeActionTimelineScriptBindings() , 以及 eve::editor::ActionTimelineTarget::loadSnapshot().
◆ sample()
| Result< std::vector< ActionTimelineEvent > > eve::action::ActionTimeline::sample | ( | Duration | previous, |
| Duration | current, | ||
| bool | includePrevious = false |
||
| ) | const |
Sample all boundaries in (previous,current] in stable order.
- 参数
-
includePrevious Include events exactly at previous; use once when playback starts.
- 返回
- Owning event list, or a validation/range diagnostic.
在文件 ActionTimeline.cpp 第 312 行定义.
引用了 current, duration, eve::Diagnostic::error(), eve::InvalidArgument, eve::action::Notify, previous, state, eve::action::StateEnter, eve::action::StateExit, tracks, valid, validate() , 以及 eve::Duration::zero().
◆ sectionCount()
|
inlinenoexcept |
Number of objective physical sections.
在文件 ActionTimeline.h 第 194 行定义.
◆ sectionRange()
| Result< std::pair< Duration, Duration > > eve::action::ActionTimeline::sectionRange | ( | std::size_t | index | ) | const |
Resolve one physical section to its inclusive start and exclusive end.
在文件 ActionTimeline.cpp 第 579 行定义.
引用了 duration, end, eve::Diagnostic::error(), index, eve::InvalidArgument, start , 以及 eve::Duration::zero().
◆ toValue()
Encode the canonical schema as an owning deterministic Value.
在文件 ActionTimeline.cpp 第 376 行定义.
引用了 eve::action::actionTrackKindName(), duration, eve::Result< T >::failure(), eve::action::kActionTimelineSchemaId, object, root, split, state, eve::Result< T >::success(), tracks , 以及 valid.
被这些函数引用 eve::editor::ActionTimelineDocumentWorkspace::open() , 以及 eve::editor::ActionTimelineTarget::snapshotValue().
◆ validate()
| Result< void > eve::action::ActionTimeline::validate | ( | ) | const |
Validate ids, ranges, uniqueness and deterministic ordering.
在文件 ActionTimeline.cpp 第 219 行定义.
引用了 actionId, animationSections, eve::action::ActionMontageSettings::basePlayRate, eve::action::ActionMontageSettings::blendOutOffset, eve::action::ActionMontageSettings::defaultBlendIn, eve::action::ActionMontageSettings::defaultBlendOut, duration, eve::Diagnostic::error(), eve::Result< T >::failure(), ids, index, eve::InvalidArgument, eve::LogicalId::isValid(), eve::action::kActionTimelineSchemaVersion, montage, eve::Duration::nanoseconds(), path, previous, schemaVersion, splitTimestamps, state, eve::Result< T >::success(), tracks, eve::detail::StrongUint64< Tag >::value() , 以及 eve::Duration::zero().
被这些函数引用 fromValue(), eve::editor::ActionTimelineTarget::makeSet(), eve::editor::ActionTimelineDocumentWorkspace::open(), eve::animation::MontagePlayer::prepare(), eve::animation::MontagePlayer::prepare() , 以及 sample().
类成员变量说明
◆ actionId
| LogicalId eve::action::ActionTimeline::actionId |
在文件 ActionTimeline.h 第 180 行定义.
被这些函数引用 fromValue(), eve::editor::ActionTimelineTarget::makeSet(), eve::editor::ActionTimelineTarget::read() , 以及 validate().
◆ animationSections
| std::vector<ActionAnimationSection> eve::action::ActionTimeline::animationSections |
在文件 ActionTimeline.h 第 184 行定义.
被这些函数引用 eve::editor::ActionTimelineEditor::addAnimationSection(), eve::editor::ActionTimelineEditor::alignSelectionEnd(), eve::editor::ActionTimelineEditor::alignSelectionStart(), eve::editor::ActionTimelineEditor::boxSelect(), eve::editor::ActionTimelineEditor::copySelection(), eve::editor::ActionTimelineEditor::deleteSelection(), eve::editor::ActionTimelineEditor::editAnimationSection(), eve::editor::ActionTimelineEditor::editAnimationSectionFull(), eve::editor::ActionTimelineEditor::editAnimationSectionSource(), fromValue(), eve::editor::ActionTimelineWidget::layout(), eve::editor::ActionTimelineTarget::makeSet(), eve::editor::ActionTimelineEditor::moveAnimationSection(), eve::editor::ActionTimelineEditor::moveSelection(), eve::animation::MontagePlayer::prepare(), eve::animation::MontagePlayer::prepare(), eve::editor::ActionTimelineTarget::read(), eve::editor::ActionTimelineEditor::removeAnimationSection(), eve::editor::ActionTimelineEditor::removeItem(), eve::editor::ActionTimelineEditor::resizeAnimationSection(), eve::editor::ActionTimelineEditor::scaleSelection(), eve::editor::ActionTimelineEditor::selectionRange(), eve::editor::ActionTimelineEditor::selectItem() , 以及 validate().
◆ animationUri
| std::string eve::action::ActionTimeline::animationUri |
Compatibility-only single-clip projection; v2 runtime uses animationSections.
在文件 ActionTimeline.h 第 183 行定义.
被这些函数引用 fromValue(), eve::editor::ActionTimelineTarget::makeSet() , 以及 eve::editor::ActionTimelineTarget::read().
◆ duration
| Duration eve::action::ActionTimeline::duration = Duration::zero() |
在文件 ActionTimeline.h 第 181 行定义.
被这些函数引用 eve::editor::ActionTimelineEditor::addSectionSplit(), eve::editor::ActionTimelineEditor::boxSelect(), eve::editor::ActionTimelineEditor::editItem(), fromValue(), eve::editor::ActionPreviewController::jumpToEnd(), eve::editor::ActionTimelineWidget::layout(), eve::editor::ActionTimelineTarget::makeSet(), eve::editor::ActionTimelineWidget::pan(), eve::editor::ActionTimelineTarget::read(), eve::editor::ActionTimelineEditor::resizeState(), sample(), eve::editor::ActionTimelineEditor::scaleSelection(), eve::editor::ActionPreviewController::seek(), eve::editor::ActionTimelineEditor::setSectionSplit(), eve::editor::ActionTimelineWidget::setVisibleRange(), validate() , 以及 eve::editor::ActionTimelineWidget::zoom().
◆ metadata
| Value::Object eve::action::ActionTimeline::metadata |
在文件 ActionTimeline.h 第 189 行定义.
被这些函数引用 fromValue().
◆ montage
| ActionMontageSettings eve::action::ActionTimeline::montage |
◆ schemaVersion
| SchemaVersion eve::action::ActionTimeline::schemaVersion {kActionTimelineSchemaVersion} |
在文件 ActionTimeline.h 第 179 行定义.
被这些函数引用 fromValue() , 以及 validate().
◆ splitTimestamps
| std::vector<Duration> eve::action::ActionTimeline::splitTimestamps |
Sorted objective split timestamps forming N+1 physical sections.
在文件 ActionTimeline.h 第 187 行定义.
被这些函数引用 eve::editor::ActionTimelineEditor::addSectionSplit(), fromValue(), eve::editor::ActionTimelineEditor::removeSectionSplit(), eve::editor::ActionTimelineEditor::setSectionSplit() , 以及 validate().
◆ tracks
| std::vector<ActionTrack> eve::action::ActionTimeline::tracks |
在文件 ActionTimeline.h 第 188 行定义.
被这些函数引用 eve::editor::ActionTimelineEditor::addParameterKey(), eve::editor::ActionTimelineEditor::addTrack(), eve::editor::ActionTimelineEditor::alignSelectionEnd(), eve::editor::ActionTimelineEditor::alignSelectionStart(), eve::editor::ActionTimelineEditor::boxSelect(), eve::editor::ActionTimelineEditor::deleteSelection(), eve::editor::ActionTimelineEditor::editItem(), eve::editor::ActionTimelineEditor::editParameterKey(), fromValue(), eve::editor::ActionTimelineWidget::layout(), eve::editor::ActionTimelineEditor::moveItem(), eve::editor::ActionTimelineEditor::moveSelection(), eve::editor::ActionTimelineEditor::pasteTrack(), eve::editor::ActionTimelineEditor::removeItem(), eve::editor::ActionTimelineEditor::removeParameterKey(), eve::editor::ActionTimelineEditor::removeTrack(), eve::editor::ActionTimelineEditor::resizeState(), sample(), eve::editor::ActionTimelineEditor::scaleSelection(), eve::editor::ActionTimelineEditor::selectionRange(), eve::editor::ActionTimelineEditor::selectItem(), eve::editor::ActionTimelineEditor::setItemEnabled(), eve::editor::ActionTimelineEditor::updateItem() , 以及 validate().
该结构体的文档由以下文件生成:
- src/modules/action/ActionTimeline.h
- src/modules/action/ActionTimeline.cpp