Radium Engine
1.7.0
Loading...
Searching...
No Matches
AssimpAnimationDataLoader.hpp
1
#pragma once
2
3
#include <Core/Asset/AnimationTime.hpp>
4
#include <Core/Asset/DataLoader.hpp>
5
#include <Core/CoreMacros.hpp>
6
#include <IO/RaIO.hpp>
7
#include <memory>
8
#include <vector>
9
10
struct
aiScene;
11
struct
aiAnimation;
12
struct
aiNodeAnim;
13
14
namespace
Ra
{
15
namespace
Core {
16
namespace
Asset {
17
class
AnimationData;
18
struct
HandleAnimation;
19
}
// namespace Asset
20
}
// namespace Core
21
22
namespace
IO {
23
28
class
RA_IO_API
AssimpAnimationDataLoader
29
:
public
Core::Asset::DataLoader<Core::Asset::AnimationData>
30
{
31
public
:
32
explicit
AssimpAnimationDataLoader
(
const
bool
VERBOSE_MODE =
false
);
33
34
~AssimpAnimationDataLoader
()
override
;
35
36
void
loadData(
const
aiScene* scene,
37
std::vector
<
std::unique_ptr<Core::Asset::AnimationData>
>& data )
override
;
38
39
protected
:
43
bool
sceneHasAnimation(
const
aiScene* scene )
const
;
44
48
uint sceneAnimationSize(
const
aiScene* scene )
const
;
49
53
void
fetchName(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
54
58
void
fetchTime(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
59
63
void
loadAnimationData(
const
aiScene* scene,
64
std::vector
<
std::unique_ptr<Core::Asset::AnimationData>
>& data )
const
;
65
69
void
fetchAnimation(
const
aiAnimation* anim,
Core::Asset::AnimationData
* data )
const
;
70
75
void
fetchHandleAnimation( aiNodeAnim* node,
76
Core::Asset::HandleAnimation
& data,
77
const
Core::Asset::AnimationTime::Time
dt )
const
;
78
};
79
80
}
// namespace IO
81
}
// namespace Ra
Ra::Core::Asset::AnimationData
Definition
AnimationData.hpp:42
Ra::Core::Asset::AnimationTime::Time
Scalar Time
Definition
AnimationTime.hpp:20
Ra::IO::AssimpAnimationDataLoader
Definition
AssimpAnimationDataLoader.hpp:30
Ra::IO::AssimpAnimationDataLoader::~AssimpAnimationDataLoader
~AssimpAnimationDataLoader() override
DESTRUCTOR.
Ra
hepler function to manage enum as underlying types in VariableSet
Definition
Cage.cpp:4
Ra::Core::Asset::HandleAnimation
Definition
AnimationData.hpp:23
std::unique_ptr
std::vector
src
IO
AssimpLoader
AssimpAnimationDataLoader.hpp
Generated by
1.12.0