6 #include <Core/Asset/DataLoader.hpp>
20 struct HandleComponentData;
26 class RA_IO_API AssimpHandleDataLoader :
public Core::Asset::DataLoader<Core::Asset::HandleData>
30 explicit AssimpHandleDataLoader(
const bool VERBOSE_MODE =
false );
33 ~AssimpHandleDataLoader()
override;
36 void loadData(
const aiScene* scene,
37 std::vector<std::unique_ptr<Core::Asset::HandleData>>& data )
override;
41 void loadHandleData(
const aiScene* scene,
42 std::vector<std::unique_ptr<Core::Asset::HandleData>>& data )
const;
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;
50 fillHandleData(
const std::string& node,
51 const std::vector<std::pair<std::string, std::string>>& edgeList,
52 const std::map<std::string, Core::Asset::HandleComponentData>& mapBone2Data,
53 std::map<std::string, uint>& nameTable,
54 Core::Asset::HandleData* data )
const;