Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // The morph operator class - sets morph target weights on meshes
  4. //
  5. //=============================================================================
  6. #ifndef DMEMORPHOPERATOR_H
  7. #define DMEMORPHOPERATOR_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "datamodel/dmelement.h"
  12. #include "datamodel/dmattribute.h"
  13. #include "datamodel/dmattributevar.h"
  14. #include "movieobjects/dmeoperator.h"
  15. //-----------------------------------------------------------------------------
  16. // Forward declarations
  17. //-----------------------------------------------------------------------------
  18. class CDmeMesh;
  19. //-----------------------------------------------------------------------------
  20. // A class representing a camera
  21. //-----------------------------------------------------------------------------
  22. class CDmeMorphOperator : public CDmeOperator
  23. {
  24. DEFINE_ELEMENT( CDmeMorphOperator, CDmeOperator );
  25. public:
  26. virtual void Operate();
  27. // need this until we have the EditApply message queue
  28. void OnAttributeChanged( CDmAttribute *pAttribute );
  29. virtual void GetInputAttributes ( CUtlVector< CDmAttribute * > &attrs );
  30. virtual void GetOutputAttributes( CUtlVector< CDmAttribute * > &attrs );
  31. // accessors
  32. uint NumDeltaStateWeights();
  33. CDmElement *GetDeltaStateWeight( uint i );
  34. CDmeMesh *GetMesh();
  35. protected:
  36. CDmaElement< CDmeMesh > m_mesh;
  37. CDmaElementArray< CDmElement > m_deltaStateWeights;
  38. CDmaString m_baseStateName;
  39. };
  40. #endif // DMEMORPHOPERATOR_H