3#include <Core/Asset/DataLoader.hpp>
4#include <Core/Asset/LightData.hpp>
24class RA_IO_API AssimpLightDataLoader :
public Core::Asset::DataLoader<Core::Asset::LightData>
28 explicit AssimpLightDataLoader(
const std::string& filepath,
const bool VERBOSE_MODE =
false );
31 ~AssimpLightDataLoader()
override;
34 void loadData(
const aiScene* scene,
39 inline bool sceneHasLight(
const aiScene* scene )
const;
41 uint sceneLightSize(
const aiScene* scene )
const;
47 const aiLight& light );
49 Core::Matrix4 loadLightFrame(
const aiScene* scene,
50 const Core::Matrix4& parentFrame,
54 std::string fetchName(
const aiLight& light )
const;
57 Core::Asset::LightData::LightType fetchType(
const aiLight& light )
const;
60 inline void setFrame(
const Core::Matrix4& frame ) { m_frame = frame; }
64 Core::Transform m_frame;
hepler function to manage enum as underlying types in VariableSet