Counter Strike : Global Offensive Source Code
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.

54 lines
1.7 KiB

  1. //====== Copyright � 1996-2008, Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef SFMRIGUTILS_H
  7. #define SFMRIGUTILS_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "movieobjects/dmerigconstraintoperators.h"
  12. #include "movieobjects/dmechannel.h"
  13. #include "dmeutils/dmanimutils.h"
  14. class CDmeAnimationSet;
  15. class CDmeFilmClip;
  16. class CDmeClip;
  17. class CDmeChannelsClip;
  18. class CDmeRigHandle;
  19. class CDmeRig;
  20. class CDmeTransformControl;
  21. class CSFMAnimSetScriptContext;
  22. class CStudioHdr;
  23. void SpewChannel( CDmeChannel *ch );
  24. int FindBoneIndex( CStudioHdr const* pStudioHdr, const char* pName );
  25. class CSFMRigUtils
  26. {
  27. public:
  28. // Create a rig handle with the specified name with the specified position and orientation
  29. static CDmeRigHandle *CreateRigHandle( const char *pchName, const Vector &position, const Quaternion &orientation, CDmeFilmClip *pShot );
  30. // Destroy the specified rig handle and remove it from the animation set.
  31. static void DestroyRigHandle( CDmeRigHandle *pRigHandle, CDmeFilmClip *pShot, CSFMAnimSetScriptContext *pAnimSetContext = NULL );
  32. // Generate logs of all dag nodes controlled by the rig and then destroy all elements of the rig.
  33. static void DetachRig( CDmeRig *pRig, CDmeFilmClip *pShot );
  34. // Detach all rigs and constraints from the animation set
  35. static void DetachAllRigs( CDmeAnimationSet *pAnimSet );
  36. // Determine if the specified animation set has any rig components (rig handles, constraints, display sets)
  37. static bool HasRigComponents( CDmeAnimationSet *pAnimSet );
  38. };
  39. #endif // SFMRIGUTILS_H