From a91e6e9ba6fde4a95602703303fdcd472ac91d05 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 13 Dec 2022 12:47:42 +0100 Subject: [PATCH] Base: set values in constructor of NormalItem --- src/Base/Builder3D.cpp | 4 ++-- src/Base/Builder3D.h | 3 +-- src/Mod/Mesh/App/Core/MeshIO.cpp | 9 ++++----- tests/src/InventorBuilder.cpp | 4 +--- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/Base/Builder3D.cpp b/src/Base/Builder3D.cpp index dbb81e6b4d..a70a163d03 100644 --- a/src/Base/Builder3D.cpp +++ b/src/Base/Builder3D.cpp @@ -658,9 +658,9 @@ void IndexedFaceSetItem::write(InventorOutput &out) const // ----------------------------------------------------------------------------- -void NormalItem::setVector(const std::vector& vec) +NormalItem::NormalItem(const std::vector& vec) + : vector(vec) { - vector = vec; } void NormalItem::write(InventorOutput& out) const diff --git a/src/Base/Builder3D.h b/src/Base/Builder3D.h index eba757ca98..bf3fc43606 100644 --- a/src/Base/Builder3D.h +++ b/src/Base/Builder3D.h @@ -423,8 +423,7 @@ private: class BaseExport NormalItem : public NodeItem { public: - explicit NormalItem() = default; - void setVector(const std::vector& vec); + explicit NormalItem(const std::vector& vec); void write(InventorOutput& out) const override; private: diff --git a/src/Mod/Mesh/App/Core/MeshIO.cpp b/src/Mod/Mesh/App/Core/MeshIO.cpp index c850f86c98..510fdccfbd 100644 --- a/src/Mod/Mesh/App/Core/MeshIO.cpp +++ b/src/Mod/Mesh/App/Core/MeshIO.cpp @@ -2713,14 +2713,13 @@ bool MeshOutput::SaveInventor (std::ostream &rstrOut) const seq.next(true); // allow to cancel } - Base::NormalItem normal; - normal.setVector(normals); - builder.addNode(normal); - // coordinates of the vertices + builder.addNode(Base::NormalItem{normals}); + Base::NormalBindingItem binding; binding.setValue(Base::BindingElement::Binding::PerFace); builder.addNode(binding); + // coordinates of the vertices std::vector coords; coords.reserve(_rclMesh.CountPoints()); @@ -2738,7 +2737,7 @@ bool MeshOutput::SaveInventor (std::ostream &rstrOut) const // and finally the facets with their point indices const MeshFacetArray& faces = _rclMesh.GetFacets(); std::vector indices; - indices.reserve(4*faces.size()); + indices.reserve(4 * faces.size()); for (MeshFacetArray::_TConstIterator it = faces.begin(); it != faces.end(); ++it) { indices.push_back(static_cast(it->_aulPoints[0])); indices.push_back(static_cast(it->_aulPoints[1])); diff --git a/tests/src/InventorBuilder.cpp b/tests/src/InventorBuilder.cpp index f04ab794f7..bda7f31afd 100644 --- a/tests/src/InventorBuilder.cpp +++ b/tests/src/InventorBuilder.cpp @@ -380,9 +380,7 @@ R"(Normal { QFETCH(Base::Vector3f, input); QFETCH(QString, result); - Base::NormalItem item; - item.setVector({input}); - builder.addNode(item); + builder.addNode(Base::NormalItem{{input}}); QString string = QString::fromStdString(output.str()); QCOMPARE(string, result);