Coordinates deterministic timeline transport with a transactional preview host. 更多...
#include <ActionPreviewController.h>
Public 成员函数 | |
| ActionPreviewController (ActionTimelineEditor &editor, action::IActionPreviewSink &sink, const action::IActionRootMotionSource *rootMotion=nullptr) | |
| Construct with a required presentation sink and optional root-motion provider. | |
| Result< void > | setRootMotionSampleCount (std::uint32_t sampleCount) |
| Configure root-motion trajectory density in the inclusive range 2..1024. | |
| Result< void > | refresh () |
| Re-present the current cursor without changing transport state. | |
| Result< void > | seek (Duration time) |
| Atomically prepare presentation and seek the authoritative preview transport. | |
| Result< void > | stop () |
| Atomically stop presentation, pause transport and return to the first frame. | |
| Result< void > | stepFrames (std::int64_t frames, double frameRate) |
| Atomically step signed frames and pause transport at the resulting cursor. | |
| Result< void > | jumpToEnd () |
| Atomically seek to the final frame boundary and pause transport. | |
| Result< std::size_t > | update (Duration delta) |
| Atomically prepare presentation and advance by injected deterministic time. | |
| const std::optional< action::ActionPreviewFrame > & | lastFrame () const noexcept |
| Last frame successfully published to the host. | |
| void | drawRootMotion (IEditorOverlay &overlay, OverlayPoint origin={}, float scale=1.0f) const |
| Draw the latest root-motion trajectory into a 3D-capable overlay. | |
详细描述
Coordinates deterministic timeline transport with a transactional preview host.
The controller borrows services that must outlive it. It invokes no preview host callback while holding a lock and remains owner-thread-only.
在文件 ActionPreviewController.h 第 21 行定义.
构造及析构函数说明
◆ ActionPreviewController()
| eve::editor::ActionPreviewController::ActionPreviewController | ( | ActionTimelineEditor & | editor, |
| action::IActionPreviewSink & | sink, | ||
| const action::IActionRootMotionSource * | rootMotion = nullptr |
||
| ) |
Construct with a required presentation sink and optional root-motion provider.
在文件 ActionPreviewController.cpp 第 21 行定义.
成员函数说明
◆ drawRootMotion()
| void eve::editor::ActionPreviewController::drawRootMotion | ( | IEditorOverlay & | overlay, |
| OverlayPoint | origin = {}, |
||
| float | scale = 1.0f |
||
| ) | const |
Draw the latest root-motion trajectory into a 3D-capable overlay.
在文件 ActionPreviewController.cpp 第 157 行定义.
引用了 eve::action::Available, current, index, eve::editor::IEditorOverlay::line(), origin, previous , 以及 scale.
◆ jumpToEnd()
| Result< void > eve::editor::ActionPreviewController::jumpToEnd | ( | ) |
Atomically seek to the final frame boundary and pause transport.
在文件 ActionPreviewController.cpp 第 124 行定义.
引用了 eve::action::ActionTimeline::duration, eve::editor::ActionTimelineEditor::pause(), seek(), eve::editor::ActionTimelineEditor::target() , 以及 eve::editor::ActionTimelineTarget::timeline().
◆ lastFrame()
|
inlinenoexcept |
Last frame successfully published to the host.
在文件 ActionPreviewController.h 第 42 行定义.
◆ refresh()
| Result< void > eve::editor::ActionPreviewController::refresh | ( | ) |
Re-present the current cursor without changing transport state.
在文件 ActionPreviewController.cpp 第 74 行定义.
引用了 eve::action::IActionPreviewSink::prepare(), eve::action::IActionPreviewSink::present(), eve::editor::ActionTimelineEditor::previewTime() , 以及 eve::action::Refresh.
◆ seek()
Atomically prepare presentation and seek the authoritative preview transport.
在文件 ActionPreviewController.cpp 第 88 行定义.
引用了 eve::action::IActionPreviewSink::discardPrepared(), eve::action::ActionTimeline::duration, eve::action::IActionPreviewSink::prepare(), eve::action::IActionPreviewSink::present(), eve::editor::ActionTimelineEditor::previewTime(), eve::action::Seek, eve::editor::ActionTimelineEditor::seek(), eve::editor::ActionTimelineEditor::target(), time, eve::editor::ActionTimelineTarget::timeline() , 以及 eve::Duration::zero().
被这些函数引用 jumpToEnd(), stepFrames() , 以及 stop().
◆ setRootMotionSampleCount()
| Result< void > eve::editor::ActionPreviewController::setRootMotionSampleCount | ( | std::uint32_t | sampleCount | ) |
Configure root-motion trajectory density in the inclusive range 2..1024.
在文件 ActionPreviewController.cpp 第 25 行定义.
◆ stepFrames()
| Result< void > eve::editor::ActionPreviewController::stepFrames | ( | std::int64_t | frames, |
| double | frameRate | ||
| ) |
Atomically step signed frames and pause transport at the resulting cursor.
在文件 ActionPreviewController.cpp 第 116 行定义.
引用了 eve::Result< T >::failure(), eve::editor::ActionTimelineEditor::frameStepTarget(), eve::editor::ActionTimelineEditor::pause(), seek() , 以及 target.
◆ stop()
| Result< void > eve::editor::ActionPreviewController::stop | ( | ) |
Atomically stop presentation, pause transport and return to the first frame.
在文件 ActionPreviewController.cpp 第 110 行定义.
引用了 eve::editor::ActionTimelineEditor::pause(), seek() , 以及 eve::Duration::zero().
◆ update()
Atomically prepare presentation and advance by injected deterministic time.
在文件 ActionPreviewController.cpp 第 130 行定义.
引用了 eve::action::Advance, eve::editor::ActionTimelineEditor::applyPreviewPlan(), eve::action::IActionPreviewSink::discardPrepared(), eve::editor::ActionTimelineEditor::planPreview(), eve::action::IActionPreviewSink::prepare(), eve::action::IActionPreviewSink::present(), eve::Status::success() , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/action/editor/ActionPreviewController.h
- src/modules/action/editor/ActionPreviewController.cpp