hl2_src-leak-2017/src/utils/hlfaceposer/expclass.h

75 lines
1.9 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef EXPCLASS_H
#define EXPCLASS_H
#ifdef _WIN32
#pragma once
#endif
#include "utlvector.h"
class CExpression;
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class CExpClass
{
public:
CExpClass( const char *classname );
virtual ~CExpClass( void );
void Save( void );
void Export( void );
void CheckBitmapConsistency( void );
void ReloadBitmaps( void );
const char *GetName() const;
const char *GetBaseName() const;
const char *GetFileName() const;
void SetFileName( const char *filename );
CExpression *AddExpression( const char *name, const char *description, float *flexsettings, float *flexweights, bool selectnewitem, bool bDirtyClass );
CExpression *FindExpression( const char *name );
int FindExpressionIndex( CExpression *exp );
void DeleteExpression( const char *name );
int GetNumExpressions( void );
CExpression *GetExpression( int num );
bool GetDirty( void );
void SetDirty( bool dirty );
void SelectExpression( int num, bool deselect = true );
int GetSelectedExpression( void );
void DeselectExpression( void );
void SwapExpressionOrder( int exp1, int exp2 );
// Get index of this class in the global class list
int GetIndex( void );
bool IsPhonemeClass( void ) const;
private:
void BuildValidChecksums( CUtlRBTree< CRC32_t > &tree );
char m_szBaseName[ 128 ]; // name w/out any subdirectory names
char m_szClassName[ 128 ];
char m_szFileName[ 128 ];
bool m_bDirty;
int m_nSelectedExpression;
CUtlVector < CExpression > m_Expressions;
bool m_bIsPhonemeClass;
};
#endif // EXPCLASS_H