#pragma once #include "..\Header\FileInterface.h" struct ChunkHeader { char name[5]; std::uint32_t size; std::streampos position; }; class MshFile : public FileInterface { public: explicit MshFile(const char* path); virtual ~MshFile(); private: virtual void import() Q_DECL_OVERRIDE Q_DECL_FINAL; void loadChunks(std::list &destination, std::streampos start, const std::uint32_t length); void analyseMsh2Chunks(std::list &chunkList); void analyseMatdChunks(std::list &chunkList); void analyseModlChunks(Model* dataDestination, std::list &chunkList); void analyseGeomChunks(Model* dataDestination, std::list &chunkList); void analyseSegmChunks(Model* dataDestination, std::list &chunkList); void analyseClthChunks(Model* dataDestination, std::list &chunkList); void readVertex(Segment* dataDestination, std::streampos position); void readUV(Segment* dataDestination, std::streampos position); QMatrix4x4 getParentMatrix(std::string parent) const; };