Polyphase Game Engine
Loading...
Searching...
No Matches
TransformClip.h
Go to the documentation of this file.
1#pragma once
2
5#include "Maths.h"
6
7#include <vector>
8
10{
11public:
12
14
16 virtual ~TransformClip();
17
18 virtual void SaveStream(Stream& stream) override;
19 virtual void LoadStream(Stream& stream, uint32_t version) override;
20 virtual void GatherProperties(std::vector<Property>& outProps) override;
21
22 virtual bool SupportsKeyframes() const override { return true; }
23 virtual uint32_t GetNumKeyframes() const override { return (uint32_t)mKeyframes.size(); }
24 virtual float GetKeyframeTime(uint32_t index) const override { return mKeyframes[index].mTime; }
25 virtual void AddKeyframeAtTime(float localTime, Node* targetNode) override;
26 virtual void SetKeyframeTime(uint32_t index, float time) override;
27 virtual void RemoveKeyframe(uint32_t index) override;
28
29 const TransformKeyframe& GetKeyframe(uint32_t index) const { return mKeyframes[index]; }
30 void AddKeyframe(const TransformKeyframe& kf);
31 void SetKeyframe(uint32_t index, const TransformKeyframe& kf);
32
33 void EvaluateAtLocalTime(float localTime, glm::vec3& outPos, glm::quat& outRot, glm::vec3& outScale) const;
34
35protected:
36
37 std::vector<TransformKeyframe> mKeyframes;
38
39#if EDITOR
40 mutable std::vector<glm::vec3> mEditorRotationEuler;
41#endif
42};
Definition Node.h:67
Definition Stream.h:21
Definition TimelineClip.h:24
Definition TransformClip.h:10
virtual float GetKeyframeTime(uint32_t index) const override
Definition TransformClip.h:24
virtual void AddKeyframeAtTime(float localTime, Node *targetNode) override
Definition TransformClip.cpp:151
void SetKeyframe(uint32_t index, const TransformKeyframe &kf)
Definition TransformClip.cpp:183
virtual ~TransformClip()
Definition TransformClip.cpp:12
std::vector< TransformKeyframe > mKeyframes
Definition TransformClip.h:37
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition TransformClip.cpp:86
virtual void LoadStream(Stream &stream, uint32_t version) override
Definition TransformClip.cpp:33
TransformClip()
Definition TransformClip.cpp:8
void EvaluateAtLocalTime(float localTime, glm::vec3 &outPos, glm::quat &outRot, glm::vec3 &outScale) const
Definition TransformClip.cpp:191
virtual void SaveStream(Stream &stream) override
Definition TransformClip.cpp:16
virtual void RemoveKeyframe(uint32_t index) override
Definition TransformClip.cpp:175
virtual uint32_t GetNumKeyframes() const override
Definition TransformClip.h:23
DECLARE_CLIP(TransformClip, TimelineClip)
const TransformKeyframe & GetKeyframe(uint32_t index) const
Definition TransformClip.h:29
virtual void SetKeyframeTime(uint32_t index, float time) override
Definition TransformClip.cpp:167
void AddKeyframe(const TransformKeyframe &kf)
Definition TransformClip.cpp:131
virtual bool SupportsKeyframes() const override
Definition TransformClip.h:22
Definition TimelineTypes.h:18