Graphics/SkeletalModel: Update to new code
Former-commit-id: 74b17bf06b3c7c22477ee3a098301e70b093f890
This commit is contained in:
parent
d7e640fd1e
commit
8f8eca1d70
|
|
@ -34,11 +34,11 @@ class NAZARA_API NzSkeletalModel : public NzModel, NzUpdatable
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzSkeletalModel();
|
NzSkeletalModel();
|
||||||
NzSkeletalModel(const NzSkeletalModel& model);
|
NzSkeletalModel(const NzSkeletalModel& model) = default;
|
||||||
NzSkeletalModel(NzSkeletalModel&& model);
|
NzSkeletalModel(NzSkeletalModel&& model) = default;
|
||||||
~NzSkeletalModel();
|
~NzSkeletalModel() = default;
|
||||||
|
|
||||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const override;
|
||||||
void AdvanceAnimation(float elapsedTime);
|
void AdvanceAnimation(float elapsedTime);
|
||||||
|
|
||||||
NzSkeletalModel* Clone() const;
|
NzSkeletalModel* Clone() const;
|
||||||
|
|
@ -67,13 +67,13 @@ class NAZARA_API NzSkeletalModel : public NzModel, NzUpdatable
|
||||||
bool SetSequence(const NzString& sequenceName);
|
bool SetSequence(const NzString& sequenceName);
|
||||||
void SetSequence(unsigned int sequenceIndex);
|
void SetSequence(unsigned int sequenceIndex);
|
||||||
|
|
||||||
NzSkeletalModel& operator=(const NzSkeletalModel& node);
|
NzSkeletalModel& operator=(const NzSkeletalModel& node) = default;
|
||||||
NzSkeletalModel& operator=(NzSkeletalModel&& node);
|
NzSkeletalModel& operator=(NzSkeletalModel&& node) = default;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void MakeBoundingVolume() const override;
|
void MakeBoundingVolume() const override;
|
||||||
void Register() override;
|
/*void Register() override;
|
||||||
void Unregister() override;
|
void Unregister() override;*/
|
||||||
void Update() override;
|
void Update() override;
|
||||||
|
|
||||||
NzAnimationRef m_animation;
|
NzAnimationRef m_animation;
|
||||||
|
|
|
||||||
|
|
@ -31,27 +31,8 @@ m_animationEnabled(true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
NzSkeletalModel::NzSkeletalModel(const NzSkeletalModel& model) :
|
void NzSkeletalModel::AddToRenderQueue(NzAbstractRenderQueue* renderQueue, const NzMatrix4f& transformMatrix) const
|
||||||
NzModel(model),
|
|
||||||
m_skeleton(model.m_skeleton),
|
|
||||||
m_currentSequence(model.m_currentSequence),
|
|
||||||
m_animationEnabled(model.m_animationEnabled),
|
|
||||||
m_interpolation(model.m_interpolation),
|
|
||||||
m_currentFrame(model.m_currentFrame),
|
|
||||||
m_nextFrame(model.m_nextFrame)
|
|
||||||
{
|
{
|
||||||
}
|
|
||||||
|
|
||||||
NzSkeletalModel::~NzSkeletalModel()
|
|
||||||
{
|
|
||||||
if (m_scene)
|
|
||||||
m_scene->UnregisterForUpdate(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzSkeletalModel::AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const
|
|
||||||
{
|
|
||||||
const NzMatrix4f& transformMatrix = GetTransformMatrix();
|
|
||||||
|
|
||||||
unsigned int submeshCount = m_mesh->GetSubMeshCount();
|
unsigned int submeshCount = m_mesh->GetSubMeshCount();
|
||||||
for (unsigned int i = 0; i < submeshCount; ++i)
|
for (unsigned int i = 0; i < submeshCount; ++i)
|
||||||
{
|
{
|
||||||
|
|
@ -296,58 +277,15 @@ void NzSkeletalModel::SetSequence(unsigned int sequenceIndex)
|
||||||
m_nextFrame = m_currentSequence->firstFrame;
|
m_nextFrame = m_currentSequence->firstFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
NzSkeletalModel& NzSkeletalModel::operator=(const NzSkeletalModel& node)
|
|
||||||
{
|
|
||||||
NzSkeletalModel::operator=(node);
|
|
||||||
|
|
||||||
m_animation = node.m_animation;
|
|
||||||
m_animationEnabled = node.m_animationEnabled;
|
|
||||||
m_currentFrame = node.m_currentFrame;
|
|
||||||
m_currentSequence = node.m_currentSequence;
|
|
||||||
m_interpolation = node.m_interpolation;
|
|
||||||
m_nextFrame = node.m_nextFrame;
|
|
||||||
m_skeleton = node.m_skeleton;
|
|
||||||
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
NzSkeletalModel& NzSkeletalModel::operator=(NzSkeletalModel&& node)
|
|
||||||
{
|
|
||||||
NzModel::operator=(node);
|
|
||||||
|
|
||||||
// Ressources
|
|
||||||
m_animation = std::move(node.m_animation);
|
|
||||||
m_skeleton = std::move(node.m_skeleton);
|
|
||||||
|
|
||||||
// Paramètres
|
|
||||||
m_animationEnabled = node.m_animationEnabled;
|
|
||||||
m_currentFrame = node.m_currentFrame;
|
|
||||||
m_currentSequence = node.m_currentSequence;
|
|
||||||
m_interpolation = node.m_interpolation;
|
|
||||||
m_nextFrame = node.m_nextFrame;
|
|
||||||
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzSkeletalModel::MakeBoundingVolume() const
|
void NzSkeletalModel::MakeBoundingVolume() const
|
||||||
{
|
{
|
||||||
m_boundingVolume.Set(m_skeleton.GetAABB());
|
m_boundingVolume.Set(m_skeleton.GetAABB());
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzSkeletalModel::Register()
|
|
||||||
{
|
|
||||||
m_scene->RegisterForUpdate(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzSkeletalModel::Unregister()
|
|
||||||
{
|
|
||||||
m_scene->UnregisterForUpdate(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzSkeletalModel::Update()
|
void NzSkeletalModel::Update()
|
||||||
{
|
{
|
||||||
if (m_animationEnabled && m_animation)
|
/*if (m_animationEnabled && m_animation)
|
||||||
AdvanceAnimation(m_scene->GetUpdateTime());
|
AdvanceAnimation(m_scene->GetUpdateTime());*/
|
||||||
}
|
}
|
||||||
|
|
||||||
NzSkeletalModelLoader::LoaderList NzSkeletalModel::s_loaders;
|
NzSkeletalModelLoader::LoaderList NzSkeletalModel::s_loaders;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue