载入中...
搜索中...
未找到
AnimPoseSource.h
浏览该文件的文档.
1#pragma once
2
4#include "common/Time.h"
5
6#include <string>
7
8namespace eve::animation {
9
10class AnimSkeleton;
11
21public:
23 virtual ~IAnimPoseSource() = default;
24
30 [[nodiscard]] virtual AnimSkeleton* getSkeleton() const = 0;
31
37 [[nodiscard]] virtual AnimPose* getPose() = 0;
38
40 [[nodiscard]] virtual eve::Result<void> advance(const eve::SimulationStep& step) = 0;
41
43 [[nodiscard]] virtual bool hasCurrentTick() const noexcept = 0;
44
46 [[nodiscard]] virtual eve::SimulationTick currentTick() const noexcept = 0;
47
49 [[nodiscard]] virtual int getEventCount() const { return 0; }
50 [[nodiscard]] virtual std::string getEventName(int /*index*/) const { return {}; }
51 [[nodiscard]] virtual std::string getEventPayload(int /*index*/) const { return {}; }
52};
53
63};
64
65} // namespace eve::animation
Common time values and an injectable deterministic simulation clock.
float step
Definition TreeMesh.cpp:314
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose.
Definition AnimPose.h:17
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK...
Borrowed pose provider consumed by AnimLayerMixer.
virtual eve::SimulationTick currentTick() const noexcept=0
Last scheduler tick consumed by advance.
virtual bool hasCurrentTick() const noexcept=0
Whether advance has consumed at least one checked step.
virtual std::string getEventName(int) const
virtual int getEventCount() const
Events emitted by the most recent advance; default is none.
virtual AnimSkeleton * getSkeleton() const =0
Skeleton this source evaluates against; never null while attached. @ownership Borrowed @lifetime Vali...
virtual std::string getEventPayload(int) const
virtual AnimPose * getPose()=0
Most recent local pose; valid after a successful advance. @ownership Borrowed @lifetime Valid while t...
virtual eve::Result< void > advance(const eve::SimulationStep &step)=0
Consume one scheduler step and refresh getPose().
virtual ~IAnimPoseSource()=default
Releases IAnimPoseSource resources.
AnimAdditiveReference
Reference pose used when converting an additive sample into a delta.
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
One deterministic fixed-step emitted by SimulationClock.
Definition Time.h:158