Esempio n. 1
0
        public List <RegMesh2D> Generate(IContour contour)
        {
            IPoint[,] points = new Point[this.nY, this.nX];
            ICurve a1 = contour[0];
            ICurve a2 = contour[1];
            ICurve a3 = contour[2];
            ICurve a4 = contour[3];

            for (int i = 0; i < this.nY; i++)
            {
                double xA, yA, xB, yB;
                a4.getPoint(1 - i * hY, out xA, out yA);
                a2.getPoint(i * hY, out xB, out yB);
                ICurve curve = new Relocate(new Morph(a1, a3, i * hY), new Point(xA, yA), new Point(xB, yB));
                for (int j = 0; j < this.nX; j++)
                {
                    double x, y;
                    curve.getPoint(j * hX, out x, out y);
                    points[i, j] = new Point(x, y);
                }
            }
            return(new List <RegMesh2D>()
            {
                new RegMesh2D(points, nX, nY)
            });
        }
Esempio n. 2
0
        public void getPointTest1()
        {
            ICurve   curve     = new Line(new Point(2, 1), new Point(3, 4)); // TODO: инициализация подходящего значения
            Point    newA      = new Point(1, 1);                            // TODO: инициализация подходящего значения
            Point    newB      = new Point(2, 2);                            // TODO: инициализация подходящего значения
            Relocate target    = new Relocate(curve, newA, newB);            // TODO: инициализация подходящего значения
            double   t         = 0;                                          // TODO: инициализация подходящего значения
            double   x         = 0F;                                         // TODO: инициализация подходящего значения
            double   xExpected = 1;                                          // TODO: инициализация подходящего значения
            double   y         = 0F;                                         // TODO: инициализация подходящего значения
            double   yExpected = 1;                                          // TODO: инициализация подходящего значения

            target.getPoint(t, out x, out y);
            Assert.AreEqual(xExpected, x, 0.01);
            Assert.AreEqual(yExpected, y, 0.01);
            //  Assert.Inconclusive("Невозможно проверить метод, не возвращающий значение.");
        }
Esempio n. 3
0
        private void fillMesh()
        {
            for (int i = 0; i < nY; i++)
            {
                Point  a, b;
                double x, y;
                contour[1].getPoint(1 - hY * i, out x, out y);
                a = new Geometry.Point(x, y);
                contour[3].getPoint(hY * i, out x, out y);
                b = new Geometry.Point(x, y);
                ICurve curve = new Relocate(new Morph(contour[0], contour[2], hY * i), a, b);

                for (int j = 0; j < nX; j++)
                {
                    curve.getPoint(vectorOfParam[j], out x, out y);
                    mesh[0][i, j].X = x;
                    mesh[0][i, j].Y = y;
                }
            }
        }