Radium Engine  1.5.20
Loading...
Searching...
No Matches
AssimpHandleDataLoader.hpp
1#pragma once
2
3#include <map>
4#include <set>
5
6#include <Core/Asset/DataLoader.hpp>
7#include <Core/Types.hpp>
8#include <IO/RaIO.hpp>
9
10struct aiScene;
11struct aiNode;
12struct aiMesh;
13struct aiBone;
14struct aiString;
15
16namespace Ra {
17namespace Core {
18namespace Asset {
19class HandleData;
20struct HandleComponentData;
21} // namespace Asset
22} // namespace Core
23
24namespace IO {
25
26class RA_IO_API AssimpHandleDataLoader : public Core::Asset::DataLoader<Core::Asset::HandleData>
27{
28 public:
30 explicit AssimpHandleDataLoader( const bool VERBOSE_MODE = false );
31
33 ~AssimpHandleDataLoader() override;
34
36 void loadData( const aiScene* scene,
38
39 private:
41 void loadHandleData( const aiScene* scene,
43 void loadHandleComponentDataFrame( const aiScene* scene,
44 const aiString& boneName,
45 Core::Asset::HandleComponentData& data ) const;
46 void loadHandleComponentDataWeights( const aiBone* bone,
47 const std::string& meshName,
48 Core::Asset::HandleComponentData& data ) const;
49 void
50 fillHandleData( const std::string& node,
54 Core::Asset::HandleData* data ) const;
55};
56
57} // namespace IO
58} // namespace Ra
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:3