Пример #1
0
 /// <summary>
 /// Создаение элемента с ссылкой на вершину типа Node
 /// </summary>
 /// <param name="x1">x1</param>
 /// <param name="y1">y1</param>
 /// <param name="x2">x2</param>
 /// <param name="y2">y2</param>
 /// <param name="node">Вершина</param>
 public Zone(float x1, float y1, float x2, float y2, FPBTreeNode.Node node)
 {
     this.X1 = x1;
     this.X2 = x2;
     this.Y1 = y1;
     this.Y2 = y2;
     this.Node = node;
     this.isNode = true;
 }
Пример #2
0
 /// <summary>
 /// Создаение элемента с ссылкой на вершину типа InPageNode
 /// </summary>
 /// <param name="x1">x1</param>
 /// <param name="y1">y1</param>
 /// <param name="x2">x2</param>
 /// <param name="y2">y2</param>
 /// <param name="node">Вершина</param>
 public Zone(float x1, float y1, float x2, float y2, FPBTreeNode.InPageNode node)
 {
     this.X1 = x1;
     this.X2 = x2;
     this.Y1 = y1;
     this.Y2 = y2;
     this.InPageNode = node;
     this.isNode = false;
 }
Пример #3
0
 /// <summary>
 /// Обновление информации о выбранной InPage вершине в textBox
 /// </summary>
 /// <param name="node">Вершина</param>
 private void UpdateTB(FPBTreeNode.InPageNode node)
 {
     textBox2.Invoke(new Action(() => textBox2.Clear()));
     if (node.Tuple)
     {
         if (node.IsLeaf)
         {
             var first = "Вершина является листом, значения - ссылки на вершины";
             var second = string.Format("Количество листьев: {0}", node.CurrentNumberOfKeys);
             var third = "Ключи в листе:";
             string fourth = "";
             for (var i = 0; i <= node.CurrentNumberOfKeys; ++i)
                 fourth += node.LeafKeys[i] + " ";
             textBox2.Invoke(new Action(() => textBox2.Text += first + Environment.NewLine + second + Environment.NewLine + third + Environment.NewLine + fourth));
         }
         else
         {
             var first = "Вершина не является листом, значения - ссылки на In-Page вершины";
             var second = "";
             if(node.NonLeafKeys[0]!=null&&node.CurrentNumberOfKeys==0)
                 second = string.Format("Количество детей: 1");
             else
                 second = string.Format("Количество детей: {0}", node.CurrentNumberOfKeys);
             var third = "Ключи в вершине:";
             string fourth = "";
             for (var i = 0; i <= node.CurrentNumberOfKeys; ++i)
                 fourth += node.NonLeafKeys[i] + " ";
             textBox2.Invoke(new Action(() => textBox2.Text += first + Environment.NewLine + second + Environment.NewLine + third + Environment.NewLine + fourth));
         }
     }
     else
     {
         if (node.IsLeaf)
         {
             var first = "Вершина является листом, значения - данные в базе";
             var second = string.Format("Количество листьев: {0}", node.CurrentNumberOfKeys);
             var third = "Ключи в листе:";
             string fourth = "";
             for (var i = 0; i < node.CurrentNumberOfKeys; ++i)
                 fourth += node.LeafKeys[i] + " ";
             textBox2.Invoke(new Action(() => textBox2.Text += first + Environment.NewLine + second + Environment.NewLine + third + Environment.NewLine + fourth));
         }
         else
         {
             var first = "Вершина не является листом, значения - ссылки на In-Page вершины";
             var second = "";
             if (node.NonLeafKeys[0] != null && node.CurrentNumberOfKeys == 0)
                 second = string.Format("Количество детей: 1");
             else
                 second = string.Format("Количество детей: {0}", node.CurrentNumberOfKeys);
             var third = "Ключи в вершине:";
             string fourth = "";
             for (var i = 0; i <= node.CurrentNumberOfKeys; ++i)
                 fourth += node.NonLeafKeys[i] + " ";
             textBox2.Invoke(new Action(() => textBox2.Text += first + Environment.NewLine + second + Environment.NewLine + third + Environment.NewLine + fourth));
         }
     }
 }