Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.6.3
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
10struct aiScene;
11struct aiAnimation;
12struct aiNodeAnim;
13
14namespace Ra {
15namespace Core {
16namespace Asset {
17class AnimationData;
18struct HandleAnimation;
19} // namespace Asset
20} // namespace Core
21
22namespace IO {
23
29 : public Core::Asset::DataLoader<Core::Asset::AnimationData>
30{
31 public:
32 explicit AssimpAnimationDataLoader( const bool VERBOSE_MODE = false );
33
35
36 void loadData( const aiScene* scene,
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,
65
69 void fetchAnimation( const aiAnimation* anim, Core::Asset::AnimationData* data ) const;
70
75 void fetchHandleAnimation( aiNodeAnim* node,
77 const Core::Asset::AnimationTime::Time dt ) const;
78};
79
80} // namespace IO
81} // namespace Ra
~AssimpAnimationDataLoader() override
DESTRUCTOR.
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:4