Assimp v5.2.2 (January 2022)
The Asset-Importer-Lib API documentation.
Assimp::IOSystem Class Referenceabstract

CPP-API: Interface to the file system. More...

#include <IOSystem.hpp>

Inherits Intern::AllocateFromAssimpHeap.

Inherited by Assimp::BlobIOSystem, Assimp::DefaultIOSystem, Assimp::MemoryIOSystem, and Assimp::ZipArchiveIOSystem.

Public Member Functions

virtual bool ChangeDirectory (const std::string &path)
 Will change the current directory to the given path.
 
virtual void Close (IOStream *pFile)=0
 Closes the given file and releases all resources associated with it.
 
virtual bool ComparePaths (const char *one, const char *second) const
 Compares two paths and check whether the point to identical files.
 
bool ComparePaths (const std::string &one, const std::string &second) const
 For backward compatibility.
 
virtual bool CreateDirectory (const std::string &path)
 CReates an new directory at the given path.
 
virtual const std::string & CurrentDirectory () const
 Returns the top directory from the stack.
 
virtual bool DeleteFile (const std::string &file)
 Will delete the given file.
 
virtual bool Exists (const char *pFile) const =0
 Tests for the existence of a file at the given path.
 
AI_FORCE_INLINE bool Exists (const std::string &pFile) const
 For backward compatibility.
 
virtual char getOsSeparator () const =0
 Returns the system specific directory separator.
 
 IOSystem () AI_NO_EXCEPT=default
 Default constructor.
 
virtual IOStreamOpen (const char *pFile, const char *pMode="rb")=0
 Open a new file with a given path.
 
IOStreamOpen (const std::string &pFile, const std::string &pMode=std::string("rb"))
 For backward compatibility.
 
virtual bool PopDirectory ()
 Pops the top directory from the stack.
 
virtual bool PushDirectory (const std::string &path)
 Pushes a new directory onto the directory stack.
 
virtual size_t StackSize () const
 Returns the number of directories stored on the stack.
 
virtual ~IOSystem ()=default
 Virtual destructor.
 

Detailed Description

CPP-API: Interface to the file system.

Derive an own implementation from this interface to supply custom file handling to the importer library. If you implement this interface, you also want to supply a custom implementation for IOStream.

See also
Importer::SetIOHandler()

Constructor & Destructor Documentation