port from perforce
This commit is contained in:
59
aiwaz/Aiwaz/Interfaces/IBone.h
Normal file
59
aiwaz/Aiwaz/Interfaces/IBone.h
Normal file
@@ -0,0 +1,59 @@
|
||||
#pragma once
|
||||
|
||||
struct ITransformationAnimation;
|
||||
struct __declspec(novtable) IBone
|
||||
{
|
||||
virtual ~IBone() {};
|
||||
|
||||
virtual void Initialize(const string16& argName, int argIndex, const D3DXVECTOR3& argPoseTranslation, const D3DXVECTOR3& argPoseScale, const D3DXQUATERNION& argPoseRotation) = 0;
|
||||
|
||||
virtual const D3DXMATRIX& GetTransformationAtTime(float argTime, const D3DXMATRIX& argRootTransformationMatrix) = 0;
|
||||
virtual const D3DXMATRIX& get_PoseTransformation() const = 0;
|
||||
|
||||
virtual void set_Parent(IBone* argParent_) = 0;
|
||||
virtual IBone* get_Parent() const = 0;
|
||||
virtual std::vector<IBone*>& get_ChildBones() = 0;
|
||||
|
||||
virtual string16 get_Name() const = 0;
|
||||
virtual int get_Index() const = 0;
|
||||
|
||||
virtual void set_TransformationAnimation(ITransformationAnimation* argTransformationAnimation) = 0;
|
||||
virtual ITransformationAnimation* get_TransformationAnimation() const = 0;
|
||||
|
||||
virtual std::map<int, IBone*>& get_BoneIndexList() = 0;
|
||||
|
||||
virtual D3DXMATRIX* get_MatrixArray() = 0;
|
||||
virtual unsigned int get_MatrixArraySize() = 0;
|
||||
};
|
||||
|
||||
|
||||
struct Sequence
|
||||
{
|
||||
Sequence()
|
||||
: m_Start(0.0f)
|
||||
, m_End(0.0f)
|
||||
, m_Loop(false)
|
||||
{
|
||||
}
|
||||
float m_Start;
|
||||
float m_End;
|
||||
bool m_Loop;
|
||||
};
|
||||
|
||||
|
||||
struct __declspec(novtable) IBoneController
|
||||
{
|
||||
virtual ~IBoneController() {}
|
||||
|
||||
virtual void Initialize(IBone& argRootBone) = 0;
|
||||
virtual void Initialize(const IBoneController& argOther) = 0;
|
||||
virtual void Apply() = 0;
|
||||
|
||||
virtual void RegisterSequence(const string16& argName, float argStart, float argEnd, bool argLoop) = 0;
|
||||
virtual void PlaySequence(const string16& argName) = 0;
|
||||
|
||||
virtual const string16& get_CurrentSequence() const = 0;
|
||||
virtual const std::map<string16, Sequence >& get_Sequences() const = 0;
|
||||
|
||||
virtual IBone& get_RootBone() const = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user