diff options
Diffstat (limited to 'public/movieobjects/dmemorphoperator.h')
| -rw-r--r-- | public/movieobjects/dmemorphoperator.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/public/movieobjects/dmemorphoperator.h b/public/movieobjects/dmemorphoperator.h new file mode 100644 index 0000000..0479a5a --- /dev/null +++ b/public/movieobjects/dmemorphoperator.h @@ -0,0 +1,53 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// The morph operator class - sets morph target weights on meshes +// +//============================================================================= + +#ifndef DMEMORPHOPERATOR_H +#define DMEMORPHOPERATOR_H +#ifdef _WIN32 +#pragma once +#endif + +#include "datamodel/dmelement.h" +#include "datamodel/dmattribute.h" +#include "datamodel/dmattributevar.h" +#include "movieobjects/dmeoperator.h" + + +//----------------------------------------------------------------------------- +// Forward declarations +//----------------------------------------------------------------------------- +class CDmeMesh; + + +//----------------------------------------------------------------------------- +// A class representing a camera +//----------------------------------------------------------------------------- +class CDmeMorphOperator : public CDmeOperator +{ + DEFINE_ELEMENT( CDmeMorphOperator, CDmeOperator ); + +public: + virtual void Operate(); + + // need this until we have the EditApply message queue + void OnAttributeChanged( CDmAttribute *pAttribute ); + + virtual void GetInputAttributes ( CUtlVector< CDmAttribute * > &attrs ); + virtual void GetOutputAttributes( CUtlVector< CDmAttribute * > &attrs ); + + // accessors + uint NumDeltaStateWeights(); + CDmElement *GetDeltaStateWeight( uint i ); + CDmeMesh *GetMesh(); + +protected: + CDmaElement< CDmeMesh > m_mesh; + CDmaElementArray< CDmElement > m_deltaStateWeights; + CDmaString m_baseStateName; +}; + + +#endif // DMEMORPHOPERATOR_H |