Example #1
0
        /// <summary>
        /// Inserts a node and creates edges around the local points of the cluster it the
        /// node we try to insert belongs to at each level
        /// </summary>
        private static void InsertStalHEdges(HierarchicalMap map, Id <ConcreteNode> concreteNodeId)
        {
            var abstractNodeId   = map.ConcreteNodeIdToAbstractNodeIdMap[concreteNodeId];
            var abstractNodeInfo = map.AbstractGraph.GetNodeInfo(abstractNodeId);
            var oldLevel         = abstractNodeInfo.Level;

            abstractNodeInfo.Level = map.MaxLevel;
            for (var level = oldLevel + 1; level <= map.MaxLevel; level++)
            {
                map.AddEdgesToOtherEntrancesInCluster(abstractNodeInfo, level);
            }
        }