public void figureInfo(LittleShape2 temp2) { String str = ""; String str3 = ""; temp2.setAngleList(); if (temp2.anglesArr != null) { foreach (var item in temp2.anglesArr) { str3 += item.ToString() + "° "; } } str = "Maccа фигуры: " + temp2.Mass + "\nТекущый индекс: " + curentindex.ToString() + "\n Количество фигур: " + curentList.Count.ToString() + "\nУглы: " + str3 + "Status :" + thredValues.ThreadState.ToString(); ; FlowDocument flowDoc = new FlowDocument(new Paragraph(new Run(str))); textik.Document = flowDoc; }
/// <summary> /// виборка одной фигуры по индексу /// </summary> /// <param name="mass"></param> public LittleShape2 selectOneShape(int m) { LittleShape2 query2 = null; lock (Filler.locker) { query2 = Filler.mainListFigures[m].Clone() as LittleShape2; } myMatrixTransformScaleMini(ref query2); query2.setAngleList(3); //List<LittleShape2> request = new List<LittleShape2>(); //List<LittleShape2> tempRequest = new List<LittleShape2>(); //проверка всех углов // checkbox //Две геометрические фигуры называются равными, если их можно совместить наложением. // как вариант будем одну фигуру вращать // надо длину, угол и порядок следования // сейчас есть 3 квадрата что позволяет думать что мы вроде делаем 3 лишних действия // ---------------------------------------------сразу искать не координаты а вектора фигур но 12в степени 12 еще никто не отменял //if (cb.IsChecked == true && query2.Count > 0) //{ // //фигуры из запроса надо теперь их обработать // // для всех выставить градусы // foreach (var item in query2) // { // LittleShape2 fig2 = item.Clone() as LittleShape2; // myMatrixTransformScale(ref fig2); // fig2.setAngleList(3); // request.Add(fig2); // } // List<int> index2 = new List<int>(); // // проход по всем фигурам кроме последней - будет сверяться две фигуры // for (int i = 0; i < request.Count - 1; i++) // { // if (request[i] == null) continue; // var x1 = request[i]; //фигура а // for (int j = i + 1; j < request.Count; j++) //беру все остальные фиг поочереди поворачивая и проверяю на совпадения // { // if (request[j] == null) continue; // var x2 = request[j]; // фигура следующая // временая фигура она будет или null или не будет // double[] temp = x2.anglesArr.ToArray(); // for (int k = 0; k < x2.anglesArr.Count(); k++) // здесь сравнение и поворот фигуры второй // { // //var a1 = x2.anglesArr.ToArray(); // bool resEual = equalFun(x1.anglesArr, temp); //проверка // if (resEual == true)//ok okokokokokokokokokokokok // { // request[j] = null; // 1111111111111111111111111 // break; // } // else // { // temp = x2.nextAngle(k); // } // } // } // query2 = request.Where(x => x != null).ToList(); // } //} return(query2); }