mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-11 19:29:08 +00:00
1
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef FX_INTERPVALUE_H
|
||||
#define FX_INTERPVALUE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Types of supported interpolation
|
||||
enum InterpType_t
|
||||
{
|
||||
INTERP_LINEAR = 0,
|
||||
INTERP_SPLINE,
|
||||
};
|
||||
|
||||
class CInterpolatedValue
|
||||
{
|
||||
public:
|
||||
CInterpolatedValue( void );
|
||||
CInterpolatedValue( float startTime, float endTime, float startValue, float endValue, InterpType_t type );
|
||||
|
||||
void SetTime( float start, float end );
|
||||
void SetRange( float start, float end );
|
||||
void SetType( InterpType_t type );
|
||||
|
||||
// Set the value with no range
|
||||
void SetAbsolute( float value );
|
||||
|
||||
// Set the value with range and time supplied
|
||||
void Init( float startValue, float endValue, float dt, InterpType_t type = INTERP_LINEAR );
|
||||
|
||||
// Start from the current value and move towards the end value
|
||||
void InitFromCurrent( float endValue, float dt, InterpType_t type = INTERP_LINEAR );
|
||||
|
||||
// Find our interpolated value at the given point in time
|
||||
float Interp( float curTime );
|
||||
|
||||
private:
|
||||
|
||||
float m_flStartTime;
|
||||
float m_flEndTime;
|
||||
float m_flStartValue;
|
||||
float m_flEndValue;
|
||||
|
||||
int m_nInterpType;
|
||||
};
|
||||
|
||||
#endif // FX_INTERPVALUE_H
|
||||
Reference in New Issue
Block a user