예제 #1
0
파일: Class455.cs 프로젝트: 15831944/WW
        private void method_0(
            Polyline4D result,
            double startParam,
            double endParam,
            Class455.Class462 polylineInfo)
        {
            Polyline3D polyline3D0 = polylineInfo.polyline3D_0;
            int        count       = polyline3D0.Count;
            int        num1        = (int)System.Math.Floor(startParam);
            double     parameter1  = startParam - (double)num1;
            int        num2        = (int)System.Math.Floor(endParam);
            double     parameter2  = endParam - (double)num2;

            if (startParam > endParam)
            {
                num2 += count;
            }
            result.Add(this.matrix4D_0.TransformTo4D(Class455.smethod_0(polyline3D0[num1 % count], polyline3D0[(num1 + 1) % count], parameter1)));
            for (int index = num1 + 1; index <= num2; ++index)
            {
                result.Add(this.matrix4D_0.TransformTo4D(polyline3D0[index % count]));
            }
            if (parameter2 <= 0.0)
            {
                return;
            }
            result.Add(this.matrix4D_0.TransformTo4D(Class455.smethod_0(polyline3D0[num2 % count], polyline3D0[(num2 + 1) % count], parameter2)));
        }
예제 #2
0
파일: Class455.cs 프로젝트: 15831944/WW
        private static Point3D smethod_1(Polyline3D polyline, double parameter)
        {
            int num = (int)System.Math.Floor(parameter);

            return(Class455.smethod_0(polyline[num % polyline.Count], polyline[(num + 1) % polyline.Count], parameter - (double)num));
        }