UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FCompressedRichCurve Struct Reference

#include <RichCurve.h>

Classes

struct  FStaticEvalArgs
 
union  TConstantValueNumKeys
 

Public Member Functions

 FCompressedRichCurve ()
 
ENGINE_API float Eval (float InTime, float InDefaultValue=0.0f) const
 
ENGINE_API void PopulateCurve (FRichCurve &OutCurve) const
 
ENGINE_API bool Serialize (FArchive &Ar)
 
ENGINE_API bool operator== (const FCompressedRichCurve &Other) const
 
bool operator!= (const FCompressedRichCurve &Other) const
 

Static Public Member Functions

static ENGINE_API float StaticEval (const FStaticEvalArgs &Args)
 
static ENGINE_API float StaticEval (ERichCurveCompressionFormat CompressionFormat, ERichCurveKeyTimeCompressionFormat KeyTimeCompressionFormat, ERichCurveExtrapolation PreInfinityExtrap, ERichCurveExtrapolation PostInfinityExtrap, TConstantValueNumKeys ConstantValueNumKeys, const uint8 *CompressedKeys, float InTime, float InDefaultValue=0.0f)
 

Public Attributes

TEnumAsByte< ERichCurveCompressionFormatCompressionFormat
 
TEnumAsByte< ERichCurveKeyTimeCompressionFormatKeyTimeCompressionFormat
 
TEnumAsByte< ERichCurveExtrapolationPreInfinityExtrap
 
TEnumAsByte< ERichCurveExtrapolationPostInfinityExtrap
 
TConstantValueNumKeys ConstantValueNumKeys
 
TArray< uint8CompressedKeys
 

Friends

FArchiveoperator<< (FArchive &Ar, FCompressedRichCurve &Curve)
 

Detailed Description

A runtime optimized representation of a FRichCurve. It consumes less memory and evaluates faster.

Constructor & Destructor Documentation

◆ FCompressedRichCurve()

FCompressedRichCurve::FCompressedRichCurve ( )
inline

Member Function Documentation

◆ Eval()

float FCompressedRichCurve::Eval ( float  InTime,
float  InDefaultValue = 0.0f 
) const

Evaluate this rich curve at the specified time

◆ operator!=()

bool FCompressedRichCurve::operator!= ( const FCompressedRichCurve Other) const
inline

◆ operator==()

bool FCompressedRichCurve::operator== ( const FCompressedRichCurve Other) const

◆ PopulateCurve()

void FCompressedRichCurve::PopulateCurve ( FRichCurve OutCurve) const

Populate RichCurve with decompressed key-data

◆ Serialize()

bool FCompressedRichCurve::Serialize ( FArchive Ar)

ICPPStructOps interface

◆ StaticEval() [1/2]

float FCompressedRichCurve::StaticEval ( const FStaticEvalArgs Args)
static

Evaluate this rich curve at the specified time

◆ StaticEval() [2/2]

float FCompressedRichCurve::StaticEval ( ERichCurveCompressionFormat  CompressionFormat,
ERichCurveKeyTimeCompressionFormat  KeyTimeCompressionFormat,
ERichCurveExtrapolation  PreInfinityExtrap,
ERichCurveExtrapolation  PostInfinityExtrap,
FCompressedRichCurve::TConstantValueNumKeys  ConstantValueNumKeys,
const uint8 CompressedKeys,
float  InTime,
float  InDefaultValue = 0.0f 
)
static

Evaluate this rich curve at the specified time

Friends And Related Symbol Documentation

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FCompressedRichCurve Curve 
)
friend

Member Data Documentation

◆ CompressedKeys

TArray<uint8> FCompressedRichCurve::CompressedKeys

Compressed keys, used only outside of the editor

◆ CompressionFormat

TEnumAsByte<ERichCurveCompressionFormat> FCompressedRichCurve::CompressionFormat

Compression format used by CompressedKeys

◆ ConstantValueNumKeys

TConstantValueNumKeys FCompressedRichCurve::ConstantValueNumKeys

If the compression format is constant, this is the value returned Inline here to reduce the likelihood of accessing the compressed keys data for the common case of constant/zero/empty curves When a curve is linear/cubic/mixed, the constant float value isn't used and instead we use the number of keys

◆ KeyTimeCompressionFormat

TEnumAsByte<ERichCurveKeyTimeCompressionFormat> FCompressedRichCurve::KeyTimeCompressionFormat

Compression format used to pack the key time

◆ PostInfinityExtrap

TEnumAsByte<ERichCurveExtrapolation> FCompressedRichCurve::PostInfinityExtrap

Post-infinity extrapolation state

◆ PreInfinityExtrap

TEnumAsByte<ERichCurveExtrapolation> FCompressedRichCurve::PreInfinityExtrap

Pre-infinity extrapolation state


The documentation for this struct was generated from the following files: