10 using LoadResult = std::variant<std::shared_ptr<SceneGraph>, std::string>;
14 virtual bool save(std::shared_ptr<SceneGraph> scn,
const std::string filename) {
return false; }
17 std::string str = filename;
18 std::string::size_type pos = str.find_last_of(
'.');
19 if (pos == std::string::npos)
static SceneLoaderFactory & getInstance()
Get the ObjectFactory singleton instance.
std::vector< SceneLoader * > SceneLoaderList
SceneLoader * getEntryByFileExtension(std::string extension)
Get an entry given a file extension.
SceneLoader * addEntry(SceneLoader *loader)
Add a scene loader.
SceneLoader * getEntryByFileName(std::string filename)
Get an entry given a file name.
SceneLoaderList * getEntryList()
Get the list of loaders.
SceneLoaderList m_loaders
Main class registry.
virtual LoadResult load(const std::string filename)
virtual bool save(std::shared_ptr< SceneGraph > scn, const std::string filename)
virtual bool canLoadFileByExtension(const std::string extension)
virtual bool canLoadFileByName(const std::string filename)
std::variant< std::shared_ptr< SceneGraph >, std::string > LoadResult
This is an implementation of AdditiveCCD based on peridyno.