60 lines
1.6 KiB
C++
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
|