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
54 lines
1.7 KiB
//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. =======
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================
|
|
|
|
#ifndef SFMRIGUTILS_H
|
|
#define SFMRIGUTILS_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "movieobjects/dmerigconstraintoperators.h"
|
|
#include "movieobjects/dmechannel.h"
|
|
#include "dmeutils/dmanimutils.h"
|
|
|
|
class CDmeAnimationSet;
|
|
class CDmeFilmClip;
|
|
class CDmeClip;
|
|
class CDmeChannelsClip;
|
|
class CDmeRigHandle;
|
|
class CDmeRig;
|
|
class CDmeTransformControl;
|
|
class CSFMAnimSetScriptContext;
|
|
class CStudioHdr;
|
|
|
|
|
|
void SpewChannel( CDmeChannel *ch );
|
|
int FindBoneIndex( CStudioHdr const* pStudioHdr, const char* pName );
|
|
|
|
|
|
class CSFMRigUtils
|
|
{
|
|
|
|
public:
|
|
|
|
// Create a rig handle with the specified name with the specified position and orientation
|
|
static CDmeRigHandle *CreateRigHandle( const char *pchName, const Vector &position, const Quaternion &orientation, CDmeFilmClip *pShot );
|
|
|
|
// Destroy the specified rig handle and remove it from the animation set.
|
|
static void DestroyRigHandle( CDmeRigHandle *pRigHandle, CDmeFilmClip *pShot, CSFMAnimSetScriptContext *pAnimSetContext = NULL );
|
|
|
|
// Generate logs of all dag nodes controlled by the rig and then destroy all elements of the rig.
|
|
static void DetachRig( CDmeRig *pRig, CDmeFilmClip *pShot );
|
|
|
|
// Detach all rigs and constraints from the animation set
|
|
static void DetachAllRigs( CDmeAnimationSet *pAnimSet );
|
|
|
|
// Determine if the specified animation set has any rig components (rig handles, constraints, display sets)
|
|
static bool HasRigComponents( CDmeAnimationSet *pAnimSet );
|
|
|
|
};
|
|
|
|
#endif // SFMRIGUTILS_H
|