载入中...
搜索中...
未找到
eve::action::ActionTimeline结构体 参考

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.

参数
timeTimestamp 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()

Result< ActionTimeline > eve::action::ActionTimeline::fromValue ( const Value &  value)
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.

参数
includePreviousInclude 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()

std::size_t eve::action::ActionTimeline::sectionCount ( ) const
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()

Result< Value > eve::action::ActionTimeline::toValue ( ) const

◆ validate()

类成员变量说明

◆ actionId

LogicalId eve::action::ActionTimeline::actionId

◆ animationSections

◆ 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

◆ metadata

Value::Object eve::action::ActionTimeline::metadata

在文件 ActionTimeline.h 第 189 行定义.

被这些函数引用 fromValue().

◆ 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


该结构体的文档由以下文件生成: