Esempio n. 1
0
        private void method_15(
            DrawContext.Wireframe context,
            Bitmap bitmap,
            out DxfRasterImage rasterImage,
            out Vector4D transformedOrigin,
            out Vector4D transformedXAxis,
            out Vector4D transformedYAxis)
        {
            GdiBitmap gdiBitmap = new GdiBitmap(bitmap);

            rasterImage = (DxfRasterImage) new DxfImage();
            DxfImageDef imageDef = new DxfImageDef(context.Model);

            imageDef.SetBitmap((IBitmap)gdiBitmap);
            rasterImage.SetImageDef(imageDef, true);
            IClippingTransformer clippingTransformer = (IClippingTransformer)context.GetTransformer().Clone();
            Matrix4D             preTransform1       = Transformation4D.Translation((WW.Math.Vector3D) this.point3D_3);

            clippingTransformer.SetPreTransform(preTransform1);
            Matrix4D preTransform2 = Transformation4D.Scaling((this.point3D_2 - this.point3D_3).GetLength() / (double)bitmap.Width, (this.point3D_0 - this.point3D_3).GetLength() / (double)bitmap.Height, 1.0);

            clippingTransformer.SetPreTransform(preTransform2);
            Matrix4D matrix = clippingTransformer.Matrix;

            WW.Math.Point3D zero = WW.Math.Point3D.Zero;
            transformedOrigin = matrix.TransformTo4D(zero);
            transformedXAxis  = matrix.TransformTo4D(zero + WW.Math.Vector3D.XAxis);
            transformedYAxis  = matrix.TransformTo4D(zero + WW.Math.Vector3D.YAxis);
        }
Esempio n. 2
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfRasterImage dxfRasterImage = (DxfRasterImage)from;

            this.InsertionPoint = dxfRasterImage.InsertionPoint;
            this.XAxis          = dxfRasterImage.XAxis;
            this.YAxis          = dxfRasterImage.YAxis;
            this.Size           = dxfRasterImage.Size;
            if (dxfRasterImage.ImageDef == null)
            {
                this.SetImageDef((DxfImageDef)null, false);
            }
            else if (cloneContext.SourceModel == cloneContext.TargetModel)
            {
                this.SetImageDef(dxfRasterImage.ImageDef, false);
            }
            else
            {
                this.SetImageDef((DxfImageDef)dxfRasterImage.ImageDef.Clone(cloneContext), false);
            }
            this.ImageDisplayFlags = dxfRasterImage.ImageDisplayFlags;
            this.ClippingEnabled   = dxfRasterImage.ClippingEnabled;
            this.Brightness        = dxfRasterImage.Brightness;
            this.Contrast          = dxfRasterImage.Contrast;
            this.Fade = dxfRasterImage.Fade;
            this.BoundaryVertices.Clear();
            this.BoundaryVertices.AddRange((IEnumerable <WW.Math.Point2D>)dxfRasterImage.BoundaryVertices);
            this.bool_3 = dxfRasterImage.bool_3;
        }
Esempio n. 3
0
        public override IGraphCloneable Clone(CloneContext cloneContext)
        {
            DxfRasterImage dxfRasterImage = (DxfRasterImage)cloneContext.GetExistingClone((IGraphCloneable)this);

            if (dxfRasterImage == null)
            {
                dxfRasterImage = (DxfRasterImage) new DxfImage();
                cloneContext.RegisterClone((IGraphCloneable)this, (IGraphCloneable)dxfRasterImage);
                dxfRasterImage.CopyFrom((DxfHandledObject)this, cloneContext);
            }
            return((IGraphCloneable)dxfRasterImage);
        }