UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimCurveCompressionCodec_UniformIndexable.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
10#include "CoreMinimal.h"
12#include "AnimCurveCompressionCodec_UniformIndexable.generated.h"
13
15{
16private:
17 int32 NumSamples;
18 float SampleRate;
19
20 const float* CompressedBuffer;
21
22 const FFloatCurve* RawCurve;
23 bool bUseCompressedData;
24public:
25
26 UE_DEPRECATED(5.3, "Please use the constructor that takes a FName")
28
30
31 bool IsValid() const
32 {
33 return CompressedBuffer || RawCurve;
34 }
35
36 int32 GetNumSamples() const { return NumSamples; }
37
38 ENGINE_API float GetValue(int32 SampleIndex) const;
39
40 ENGINE_API float GetTime(int32 SampleIndex) const;
41};
42
43UCLASS(meta = (DisplayName = "Uniform Indexable"), MinimalAPI)
45{
47
48
49
50#if WITH_EDITORONLY_DATA
51 // UAnimCurveCompressionCodec overrides
53 ENGINE_API virtual int64 EstimateCompressionMemoryUsage(const UAnimSequence& AnimSequence) const override;
54 ENGINE_API virtual void PopulateDDCKey(FArchive& Ar) override;
55#endif
56
57 ENGINE_API virtual void DecompressCurves(const FCompressedAnimSequence& AnimSeq, FBlendedCurve& Curves, float CurrentTime) const override;
58 ENGINE_API virtual float DecompressCurve(const FCompressedAnimSequence& AnimSeq, FName CurveName, float CurrentTime) const override;
59
60 UE_DEPRECATED(5.3, "Please use GetCurveBufferAndSamples that takes a curve's FName")
61 bool GetCurveBufferAndSamples(const FCompressedAnimSequence& AnimSeq, SmartName::UID_Type CurveUID, const float*& OutCurveBuffer, int32& OutSamples, float& OutSampleRate) { return false; }
62 ENGINE_API bool GetCurveBufferAndSamples(const FCompressedAnimSequence& AnimSeq, FName CurveName, const float*& OutCurveBuffer, int32& OutSamples, float& OutSampleRate);
63};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Archive.h:1208
Definition NameTypes.h:617
Definition AnimCurveCompressionCodec_UniformIndexable.h:45
Definition AnimCurveCompressionCodec.h:34
Definition AnimSequenceBase.h:37
Definition AnimSequence.h:203
uint16 UID_Type
Definition AnimationAsset.h:39
Definition AnimCurveCompressionCodec_UniformIndexable.h:15
ENGINE_API float GetValue(int32 SampleIndex) const
Definition AnimCurveCompressionCodec_UniformIndexable.cpp:58
ENGINE_API float GetTime(int32 SampleIndex) const
Definition AnimCurveCompressionCodec_UniformIndexable.cpp:77
bool IsValid() const
Definition AnimCurveCompressionCodec_UniformIndexable.h:31
int32 GetNumSamples() const
Definition AnimCurveCompressionCodec_UniformIndexable.h:36
Definition AnimCurveTypes.h:1041
Definition AnimCompressionTypes.h:775
Definition AnimCurveTypes.h:214