Esempio n. 1
0
        /// <summary>
        /// Копирование
        /// </summary>
        /// <param name="node"></param>
        public void copy(TRNode node)// метод копирования узла
        {
            FObject = new MyLib.Point[node.FObject.Length];
            if (FObject.Length > 0)
            {
                for (int i = 0; i < node.FObject.Length; i++)
                {
                    FObject[i]         = new MyLib.Point(node.FObject[i].x, node.FObject[i].y, node.FObject[i].idx);
                    FObject[i].cluster = node.FObject[i].cluster;
                }
                FisLeaf = true;
            }
            else
            {
                FChildren = new int[node.FChildren.Length];
                for (int i = 0; i < node.FChildren.Length; i++)
                {
                    FChildren[i] = node.FChildren[i];
                }
                FisLeaf = false;
            }


            fmbr = new TMBR(node.fmbr.Left, node.fmbr.Right);

            FParent = node.FParent;
            FLevel  = node.FLevel;
        }
Esempio n. 2
0
 /// <summary>
 ///  метод присваивания обьекта узлу
 /// </summary>
 /// <param name="index"></param>
 /// <param name="obj"></param>
 public void setObject(int index, MyLib.Point obj)
 {
     if (FObject.Length > index && index >= 0)
     {
         FObject[index] = obj;
         FisLeaf        = true;
     }
     else
     {
         if (index <= MAX_M - 1 && index >= 0)
         {
             Array.Resize(ref FObject, index + 1);
             FObject[index] = obj;
             FisLeaf        = true;
         }
     }
 }