27 { |
27 { |
28 Q_OBJECT |
28 Q_OBJECT |
29 public: |
29 public: |
30 enum { EndOfModel = -1 }; |
30 enum { EndOfModel = -1 }; |
31 Parser(QIODevice& device, QObject* parent = nullptr); |
31 Parser(QIODevice& device, QObject* parent = nullptr); |
32 LDHeader parseHeader(Winding& winding); |
|
33 void parseBody(Model &model); |
32 void parseBody(Model &model); |
34 static std::unique_ptr<ldraw::Object> parseFromString(QString line); |
33 static std::unique_ptr<ldraw::Object> parseFromString(QString line); |
35 private: |
34 private: |
36 enum HeaderParseResult {ParseSuccess, ParseFailure, StopParsing}; |
|
37 QString readLine(); |
35 QString readLine(); |
38 HeaderParseResult parseHeaderLine(LDHeader& header, Winding& winding, const QString& line); |
|
39 QIODevice& device; |
36 QIODevice& device; |
40 QStringList bag; |
|
41 }; |
37 }; |