CommonLibSSE NG
Loading...
Searching...
No Matches
NiKeyBasedInterpolator.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace RE
7{
9 {
10 public:
11 inline static constexpr auto RTTI = RTTI_NiKeyBasedInterpolator;
13
16
17 ~NiKeyBasedInterpolator() override; // 00
18
19 // override (NiInterpolator)
20 const NiRTTI* GetRTTI() const override; // 02
21 void LoadBinary(NiStream& a_stream) override; // 18 - { NiInterpolator::LoadBinary(a_stream); }
22 void LinkObject(NiStream& a_stream) override; // 19 - { NiInterpolator::LinkObject(a_stream); }
23 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiInterpolator::RegisterStreamables(a_stream); }
24 void SaveBinary(NiStream& a_stream) override; // 1B - { NiInterpolator::SaveBinary(a_stream); }
25 bool IsEqual(NiObject* a_object) override; // 1C - { return NiInterpolator::IsEqual(a_stream); }
26 void GetActiveTimeRange(float& a_start, float& a_end) const override; // 32
27
28 // add
29 [[nodiscard]] virtual std::uint16_t GetKeyChannelCount() const = 0; // 39
30 [[nodiscard]] virtual std::uint32_t GetKeyCount(std::uint16_t a_channel) const = 0; // 3A
31 [[nodiscard]] virtual KeyType GetKeyType(std::uint16_t a_channel) const = 0; // 3C
32 [[nodiscard]] virtual KeyContent GetKeyContent(std::uint16_t a_channel) const = 0; // 3B
33 [[nodiscard]] virtual void* GetKeyArray(std::uint16_t a_channel) const = 0; // 3D
34 [[nodiscard]] virtual std::uint8_t GetKeyStride(std::uint16_t a_channel) const = 0; // 3E
35 [[nodiscard]] virtual bool GetChannelPosed(std::uint16_t a_channel) const = 0; // 3F
36 };
37 static_assert(sizeof(NiKeyBasedInterpolator) == 0x18);
38}
KeyContent
Definition NiAnimationKey.h:9
KeyType
Definition NiAnimationKey.h:21
Definition NiInterpolator.h:16
Definition NiKeyBasedInterpolator.h:9
virtual std::uint32_t GetKeyCount(std::uint16_t a_channel) const =0
const NiRTTI * GetRTTI() const override
bool RegisterStreamables(NiStream &a_stream) override
void GetActiveTimeRange(float &a_start, float &a_end) const override
void LoadBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
virtual KeyType GetKeyType(std::uint16_t a_channel) const =0
static constexpr auto RTTI
Definition NiKeyBasedInterpolator.h:11
virtual std::uint8_t GetKeyStride(std::uint16_t a_channel) const =0
virtual bool GetChannelPosed(std::uint16_t a_channel) const =0
bool IsEqual(NiObject *a_object) override
void SaveBinary(NiStream &a_stream) override
virtual std::uint16_t GetKeyChannelCount() const =0
virtual void * GetKeyArray(std::uint16_t a_channel) const =0
static auto Ni_RTTI
Definition NiKeyBasedInterpolator.h:12
~NiKeyBasedInterpolator() override
virtual KeyContent GetKeyContent(std::uint16_t a_channel) const =0
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_NiKeyBasedInterpolator(524361, 410942, 0x316d3b8)
constexpr REL::VariantID RTTI_NiKeyBasedInterpolator(690511, 398366, 0x1f62f90)