예제 #1
0
파일: Class883.cs 프로젝트: 15831944/WW
        public static void smethod_1(Interface9 writer, Class883.Enum34 value)
        {
            if (writer.FileFormatVersion > Class250.int_27)
            {
                writer.imethod_10(Class883.string_0, (int)value);
            }
            else
            {
                string str;
                switch (value)
                {
                case Class883.Enum34.const_0:
                    str = Class883.string_0[0];
                    break;

                case Class883.Enum34.const_1:
                    str = Class883.string_0[1];
                    break;

                case Class883.Enum34.const_2:
                    str = Class883.string_0[2];
                    break;

                default:
                    throw new Exception0("Unknown b-spline type");
                }
                writer.imethod_13(str);
            }
        }
예제 #2
0
파일: Class988.cs 프로젝트: 15831944/WW
        public void imethod_0(Interface8 reader)
        {
            this.enum23_0 = Class647.smethod_0(reader);
            if (this.enum23_0 == Class647.Enum23.const_2)
            {
                return;
            }
            this.int_2 = reader.imethod_5();
            this.int_3 = reader.imethod_5();
            if (this.enum23_0 == Class647.Enum23.const_1)
            {
                this.enum2_0 = Class195.smethod_0(reader);
            }
            this.enum34_0 = Class883.smethod_0(reader);
            this.enum34_1 = Class883.smethod_0(reader);
            this.enum49_0 = Class1028.smethod_0(reader);
            this.enum49_1 = Class1028.smethod_0(reader);
            int length1 = reader.imethod_5();
            int length2 = reader.imethod_5();
            int num1    = 2;
            int num2    = 2;

            this.double_0 = new double[length1];
            this.int_0    = new int[length1];
            for (int index = 0; index < length1; ++index)
            {
                this.double_0[index] = reader.imethod_8();
                this.int_0[index]    = reader.imethod_5();
                num1 += this.int_0[index];
            }
            this.double_1 = new double[length2];
            this.int_1    = new int[length2];
            for (int index = 0; index < length2; ++index)
            {
                this.double_1[index] = reader.imethod_8();
                this.int_1[index]    = reader.imethod_5();
                num2 += this.int_1[index];
            }
            int num3 = num1 - this.int_2 - 1;
            int num4 = num2 - this.int_3 - 1;

            this.point3D_0 = new Point3D[num3 * num4];
            if (this.enum23_0 == Class647.Enum23.const_1)
            {
                this.double_2 = new double[num3 * num4];
                for (int index = 0; index < this.point3D_0.Length; ++index)
                {
                    this.point3D_0[index] = Class794.smethod_15(reader);
                    this.double_2[index]  = reader.imethod_8();
                }
            }
            else
            {
                for (int index = 0; index < this.point3D_0.Length; ++index)
                {
                    this.point3D_0[index] = Class794.smethod_15(reader);
                }
            }
        }
예제 #3
0
파일: Class244.cs 프로젝트: 15831944/WW
        public override void vmethod_0(Interface8 reader)
        {
            Class647.Enum23 enum23 = Class647.smethod_0(reader);
            if (enum23 == Class647.Enum23.const_2)
            {
                return;
            }
            int degree = reader.imethod_5();

            this.enum34_0 = Class883.smethod_0(reader);
            int length1 = reader.imethod_5();

            this.double_0 = new double[length1];
            this.int_0    = new int[length1];
            double[] knots   = new double[length1 * degree + 2];
            int      length2 = 0;

            for (int index1 = 0; index1 < length1; ++index1)
            {
                double num1 = reader.imethod_8();
                this.double_0[index1] = num1;
                int num2 = reader.imethod_5();
                this.int_0[index1] = num2;
                if (index1 == 0 || index1 == length1 - 1)
                {
                    ++num2;
                }
                for (int index2 = 0; index2 < num2; ++index2)
                {
                    knots[length2++] = num1;
                }
            }
            if (length2 < knots.Length)
            {
                double[] numArray = new double[length2];
                Array.Copy((Array)knots, 0, (Array)numArray, 0, length2);
                knots = numArray;
            }
            Point3D[] controlPoints = new Point3D[length2 - degree - 1];
            double[]  weights       = new double[length2 - degree - 1];
            for (int index = 0; index < controlPoints.Length; ++index)
            {
                controlPoints[index] = Class794.smethod_15(reader);
                if (enum23 == Class647.Enum23.const_1)
                {
                    weights[index] = reader.imethod_8();
                }
            }
            if (enum23 == Class647.Enum23.const_1)
            {
                this.splineCurve3D_0 = new SplineCurve3D(degree, knots, controlPoints, weights);
            }
            else
            {
                this.splineCurve3D_0 = new SplineCurve3D(degree, knots, controlPoints);
            }
        }
예제 #4
0
파일: Class243.cs 프로젝트: 15831944/WW
        public override void vmethod_0(Interface8 reader)
        {
            this.enum23_0 = Class647.smethod_0(reader);
            if (this.enum23_0 == Class647.Enum23.const_2)
            {
                return;
            }
            this.int_0    = reader.imethod_5();
            this.enum34_0 = Class883.smethod_0(reader);
            this.int_1    = reader.imethod_5();
            this.double_0 = new double[this.int_1];
            this.int_2    = new int[this.int_1];
            int num1 = 0;

            for (int index = 0; index < this.int_1; ++index)
            {
                this.double_0[index] = reader.imethod_8();
                int num2 = reader.imethod_5();
                this.int_2[index] = num2;
                if (index == 0 || index == this.int_1 - 1)
                {
                    ++num2;
                }
                num1 += num2;
            }
            this.point2D_0 = new Point2D[num1 - this.int_0 - 1];
            if (this.enum23_0 == Class647.Enum23.const_1)
            {
                this.double_1 = new double[num1 - this.int_0 - 1];
            }
            for (int index = 0; index < this.point2D_0.Length; ++index)
            {
                this.point2D_0[index].X = reader.imethod_8();
                this.point2D_0[index].Y = reader.imethod_8();
                if (this.enum23_0 == Class647.Enum23.const_1)
                {
                    this.double_1[index] = reader.imethod_8();
                }
            }
        }