/// <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; }
/// <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; } } }