mirror of
https://github.com/minetest/irrlicht.git
synced 2025-07-03 08:40:26 +02:00
Add test file for glTF mesh loading
This commit is contained in:
committed by
Josiah VanderZee
parent
bde174d1a0
commit
92862a3a2d
54
source/Irrlicht/tests/inMemoryFile.cpp
Normal file
54
source/Irrlicht/tests/inMemoryFile.cpp
Normal file
@ -0,0 +1,54 @@
|
||||
#include "inMemoryFile.h"
|
||||
|
||||
#include <irrlicht.h>
|
||||
|
||||
#include <ios>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
||||
namespace io
|
||||
{
|
||||
|
||||
InMemoryFile::InMemoryFile(const io::path& filename, const std::string& s)
|
||||
: m_filename { filename }
|
||||
, m_sstream { s }
|
||||
{
|
||||
}
|
||||
|
||||
std::size_t InMemoryFile::read(void* buffer, std::size_t sizeToRead)
|
||||
{
|
||||
m_sstream.read(reinterpret_cast<char*>(buffer), sizeToRead);
|
||||
return m_sstream.gcount();
|
||||
}
|
||||
|
||||
bool InMemoryFile::seek(long finalPos, bool relativeMovement)
|
||||
{
|
||||
if (relativeMovement) {
|
||||
m_sstream.seekg(finalPos, std::ios::beg);
|
||||
} else {
|
||||
m_sstream.seekg(finalPos);
|
||||
}
|
||||
|
||||
return m_sstream.fail();
|
||||
}
|
||||
|
||||
long InMemoryFile::getSize() const
|
||||
{
|
||||
return m_sstream.str().size();
|
||||
}
|
||||
|
||||
long InMemoryFile::getPos() const
|
||||
{
|
||||
return m_sstream.tellg();
|
||||
}
|
||||
|
||||
const io::path& InMemoryFile::getFileName() const
|
||||
{
|
||||
return m_filename;
|
||||
}
|
||||
|
||||
} // namespace irr
|
||||
|
||||
} // namespace io
|
||||
|
Reference in New Issue
Block a user