Canguro.Model.Section.DoubleAngle.initContour C# (CSharp) Метод

initContour() защищенный Метод

protected initContour ( ) : void
Результат void
        protected override void initContour()
        {
            int nVertices = 22;

            contour[0] = new Vector2[nVertices];
            contour[1] = new Vector2[nVertices];

            float minSeparation = 0.001f;
            float lw = t2 / 2f; // L section Width

            // First L
            contour[0][0] = new Vector2(dis / 2.0f + minSeparation, t3 / 2.0f);
            contour[0][1] = new Vector2(contour[0][0].X, 0f);
            contour[0][2] = new Vector2(contour[0][1].X + tw, 0f);
            contour[0][3] = new Vector2(contour[0][2].X, (t3 - tf) / 2.0f);
            contour[0][4] = new Vector2(contour[0][3].X, t3 - tf);
            contour[0][5] = new Vector2(contour[0][2].X + lw / 2.0f, contour[0][4].Y);
            contour[0][6] = new Vector2(contour[0][2].X + lw, contour[0][5].Y);
            contour[0][7] = new Vector2(contour[0][2].X + lw, contour[0][5].Y + tf);
            contour[0][8] = new Vector2(contour[0][0].X + (tw + lw) / 2.0f, contour[0][7].Y);
            contour[0][9] = new Vector2(contour[0][0].X, contour[0][8].Y);
            contour[0][10] = contour[0][0];

            #region Legacy
            //contour[0][0] = new Microsoft.DirectX.Vector2(dis / 2.0f, 0);
            //contour[0][1] = new Microsoft.DirectX.Vector2(contour[0][0].X + tw, 0);
            //contour[0][2] = new Microsoft.DirectX.Vector2(contour[0][1].X, (t3 - tf) / 2.0f);
            //contour[0][3] = new Microsoft.DirectX.Vector2(contour[0][1].X, t3 - tf);
            //contour[0][4] = new Microsoft.DirectX.Vector2((t2 + dis / 2.0f + tw) / 2.0f, t3 - tf);
            //contour[0][5] = new Microsoft.DirectX.Vector2((t2 + dis / 2.0f), t3 - tf);
            //contour[0][6] = new Microsoft.DirectX.Vector2(t2 + dis / 2.0f, t3);
            //contour[0][7] = new Microsoft.DirectX.Vector2((t2 + dis / 2.0f) / 2.0f, t3);
            //contour[0][8] = new Microsoft.DirectX.Vector2(dis / 2.0f, t3);
            //contour[0][9] = new Microsoft.DirectX.Vector2(dis / 2.0f, t3 / 2.0f);
            #endregion

            // Second L
            contour[0][11] = new Vector2(-contour[0][10].X, contour[0][10].Y);
            contour[0][12] = new Vector2(-contour[0][9].X, contour[0][9].Y);
            contour[0][13] = new Vector2(-contour[0][8].X, contour[0][8].Y);
            contour[0][14] = new Vector2(-contour[0][7].X, contour[0][7].Y);
            contour[0][15] = new Vector2(-contour[0][6].X, contour[0][6].Y);
            contour[0][16] = new Vector2(-contour[0][5].X, contour[0][5].Y);
            contour[0][17] = new Vector2(-contour[0][4].X, contour[0][4].Y);
            contour[0][18] = new Vector2(-contour[0][3].X, contour[0][3].Y);
            contour[0][19] = new Vector2(-contour[0][2].X, contour[0][2].Y);
            contour[0][20] = new Vector2(-contour[0][1].X, contour[0][1].Y);
            contour[0][21] = new Vector2(-contour[0][0].X, contour[0][0].Y);

            float a1 = t3 * tw;
            float a2 = (t2 - tw) * tf;
            float cgy = (a1 * (t3 / 2.0f) + a2 * ((t3 + tf) / 2.0f)) / (a1 + a2);
            for (int i = 0; i < nVertices; i++)
                contour[0][i].Y -= cgy;

            // Start first L
            contour[1][0] = new Vector2(-1, 0);
            contour[1][1] = new Vector2(0, -1);
            contour[1][2] = new Vector2(1, 0);
            contour[1][3] = new Vector2(1, 0);
            contour[1][4] = new Vector2(0, -1);
            contour[1][5] = new Vector2(0, -1);
            contour[1][6] = new Vector2(1, 0);
            contour[1][7] = new Vector2(0, 1);
            contour[1][8] = new Vector2(0, 1);
            contour[1][9] = new Vector2(-1, 0);
            contour[1][10] = new Vector2(-1, 0);

            // Start second L
            contour[1][11] = new Vector2(1, 0);
            contour[1][12] = new Vector2(0, 1);
            contour[1][13] = new Vector2(0, 1);
            contour[1][14] = new Vector2(-1, 0);
            contour[1][15] = new Vector2(0, -1);
            contour[1][16] = new Vector2(0, -1);
            contour[1][17] = new Vector2(-1, 0);
            contour[1][18] = new Vector2(-1, 0);
            contour[1][19] = new Vector2(0, -1);
            contour[1][20] = new Vector2(1, 0);
            contour[1][21] = new Vector2(1, 0);

            buildHighStressCover();
            UpdateData();
        }