//========= Copyright 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef EXPRESSIONSAMPLE_H
#define EXPRESSIONSAMPLE_H
#ifdef _WIN32
#pragma once
#endif
#include "interpolatortypes.h"
#pragma pack(1)
struct EdgeInfo_t
{
EdgeInfo_t() :
m_bActive( false ),
m_CurveType( CURVE_DEFAULT ),
m_flZeroPos( 0.0f )
{
}
bool m_bActive;
unsigned short m_CurveType;
float m_flZeroPos;
};
struct CExpressionSample
{
CExpressionSample() :
value( 0.0f ),
time( 0.0f )
{
selected = 0;
m_curvetype = CURVE_DEFAULT;
}
void SetCurveType( int curveType )
{
m_curvetype = curveType;
}
int GetCurveType() const
{
return m_curvetype;
}
// Height
float value;
// time from start of event
float time;
unsigned short selected : 1;
private:
unsigned short m_curvetype : 15;
};
#pragma pack()
//-----------------------------------------------------------------------------
// Purpose: Provides generic access to scene or event ramp data
//-----------------------------------------------------------------------------
class ICurveDataAccessor
{
public:
virtual bool CurveHasEndTime() = 0; // only matters for events
virtual int CurveGetSampleCount() = 0;
virtual CExpressionSample *CurveGetBoundedSample( int idx, bool& bClamped ) = 0;
virtual int GetDefaultCurveType() = 0;
};
#endif // EXPRESSIONSAMPLE_H
# |
Change |
User |
Description |
Committed |
|
#1
|
5817 |
Knut Wikstrom |
Added base Valve SDK code to start modding. |
|
|