From 4a7113d7a8e7c3a84338a93e92c8f600e88976f2 Mon Sep 17 00:00:00 2001 From: Sreekanth Arikatla <sreekanth.arikatla@kitware.com> Date: Mon, 11 Jul 2016 10:24:56 -0400 Subject: [PATCH] BUG: Sets displacement to the mesh vertices Sets displacement to the mesh vertices as sum of original positions and the current displacements --- Base/Geometry/Mesh/imstkMesh.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Base/Geometry/Mesh/imstkMesh.cpp b/Base/Geometry/Mesh/imstkMesh.cpp index 0024fa94a..1ddec4f7d 100644 --- a/Base/Geometry/Mesh/imstkMesh.cpp +++ b/Base/Geometry/Mesh/imstkMesh.cpp @@ -80,6 +80,7 @@ void Mesh::setInitialVerticesPositions(const std::vector<Vec3d>& vertices) { m_initialVerticesPositions = vertices; + m_verticesDisplacements= vertices; } const std::vector<Vec3d>& @@ -123,14 +124,20 @@ Mesh::setVerticesDisplacements(const std::vector<Vec3d>& diff) m_verticesDisplacements = diff; } -void Mesh::setVerticesDisplacements(const Vectord& u) +void +Mesh::setVerticesDisplacements(const Vectord& u) { size_t dofId = 0; - for (auto vDisp : m_verticesDisplacements) + for (auto &vDisp : m_verticesDisplacements) { vDisp = Vec3d(u(dofId), u(dofId + 1), u(dofId + 2)); dofId += 3; } + + for (auto i = 0; i < m_verticesPositions.size(); i++) + { + m_verticesPositions[i] = m_initialVerticesPositions[i] + m_verticesDisplacements[i]; + } } const std::vector<Vec3d>& -- GitLab