示例#1
0
        public static void RenderWireframe(this CZ cz, double nThreshold, double tThreshold)
        {
            if (!cz.failed && !cz.damagedAtLevel(nThreshold, tThreshold))
            {
                return;
            }

            double[] x = new double[3];
            double[] y = new double[3];
            double[] z = new double[3];
            for (int i = 0; i < 3; i++)
            {
                Node ndx1 = cz.vrts[i];
                Node ndx2 = cz.vrts[i + 3];
                x[i] = (ndx1.cx + ndx2.cx) * 0.5;
                y[i] = (ndx1.cy + ndx2.cy) * 0.5;
                z[i] = (ndx1.cz + ndx2.cz) * 0.5;
            }
            Vector3d v0 = new Vector3d(x[0], y[0], z[0]);
            Vector3d v1 = new Vector3d(x[1], y[1], z[1]);
            Vector3d v2 = new Vector3d(x[2], y[2], z[2]);

            GL.Vertex3(v0); GL.Vertex3(v1);
            GL.Vertex3(v0); GL.Vertex3(v2);
            GL.Vertex3(v2); GL.Vertex3(v1);
        }
示例#2
0
        public static void Render(this CZ cz)
        {
            double[] x = new double[3];
            double[] y = new double[3];
            double[] z = new double[3];

            for (int i = 0; i < 3; i++)
            {
                Node ndx1 = cz.vrts[i];
                Node ndx2 = cz.vrts[i + 3];
                x[i] = (ndx1.cx + ndx2.cx) * 0.5;
                y[i] = (ndx1.cy + ndx2.cy) * 0.5;
                z[i] = (ndx1.cz + ndx2.cz) * 0.5;
            }
            Vector3d v0 = new Vector3d(x[0], y[0], z[0]);
            Vector3d v1 = new Vector3d(x[1], y[1], z[1]);
            Vector3d v2 = new Vector3d(x[2], y[2], z[2]);

            GL.Normal3(Vector3d.Cross(v1 - v0, v2 - v0));
            GL.Vertex3(v2); GL.Vertex3(v0); GL.Vertex3(v1);
        }
示例#3
0
        //public ImageSource Image2
        //{
        //    get { return GetProperty(() => Image2); }
        //    set { SetProperty(() => Image2, value); }
        //}
        //public ImageSource Image3
        //{
        //    get { return GetProperty(() => Image3); }
        //    set { SetProperty(() => Image3, value); }
        //}
        //public ImageSource Image4
        //{
        //    get { return GetProperty(() => Image4); }
        //    set { SetProperty(() => Image4, value); }
        //}

        public void GetAllIamge()
        {
            System.Drawing.Size picsize = new System.Drawing.Size {
                Height = 300, Width = 300
            };

            SmartSolidElement cz1, cz2, cz3, cz4;

            cz1 = CZ.Clone().AsSmartSolidElement; cz2 = CZ.Clone().AsSmartSolidElement; cz3 = CZ.Clone().AsSmartSolidElement; cz4 = CZ.Clone().AsSmartSolidElement;

            Point3d origin = CZ.Origin;

            Bitmap[] bitmaparray = new Bitmap[4];
            //CZ.RotateAboutZ(ref origin, Math.PI);
            IntPtr metafilehandle = new IntPtr(cz1.DrawToEnhancedMetafile(picsize.Width, picsize.Height, true));

            bitmaparray[0] = new Bitmap(new System.Drawing.Imaging.Metafile(metafilehandle, true));
            //Image3 = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

            cz2.Rotate(ref origin, Math.PI * 5 / 4, 0, Math.PI / 4);
            metafilehandle = new IntPtr(cz2.DrawToEnhancedMetafile(picsize.Width, picsize.Height, true));
            bitmaparray[1] = new Bitmap(new System.Drawing.Imaging.Metafile(metafilehandle, true));
            //Image2 = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

            cz3.Rotate(ref origin, -Math.PI / 2, 0, 0);
            metafilehandle = new IntPtr(cz3.DrawToEnhancedMetafile(picsize.Width, picsize.Height, true));
            bitmaparray[2] = new Bitmap(new System.Drawing.Imaging.Metafile(metafilehandle, true));
            //Image1  = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());


            cz4.Rotate(ref origin, -Math.PI / 2, 0, Math.PI / 2);
            metafilehandle = new IntPtr(cz4.DrawToEnhancedMetafile(picsize.Width, picsize.Height, true));
            bitmaparray[3] = new Bitmap(new System.Drawing.Imaging.Metafile(metafilehandle, true));
            //Image4 = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
            Image1 = BitmapHelper.MergeBitmapToArray(bitmaparray, 2, 2, 5);
        }
示例#4
0
        /// <summary>
        /// Validates VAT number
        /// </summary>
        /// <returns>Corrected VAT number in VatNumber object</returns>
        public static VatNumber Validate(string vat, EUCountry euCountry)
        {
            string countryCode = euCountry.ToString().ToUpper();

            vat = vat.ToUpper();

            CountryBase countryBase;

            switch (euCountry)
            {
            case EUCountry.AT:
                countryBase = new AT();
                break;

            case EUCountry.BE:
                countryBase = new BE();
                break;

            case EUCountry.BG:
                countryBase = new BG();
                break;

            case EUCountry.CY:
                countryBase = new CY();
                break;

            case EUCountry.CZ:
                countryBase = new CZ();
                break;

            case EUCountry.DE:
                countryBase = new DE();
                break;

            case EUCountry.DK:
                countryBase = new DK();
                break;

            case EUCountry.EE:
                countryBase = new EE();
                break;

            case EUCountry.EL:
                countryBase = new EL();
                break;

            case EUCountry.ES:
                countryBase = new ES();
                break;

            case EUCountry.FI:
                countryBase = new FI();
                break;

            case EUCountry.FR:
                countryBase = new FR();
                break;

            case EUCountry.GB:
                countryBase = new GB();
                break;

            case EUCountry.HR:
                countryBase = new HR();
                break;

            case EUCountry.HU:
                countryBase = new HU();
                break;

            case EUCountry.IE:
                countryBase = new IE();
                break;

            case EUCountry.IT:
                countryBase = new IT();
                break;

            case EUCountry.LT:
                countryBase = new LT();
                break;

            case EUCountry.LU:
                countryBase = new LU();
                break;

            case EUCountry.LV:
                countryBase = new LV();
                break;

            case EUCountry.MT:
                countryBase = new MT();
                break;

            case EUCountry.NL:
                countryBase = new NL();
                break;

            case EUCountry.PL:
                countryBase = new PL();
                break;

            case EUCountry.PT:
                countryBase = new PT();
                break;

            case EUCountry.RO:
                countryBase = new RO();
                break;

            case EUCountry.SE:
                countryBase = new SE();
                break;

            case EUCountry.SI:
                countryBase = new SI();
                break;

            case EUCountry.SK:
                countryBase = new SK();
                break;

            default:
                throw new InvalidCountryException();
            }

            if (countryBase.StripLetters)
            {
                return(new VatNumber(euCountry, countryBase.Validate(Strip(vat))));
            }

            return(new VatNumber(euCountry, countryBase.Validate(StripNoLetters(vat, countryCode))));
        }