assimp/code/LDrawImporter.h

60 lines
1.6 KiB
C++

/** @file LDrawImporter.h
* @brief Declaration of the LDraw importer class
*/
#ifndef INCLUDED_AI_LDR_IMPORTER_H
#define INCLUDED_AI_LDR_IMPORTER_H
#include "AssimpPCH.h"
#include "ParsingUtils.h"
#include "fast_atof.h"
#include "TinyFormatter.h"
#include "Importer.h"
#include "GenericProperty.h"
#include "SceneCombiner.h"
namespace Assimp{
class LDrawImporter : public BaseImporter
{
public:
LDrawImporter();
~LDrawImporter();
// -------------------------------------------------------------------
bool CanRead(const std::string& pFile, IOSystem* pIOHandler,
bool checkSig) const;
// -------------------------------------------------------------------
const aiImporterDesc* GetInfo() const;
// -------------------------------------------------------------------
void SetupProperties(const Importer* pImp);
// -------------------------------------------------------------------
protected:
void InternReadFile(const std::string& pFile, aiScene* pScene,
IOSystem* pIOHandler);
// -------------------------------------------------------------------
private:
// Read num floats from the buffer and store it in the out array
bool ReadNumFloats(const char* line, float* &out, unsigned int num);
// -------------------------------------------------------------------
//throw an DeadlyImportError with the specified Message
void ThrowException(const std::string &Message){
throw DeadlyImportError("LDraw: " + Message);
}
std::string _libPath = "";
}; //end of class LDrawImporter
} // end of namespace Assimp
#endif // !INCLUDED_AI_LDR_IMPORTER_H