Пример #1
0
        //private PolyMesh BuildStrut(GraphEdge Edge) {
        //    Circle[] item = this.SrtCircles[Edge];
        //    int num = this.SrtThick[Edge];
        //    Tuple<int, int, int> tuple = new Tuple<int, int, int>(Edge.From, Edge.To, 0);
        //    Tuple<int, int, int> tuple1 = new Tuple<int, int, int>(Edge.From, Edge.To, 1);
        //    Point3d[][] point3dArray = this.CreateCirclePoints(item[0], item[1], item[2], num, this.SrtPoints[tuple]);
        //    Point3d[][] point3dArray1 = this.CreateCirclePoints(item[5], item[4], item[3], num, this.SrtPoints[tuple1]);
        //    PolyMesh polyMesh = new PolyMesh();
        //    polyMesh.Append(this.MeshPoints(point3dArray[0], point3dArray[1]));
        //    polyMesh.Append(this.MeshPoints(point3dArray[1], point3dArray[2]));
        //    polyMesh.Append(this.MeshPoints(point3dArray1[0], point3dArray1[1]));
        //    polyMesh.Append(this.MeshPoints(point3dArray1[1], point3dArray1[2]));
        //    Point3d[][] point3dArray2 = PointUtil.InterpolatePointArrays(point3dArray[2], this.FixOrientation(point3dArray[2], point3dArray1[2]), this.SrtFaces[Edge]);
        //    int length = checked((int)point3dArray2.Length - 2);
        //    for (int i = 0; i <= length; i = checked(i + 1)) {
        //        polyMesh.Append(this.MeshPoints(point3dArray2[i], point3dArray2[checked(i + 1)]));
        //    }
        //    return polyMesh;
        //}

        private Mesh BuildStrut(GraphEdge Edge)
        {
            Circle[] item = this.SrtCircles[Edge];
            int      num  = this.SrtThick[Edge];
            Tuple <int, int, int> tuple  = new Tuple <int, int, int>(Edge.From, Edge.To, 0);
            Tuple <int, int, int> tuple1 = new Tuple <int, int, int>(Edge.From, Edge.To, 1);

            Point3d[][] point3dArray  = this.CreateCirclePoints(item[0], item[1], item[2], num, this.SrtPoints[tuple]);
            Point3d[][] point3dArray1 = this.CreateCirclePoints(item[5], item[4], item[3], num, this.SrtPoints[tuple1]);
            Mesh        polyMesh      = new Mesh();

            polyMesh.Append(this.MeshPoints(point3dArray[0], point3dArray[1]));
            polyMesh.Append(this.MeshPoints(point3dArray[1], point3dArray[2]));
            polyMesh.Append(this.MeshPoints(point3dArray1[0], point3dArray1[1]));
            polyMesh.Append(this.MeshPoints(point3dArray1[1], point3dArray1[2]));
            Point3d[][] point3dArray2 = PointUtil.InterpolatePointArrays(point3dArray[2], this.FixOrientation(point3dArray[2], point3dArray1[2]), this.SrtFaces[Edge]);
            int         length        = checked ((int)point3dArray2.Length - 2);

            for (int i = 0; i <= length; i = checked (i + 1))
            {
                polyMesh.Append(this.MeshPoints(point3dArray2[i], point3dArray2[checked (i + 1)]));
            }
            return(polyMesh);
        }