Files
FC1/CryAnimation/CryModEffIKSolver.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

33 lines
801 B
C++

#ifndef _EFFECTOR_IKSOLVER_H
#define _EFFECTOR_IKSOLVER_H
class CryModelState;
class CCryModEffIKSolver
{
private:
vectorf m_ptGoal,m_GoalNormal;
float m_additLen,m_GoalHeight;
int m_flags;
// the model state owning this object - used to retrieve the bone info
CryModelState* m_pParent;
int m_nPrimaryBone;
bool m_bActive;
float m_fDeltaTime,m_fFeetAngle;
public:
CCryModEffIKSolver(CryModelState* pParent);
void SetPrimaryBone(int nBone){ m_nPrimaryBone = nBone;} // Could be rootbone or a bone which will be affected.
void Tick(float deltatime);
void ApplyToBone(int nLayer);
void Reset();
void SetGoal(vectorf ptgoal,int flags,float addlen=0,vectorf goal_normal=vectorf(0,0,0),float goal_height=0);
bool AffectsBone(int nBone);
void UpdateBoneChildren(int iBone);
};
#endif