| 251 { |
251 { |
| 252 editor.invertObject(id); |
252 editor.invertObject(id); |
| 253 } |
253 } |
| 254 invertNext = false; |
254 invertNext = false; |
| 255 } |
255 } |
| |
256 /* |
| 256 // Test quadrilateral splitting by splitting all the quadrilaterals |
257 // Test quadrilateral splitting by splitting all the quadrilaterals |
| 257 QVector<ldraw::quadrilateralid_t> quadrilateral_ids; |
258 QVector<ldraw::quadrilateralid_t> quadrilateral_ids; |
| 258 for (int i = 0; i < editor.model().size(); i += 1) |
259 for (int i = 0; i < editor.model().size(); i += 1) |
| 259 { |
260 { |
| 260 const ldraw::id_t id = editor.model().resolve(editor.model().index(i)); |
261 const ldraw::id_t id = editor.model().resolve(editor.model().index(i)); |
| 342 const QStringList& tokens) |
344 const QStringList& tokens) |
| 343 { |
345 { |
| 344 Q_UNUSED(tokens) |
346 Q_UNUSED(tokens) |
| 345 if (line.startsWith("0 //")) |
347 if (line.startsWith("0 //")) |
| 346 { |
348 { |
| 347 return std::make_unique<ldraw::Comment>(line.mid(std::strlen("0 //")).simplified()); |
349 // lol wut |
| |
350 return std::make_unique<ldraw::Comment>(line.mid(std::strlen("0 //")).trimmed()); |
| 348 } |
351 } |
| 349 else |
352 else |
| 350 { |
353 { |
| 351 return std::make_unique<ldraw::MetaCommand>(line.mid(1).simplified()); |
354 return std::make_unique<ldraw::MetaCommand>(line.mid(1).trimmed()); |
| 352 } |
355 } |
| 353 } |
356 } |
| 354 |
357 |
| 355 static std::unique_ptr<ldraw::SubfileReference> parseType1Line( |
358 static std::unique_ptr<ldraw::SubfileReference> parseType1Line( |
| 356 const QString& line, |
359 const QString& line, |
| 392 return std::make_unique<T>(vertices, color); |
395 return std::make_unique<T>(vertices, color); |
| 393 } |
396 } |
| 394 |
397 |
| 395 std::unique_ptr<ldraw::Object> Parser::parseFromString(QString line) |
398 std::unique_ptr<ldraw::Object> Parser::parseFromString(QString line) |
| 396 { |
399 { |
| 397 line = line.simplified(); |
400 line = line.trimmed(); |
| 398 try |
401 try |
| 399 { |
402 { |
| 400 const QStringList tokens = line.split(QRegExp{R"(\s+)"}); |
403 const QStringList tokens = line.split(QRegExp{R"(\s+)"}); |
| 401 if (tokens.empty() or tokens == QStringList{{""}}) |
404 if (tokens.empty() or tokens == QStringList{{""}}) |
| 402 { |
405 { |