Radium Engine
1.5.20
Loading...
Searching...
No Matches
AssimpAnimationDataLoader.hpp
1
#pragma once
2
3
#include <Core/Asset/AnimationTime.hpp>
4
#include <Core/Asset/DataLoader.hpp>
5
#include <IO/RaIO.hpp>
6
7
struct
aiScene;
8
struct
aiAnimation;
9
struct
aiNodeAnim;
10
11
namespace
Ra
{
12
namespace
Core {
13
namespace
Asset {
14
class
AnimationData;
15
struct
HandleAnimation;
16
}
// namespace Asset
17
}
// namespace Core
18
19
namespace
IO {
20
25
class
RA_IO_API
AssimpAnimationDataLoader
26
:
public
Core::Asset::DataLoader<Core::Asset::AnimationData>
27
{
28
public
:
29
explicit
AssimpAnimationDataLoader
(
const
bool
VERBOSE_MODE =
false
);
30
31
~AssimpAnimationDataLoader
()
override
;
32
33
void
loadData(
const
aiScene* scene,
34
std::vector
<
std::unique_ptr<Core::Asset::AnimationData>
>& data )
override
;
35
36
protected
:
40
bool
sceneHasAnimation(
const
aiScene* scene )
const
;
41
45
uint sceneAnimationSize(
const
aiScene* scene )
const
;
46
50
void
fetchName(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
51
55
void
fetchTime(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
56
60
void
loadAnimationData(
const
aiScene* scene,
61
std::vector
<
std::unique_ptr<Core::Asset::AnimationData>
>& data )
const
;
62
66
void
fetchAnimation(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
67
72
void
fetchHandleAnimation( aiNodeAnim* node,
73
Core::Asset::HandleAnimation
& data,
74
const
Core::Asset::AnimationTime::Time
dt )
const
;
75
};
76
77
}
// namespace IO
78
}
// namespace Ra
Ra::Core::Asset::AnimationData
Definition
AnimationData.hpp:38
Ra::Core::Asset::AnimationTime::Time
Scalar Time
Definition
AnimationTime.hpp:20
Ra::IO::AssimpAnimationDataLoader
Definition
AssimpAnimationDataLoader.hpp:27
Ra::IO::AssimpAnimationDataLoader::~AssimpAnimationDataLoader
~AssimpAnimationDataLoader() override
DESTRUCTOR.
Ra
hepler function to manage enum as underlying types in VariableSet
Definition
Cage.cpp:3
Ra::Core::Asset::HandleAnimation
Definition
AnimationData.hpp:19
std::unique_ptr
std::vector
src
IO
AssimpLoader
AssimpAnimationDataLoader.hpp
Generated by
1.12.0