Пример #1
0
Файл: Router.cs Проект: Cdrix/SM
 /// <summary>
 /// Ordering to be closer to _fin
 /// </summary>
 void SetAnchorsPriorityToFin(VectorM[] anchorOrdered)
 {
     //now will need the distances towards the ordered end
     for (int i = 0; i < currBuilding.Anchors.Count; i++)
     {
         anchorOrdered[i] = new VectorM(currBuilding.Anchors[i], _fin);
     }
     anchorOrdered         = anchorOrdered.OrderBy(a => a.Distance).ToArray();
     closest1stAnchorToFin = anchorOrdered[0].Point;
     closest2ndAnchorToFin = anchorOrdered[1].Point;
     closest3rdAnchorToFin = anchorOrdered[2].Point;
 }
Пример #2
0
Файл: Router.cs Проект: Cdrix/SM
    /// <summary>
    /// Set the the closest anchor to origin, then calls SetAnchorsPriorityToFin()
    /// </summary>
    void SetAnchors()
    {
        //_person.DebugList.AddRange(UVisHelp.CreateHelpers(currBuilding.Anchors, Root.yellowCube));
        VectorM[] anchorOrdered = new VectorM[4];
        for (int i = 0; i < currBuilding.Anchors.Count; i++)
        {
            anchorOrdered[i] = new VectorM(currBuilding.Anchors[i], _current);
        }
        anchorOrdered         = anchorOrdered.OrderBy(a => a.Distance).ToArray();
        closestAnchorToOrigin = anchorOrdered[0].Point;

        SetAnchorsPriorityToFin(anchorOrdered);
    }
Пример #3
0
        public void TestSort()
        {
            var x = new VectorM(3.2m, 1.3m, 9.0m, 7.6m, 2.6m);

            x.Sort();
            Assert.AreEqual<VectorM>(
                new VectorM(1.3m, 2.6m, 3.2m, 7.6m, 9.0m),
                x);

            x.Sort(true);
            Assert.AreEqual<VectorM>(
                new VectorM(9.0m, 7.6m, 3.2m, 2.6m, 1.3m),
                x);

            var y = new VectorC(
                new ComplexD(2, 3),
                new ComplexD(-1, -4),
                new ComplexD(6, 7),
                new ComplexD(1, 2));

            y.Sort();
            Assert.AreEqual<VectorC>(
                new VectorC(
                    new ComplexD(-1, -4),
                    new ComplexD(1, 2),
                    new ComplexD(2, 3),
                    new ComplexD(6, 7)),
                y);

            y.Sort(true);
            Assert.AreEqual<VectorC>(
                new VectorC(
                    new ComplexD(6, 7),
                    new ComplexD(2, 3),
                    new ComplexD(1, 2),
                    new ComplexD(-1, -4)),
                y);
        }
Пример #4
0
        public void TestSum()
        {
            var x = new VectorM(3.2m, 1.3m, 9.0m, 7.6m, 2.6m);

            var sumX = x.Sum();
            Assert.AreEqual<decimal>(23.7m, sumX);

            var y = new VectorC(
                new ComplexD(2, 3),
                new ComplexD(-1, -4),
                new ComplexD(6, 7),
                new ComplexD(1, 2));

            //var sumY = y.Sum();
        }