# HG changeset patch # User Teemu Piippo # Date 1488725406 -7200 # Node ID 46dc716238fdb9ca4202738ac1ebb2ffb15fb189 # Parent eae8b3bce5456a4f5e18390cd20d4c267ce696e2 Renamed some methods of the Model class to remove the 'emplace' word (however cromulent it is, being from STL...) from them. diff -r eae8b3bce545 -r 46dc716238fd src/canvas.cpp --- a/src/canvas.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/canvas.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -256,7 +256,7 @@ { PrimitiveTreeItem* item = static_cast (m_window->getPrimitivesTree()->currentItem()); QString primitiveName = item->primitive()->name; - LDSubfileReference* reference = currentDocument()->emplaceAt(m_window->suggestInsertPoint()); + LDSubfileReference* reference = currentDocument()->insert(m_window->suggestInsertPoint()); reference->setFileInfo (m_documents->getDocumentByName(primitiveName)); currentDocument()->addToSelection(reference); m_window->buildObjectList(); diff -r eae8b3bce545 -r 46dc716238fd src/dialogs/newpartdialog.cpp --- a/src/dialogs/newpartdialog.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/dialogs/newpartdialog.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -70,16 +70,16 @@ void NewPartDialog::fillHeader (LDDocument* newdoc) const { - newdoc->emplace(title()); - newdoc->emplace("Name: .dat"); - newdoc->emplace("Author: " + author()); - newdoc->emplace("!LDRAW_ORG Unofficial_Part"); + newdoc->append(title()); + newdoc->append("Name: .dat"); + newdoc->append("Author: " + author()); + newdoc->append("!LDRAW_ORG Unofficial_Part"); QString license = preferredLicenseText(); if (not license.isEmpty()) - newdoc->emplace(license); + newdoc->append(license); - newdoc->emplace(); - newdoc->emplace(getWinding()); - newdoc->emplace(); + newdoc->append(); + newdoc->append(getWinding()); + newdoc->append(); } diff -r eae8b3bce545 -r 46dc716238fd src/documentloader.cpp --- a/src/documentloader.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/documentloader.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -113,7 +113,7 @@ while (line.endsWith ("\n") or line.endsWith ("\r")) line.chop (1); - LDObject* obj = _model->addFromString(line); + LDObject* obj = _model->appendFromString(line); // Check for parse errors and warn about them if (obj->type() == LDObjectType::Error) diff -r eae8b3bce545 -r 46dc716238fd src/editmodes/circleMode.cpp --- a/src/editmodes/circleMode.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/editmodes/circleMode.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -105,7 +105,7 @@ primitiveModel.ringNumber = component.num; primitiveFile = primitives()->getPrimitive(primitiveModel); Matrix matrix = Matrix::fromRotationMatrix(renderer()->currentCamera().transformationMatrix(component.scale)); - model.emplace(primitiveFile, matrix, m_drawedVerts.first()); + model.append(primitiveFile, matrix, m_drawedVerts.first()); } } else @@ -139,7 +139,7 @@ v3.setCoordinate (localx, v3[localx] + c1[i].x1()); v3.setCoordinate (localy, v3[localy] + c1[i].y1()); - LDQuadrilateral* quad = model.emplace(v0, v1, v2, v3); + LDQuadrilateral* quad = model.append(v0, v1, v2, v3); quad->setColor(MainColor); // Ensure the quads always are BFC-front towards the camera @@ -149,7 +149,7 @@ } if (circleOrDisc and primitiveFile) - model.emplace(primitiveFile, transform, m_drawedVerts.first()); + model.append(primitiveFile, transform, m_drawedVerts.first()); finishDraw (model); } diff -r eae8b3bce545 -r 46dc716238fd src/editmodes/curvemode.cpp --- a/src/editmodes/curvemode.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/editmodes/curvemode.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -87,7 +87,7 @@ if (countof(m_drawedVerts) == 4) { Model model {m_documents}; - model.emplace(m_drawedVerts[0], m_drawedVerts[1], m_drawedVerts[2], m_drawedVerts[3]); + model.append(m_drawedVerts[0], m_drawedVerts[1], m_drawedVerts[2], m_drawedVerts[3]); finishDraw(model); } } diff -r eae8b3bce545 -r 46dc716238fd src/editmodes/drawMode.cpp --- a/src/editmodes/drawMode.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/editmodes/drawMode.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -74,15 +74,15 @@ { case 2: // 2 verts - make a line - model.emplace(verts[0], verts[1]); + model.append(verts[0], verts[1]); break; case 3: case 4: { LDObject* obj = (countof(verts) == 3) ? - static_cast(model.emplace()) : - static_cast(model.emplace()); + static_cast(model.append()) : + static_cast(model.append()); for (int i = 0; i < countof(verts); ++i) obj->setVertex (i, verts[i]); diff -r eae8b3bce545 -r 46dc716238fd src/editmodes/linePathMode.cpp --- a/src/editmodes/linePathMode.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/editmodes/linePathMode.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -84,7 +84,7 @@ Model model {m_documents}; for (int i = 0; i < countof(m_drawedVerts) - 1; ++i) - model.emplace(m_drawedVerts[i], m_drawedVerts[i + 1]); + model.append(m_drawedVerts[i], m_drawedVerts[i + 1]); finishDraw(model); } diff -r eae8b3bce545 -r 46dc716238fd src/editmodes/rectangleMode.cpp --- a/src/editmodes/rectangleMode.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/editmodes/rectangleMode.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -43,7 +43,7 @@ if (countof(m_drawedVerts) == 2) { Model model {m_documents}; - LDQuadrilateral* quad = model.emplace(); + LDQuadrilateral* quad = model.append(); updateRectVerts(); for (int i = 0; i < quad->numVertices(); ++i) diff -r eae8b3bce545 -r 46dc716238fd src/lddocument.cpp --- a/src/lddocument.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/lddocument.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -281,7 +281,7 @@ if (fileInfo) reference->setFileInfo (fileInfo); else - emplaceReplacement(reference, reference->asText(), format("Could not open %1", reference->fileInfo()->name())); + replace(reference, reference->asText(), format("Could not open %1", reference->fileInfo()->name())); } // Reparse gibberish files. It could be that they are invalid because @@ -433,7 +433,7 @@ if (deep and object->type() == LDObjectType::SubfileReference) static_cast(object)->inlineContents(model, deep, renderinline); else - model.addFromString(object->asText()); + model.appendFromString(object->asText()); } } diff -r eae8b3bce545 -r 46dc716238fd src/linetypes/conditionaledge.cpp --- a/src/linetypes/conditionaledge.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/linetypes/conditionaledge.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -52,7 +52,7 @@ LDEdgeLine* LDConditionalEdge::becomeEdgeLine() { - LDEdgeLine* replacement = model()->emplaceReplacement(this); + LDEdgeLine* replacement = model()->replace(this); if (replacement) { diff -r eae8b3bce545 -r 46dc716238fd src/linetypes/modelobject.cpp --- a/src/linetypes/modelobject.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/linetypes/modelobject.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -443,7 +443,7 @@ } // Not inverted, thus prefix it with a new invertnext. - this->model()->emplaceAt(idx, BfcStatement::InvertNext); + this->model()->insert(idx, BfcStatement::InvertNext); } // ============================================================================= @@ -625,7 +625,7 @@ for (LDPolygon& poly : polygons) { - LDEdgeLine* line = model.emplace(poly.vertices[0], poly.vertices[1]); + LDEdgeLine* line = model.append(poly.vertices[0], poly.vertices[1]); line->setColor (poly.color); } } diff -r eae8b3bce545 -r 46dc716238fd src/model.cpp --- a/src/model.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/model.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -316,7 +316,7 @@ if (countof(tokens) <= 0) { // Line was empty, or only consisted of whitespace - return emplaceAt(position); + return insert(position); } if (countof(tokens[0]) != 1 or not tokens[0][0].isDigit()) @@ -338,18 +338,18 @@ for (BfcStatement statement : iterateEnum()) { if (commentTextSimplified == format("BFC %1", LDBfc::statementToString (statement))) - return emplaceAt(position, statement); + return insert(position, statement); } // MLCAD is notorious for stuffing these statements in parts it // creates. The above block only handles valid statements, so we // need to handle MLCAD-style invertnext, clip and noclip separately. if (commentTextSimplified == "BFC CERTIFY INVERTNEXT") - return emplaceAt(position, BfcStatement::InvertNext); + return insert(position, BfcStatement::InvertNext); else if (commentTextSimplified == "BFC CERTIFY CLIP") - return emplaceAt(position, BfcStatement::Clip); + return insert(position, BfcStatement::Clip); else if (commentTextSimplified == "BFC CERTIFY NOCLIP") - return emplaceAt(position, BfcStatement::NoClip); + return insert(position, BfcStatement::NoClip); } if (countof(tokens) > 2 and tokens[1] == "!LDFORGE") @@ -359,7 +359,7 @@ { CheckTokenCount (tokens, 16); CheckTokenNumbers (tokens, 3, 15); - LDBezierCurve* obj = emplaceAt(position); + LDBezierCurve* obj = insert(position); obj->setColor (StringToNumber (tokens[3])); for (int i = 0; i < 4; ++i) @@ -370,7 +370,7 @@ } // Just a regular comment: - return emplaceAt(position, commentText); + return insert(position, commentText); } case 1: @@ -384,7 +384,7 @@ // here because the error object needs the document reference. if (not document) { - LDError* obj = emplaceAt(position, line, format ("Could not open %1", tokens[14])); + LDError* obj = insert(position, line, format ("Could not open %1", tokens[14])); obj->setFileReferenced (tokens[14]); return obj; } @@ -395,7 +395,7 @@ for (int i = 0; i < 9; ++i) transform.value(i) = tokens[i + 5].toDouble(); // 5 - 13 - LDSubfileReference* obj = emplaceAt(position, document, transform, referncePosition); + LDSubfileReference* obj = insert(position, document, transform, referncePosition); obj->setColor (StringToNumber (tokens[1])); return obj; } @@ -406,7 +406,7 @@ CheckTokenNumbers (tokens, 1, 7); // Line - LDEdgeLine* obj = emplaceAt(position); + LDEdgeLine* obj = insert(position); obj->setColor (StringToNumber (tokens[1])); for (int i = 0; i < 2; ++i) @@ -421,7 +421,7 @@ CheckTokenNumbers (tokens, 1, 10); // Triangle - LDTriangle* obj = emplaceAt(position); + LDTriangle* obj = insert(position); obj->setColor (StringToNumber (tokens[1])); for (int i = 0; i < 3; ++i) @@ -440,9 +440,9 @@ LDObject* obj; if (num == 4) - obj = emplaceAt(position); + obj = insert(position); else - obj = emplaceAt(position); + obj = insert(position); obj->setColor (StringToNumber (tokens[1])); @@ -459,14 +459,14 @@ catch (QString& errorMessage) { // Strange line we couldn't parse - return emplaceAt(position, line, errorMessage); + return insert(position, line, errorMessage); } } /* * Given an LDraw object string, parses it and inserts it into the model. */ -LDObject* Model::addFromString(QString line) +LDObject* Model::appendFromString(QString line) { return insertFromString(size(), line); } diff -r eae8b3bce545 -r 46dc716238fd src/model.h --- a/src/model.h Sun Mar 05 16:47:52 2017 +0200 +++ b/src/model.h Sun Mar 05 16:50:06 2017 +0200 @@ -36,12 +36,12 @@ Model(const Model& other) = delete; bool swapObjects(LDObject* one, LDObject* other); - template T* emplace(Args&& ...args); - template T* emplaceAt(int position, Args&& ...args); - template T* emplaceReplacement(LDObject* object, Args&& ...args); + template T* append(Args&& ...args); + template T* insert(int position, Args&& ...args); + template T* replace(LDObject* object, Args&& ...args); void removeAt(int position); void remove(LDObject* object); - void replace(LDObject *object, Model& model); + void replace(LDObject* object, Model& model); void clear(); void merge(Model& other, int position = -1, Filter filter = nullptr, Callback callback = nullptr); int size() const; @@ -54,7 +54,7 @@ bool isEmpty() const; class DocumentManager* documentManager() const; LDObject* insertFromString(int position, QString line); - LDObject* addFromString(QString line); + LDObject* appendFromString(QString line); LDObject* replaceWithFromString(LDObject* object, QString line); signals: @@ -89,10 +89,10 @@ * * This constructor can be invoked as such: * - * model->emplace(v1, v2); + * model->append(v1, v2); */ template -T* Model::emplace(Args&& ...args) +T* Model::append(Args&& ...args) { T* object = _objects.append(args..., this); finalizeNewObject(size() - 1, object); @@ -100,11 +100,11 @@ } /* - * Like emplace<>() but also takes a position as the first argument and emplaces the object at the given position instead of the + * Like append<>() but also takes a position as the first argument and emplaces the object at the given position instead of the * end of the model. */ template -T* Model::emplaceAt(int position, Args&& ...args) +T* Model::insert(int position, Args&& ...args) { T* object = _objects.insert(position, args..., this); finalizeNewObject(position, object); @@ -112,11 +112,11 @@ } /* - * Like emplace<>() but instead of inserting the constructed object, the new object replaces the object given in the first parameter. + * Like append<>() but instead of inserting the constructed object, the new object replaces the object given in the first parameter. * If the old object cannot be replaced, the new object will not be constructed at all. */ template -T* Model::emplaceReplacement(LDObject* object, Args&& ...args) +T* Model::replace(LDObject* object, Args&& ...args) { if (object->model() == this) { diff -r eae8b3bce545 -r 46dc716238fd src/primitives.cpp --- a/src/primitives.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/primitives.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -267,7 +267,7 @@ { case Circle: { - LDEdgeLine* line = model.emplace(); + LDEdgeLine* line = model.append(); line->setVertex(0, Vertex {x0, 0.0f, z0}); line->setVertex(1, Vertex {x1, 0.0f, z1}); line->setColor(EdgeColor); @@ -316,7 +316,7 @@ Vertex v1 = {x1, y1, z1}; Vertex v2 = {x2, y2, z2}; Vertex v3 = {x3, y3, z3}; - LDQuadrilateral* quad = model.emplace(v0, v1, v2, v3); + LDQuadrilateral* quad = model.append(v0, v1, v2, v3); quad->setColor(MainColor); if (type == Cylinder) @@ -348,7 +348,7 @@ // Disc negatives need to go the other way around, otherwise // they'll end up upside-down. - LDTriangle* segment = model.emplace(); + LDTriangle* segment = model.append(); segment->setColor(MainColor); segment->setVertex(type == Disc ? 0 : 2, v0); segment->setVertex(1, v1); @@ -380,7 +380,7 @@ v0 = {v0[X] * ringNumber, 1.0, v0[Z] * ringNumber}; } - LDConditionalEdge* line = model.emplace(); + LDConditionalEdge* line = model.append(); line->setColor(EdgeColor); line->setVertex(0, v0); line->setVertex(1, v1); @@ -480,14 +480,14 @@ document->setFrozen(false); document->history()->setIgnoring(false); - document->emplace(description); - document->emplace(format("Name: %1", fileName)); - document->emplace(format("Author: %1", author)); - document->emplace(format("!LDRAW_ORG Unofficial_%1Primitive", hires ? "48_" : "")); - document->emplace(license); - document->emplace(); - document->emplace(BfcStatement::CertifyCCW); - document->emplace(); + document->append(description); + document->append(format("Name: %1", fileName)); + document->append(format("Author: %1", author)); + document->append(format("!LDRAW_ORG Unofficial_%1Primitive", hires ? "48_" : "")); + document->append(license); + document->append(); + document->append(BfcStatement::CertifyCCW); + document->append(); spec.generateBody(*document); document->addHistoryStep(); return document; diff -r eae8b3bce545 -r 46dc716238fd src/toolsets/algorithmtoolset.cpp --- a/src/toolsets/algorithmtoolset.cpp Sun Mar 05 16:47:52 2017 +0200 +++ b/src/toolsets/algorithmtoolset.cpp Sun Mar 05 16:50:06 2017 +0200 @@ -72,8 +72,8 @@ // │ │ --→ │╱ ╱ │ // 1───2 1 1───2 Model replacement {m_documents}; - LDTriangle* triangle1 = replacement.emplace(v0, v1, v3); - LDTriangle* triangle2 = replacement.emplace(v1, v2, v3); + LDTriangle* triangle1 = replacement.append(v0, v1, v3); + LDTriangle* triangle2 = replacement.append(v1, v2, v3); // The triangles also inherit the quad's color triangle1->setColor(object->color()); @@ -129,17 +129,17 @@ if (type == LDObjectType::Quadrilateral) { LDQuadrilateral* quad = static_cast(object); - lines.emplace(quad->vertex (0), quad->vertex (1)); - lines.emplace(quad->vertex (1), quad->vertex (2)); - lines.emplace(quad->vertex (2), quad->vertex (3)); - lines.emplace(quad->vertex (3), quad->vertex (0)); + lines.append(quad->vertex (0), quad->vertex (1)); + lines.append(quad->vertex (1), quad->vertex (2)); + lines.append(quad->vertex (2), quad->vertex (3)); + lines.append(quad->vertex (3), quad->vertex (0)); } else { LDTriangle* triangle = static_cast(object); - lines.emplace(triangle->vertex (0), triangle->vertex (1)); - lines.emplace(triangle->vertex (1), triangle->vertex (2)); - lines.emplace(triangle->vertex (2), triangle->vertex (0)); + lines.append(triangle->vertex (0), triangle->vertex (1)); + lines.append(triangle->vertex (1), triangle->vertex (2)); + lines.append(triangle->vertex (2), triangle->vertex (0)); } count += countof(lines.objects()); @@ -363,7 +363,7 @@ int idx = obj ? obj->lineNumber() : 0; // Create the comment object based on input - currentDocument()->emplaceAt(idx++, format("!HISTORY %1 [%2] %3", + currentDocument()->insert(idx++, format("!HISTORY %1 [%2] %3", ui.m_date->date().toString ("yyyy-MM-dd"), ui.m_username->text(), ui.m_comment->text())); @@ -371,7 +371,7 @@ // If we're adding a history line right before a scemantic object, pad it // an empty line if (obj and obj->next() and obj->next()->isScemantic()) - currentDocument()->emplaceAt(idx); + currentDocument()->insert(idx); m_window->buildObjectList(); } @@ -412,9 +412,9 @@ }); if (obj->type() == LDObjectType::EdgeLine) - segments.emplace(v0, v1); + segments.append(v0, v1); else - segments.emplace(v0, v1, obj->vertex (2), obj->vertex (3)); + segments.append(v0, v1, obj->vertex (2), obj->vertex (3)); } currentDocument()->replace(obj, segments); @@ -513,23 +513,23 @@ subfile->setName(LDDocument::shortenName(fullSubfileName)); Model header {m_documents}; - header.emplace(subfileTitle); - header.emplace("Name: "); // This gets filled in when the subfile is saved - header.emplace(format("Author: %1 [%2]", m_config->defaultName(), m_config->defaultUser())); - header.emplace("!LDRAW_ORG Unofficial_Subpart"); + header.append(subfileTitle); + header.append("Name: "); // This gets filled in when the subfile is saved + header.append(format("Author: %1 [%2]", m_config->defaultName(), m_config->defaultUser())); + header.append("!LDRAW_ORG Unofficial_Subpart"); QString license = preferredLicenseText(); if (not license.isEmpty()) - header.emplace(license); + header.append(license); - header.emplace(); - header.emplace(winding); - header.emplace(); + header.append(); + header.append(winding); + header.append(); subfile->merge(header); // Copy the body over to the new document for (LDObject* object : selectedObjects()) - subfile->addFromString(object->asText()); + subfile->appendFromString(object->asText()); // Try save it if (m_window->save(subfile, true)) @@ -544,7 +544,7 @@ currentDocument()->remove(object); // Add a reference to the new subfile to where the selection was - currentDocument()->emplaceAt(referencePosition, subfile, Matrix::identity, Vertex {0, 0, 0}); + currentDocument()->insert(referencePosition, subfile, Matrix::identity, Vertex {0, 0, 0}); // Refresh stuff m_window->updateDocumentList();