From b3be7658d656fb4174b4097ebd31b5bec8e0fef8 Mon Sep 17 00:00:00 2001
From: "Dmitry Yu. Naumov" <github@naumov.de>
Date: Sat, 18 Jul 2015 15:40:00 +0000
Subject: [PATCH] [MeL] Comment on NodeSearch::searchByElementIDs.

---
 MeshLib/MeshSearch/NodeSearch.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/MeshLib/MeshSearch/NodeSearch.cpp b/MeshLib/MeshSearch/NodeSearch.cpp
index ee765ac94a5..a51b460e52c 100644
--- a/MeshLib/MeshSearch/NodeSearch.cpp
+++ b/MeshLib/MeshSearch/NodeSearch.cpp
@@ -26,10 +26,11 @@ NodeSearch::NodeSearch(const MeshLib::Mesh &mesh)
 
 std::vector<std::size_t> NodeSearch::searchByElementIDsMatchAllConnectedElements(const std::vector<std::size_t> &elements)
 {
-	std::vector<std::size_t> connected_nodes;
-
+	// Find out by how many elements a node would be removed.
+	//
+	// Note: If there are only few elements to be removed, using a different
+	// algorithm might be more memory efficient.
 	std::vector<std::size_t> node_marked_counts(_mesh.getNNodes(), 0);
-	//this approach is not optimal for memory size
 
 	for(std::size_t eid : elements)
 	{
@@ -39,6 +40,10 @@ std::vector<std::size_t> NodeSearch::searchByElementIDsMatchAllConnectedElements
 		}
 	}
 
+
+	// Push back nodes which counts are equal to number of connected elements to
+	// that node.
+	std::vector<std::size_t> connected_nodes;
 	for (std::size_t i=0; i<node_marked_counts.size(); i++)
 	{
 		if (node_marked_counts[i] == _mesh.getNode(i)->getElements().size())
-- 
GitLab