Beispiel #1
0
        public static void CreateDrawables(
            IWireframeGraphicsFactory2 graphicsFactory,
            GraphicsConfig graphicsConfig,
            DxfModel model,
            IList <DxfEntity> modelSpaceEntities,
            IList <DxfEntity> paperSpaceEntities,
            DxfLayout layout,
            ICollection <DxfViewport> viewports)
        {
            if (viewports == null)
            {
                viewports = (ICollection <DxfViewport>)layout.Viewports;
            }
            bool flag;

            if (flag = (layout.PlotLayoutFlags & PlotLayoutFlags.DrawViewportsFirst) != PlotLayoutFlags.None)
            {
                WireframeGraphicsFactory2Util.smethod_1(graphicsFactory, graphicsConfig, model, modelSpaceEntities, layout, viewports);
            }
            using (DrawContext.Wireframe.PaperToPaperSpace paperToPaperSpace = new DrawContext.Wireframe.PaperToPaperSpace(model, layout, graphicsConfig, Matrix4D.Identity))
            {
                foreach (DxfEntity paperSpaceEntity in (IEnumerable <DxfEntity>)paperSpaceEntities)
                {
                    paperSpaceEntity.Draw((DrawContext.Wireframe)paperToPaperSpace, graphicsFactory);
                }
            }
            if (flag)
            {
                return;
            }
            WireframeGraphicsFactory2Util.smethod_1(graphicsFactory, graphicsConfig, model, modelSpaceEntities, layout, viewports);
        }
Beispiel #2
0
 protected DrawContext(DrawContext from)
 {
     this.image_0               = from.image_0;
     this.graphics_0            = from.graphics_0;
     this.dxfModel_0            = from.dxfModel_0;
     this.dxfLayout_0           = from.dxfLayout_0;
     this.graphicsConfig_0      = from.graphicsConfig_0;
     this.dxfLayer_0            = from.dxfLayer_0;
     this.dxfLayer_1            = from.dxfLayer_1;
     this.dxfEntity_0           = from.dxfEntity_0;
     this.dxfBlock_0            = from.dxfBlock_0;
     this.drawContext_0         = from.drawContext_0;
     this.dxfEntity_1           = from.dxfEntity_1;
     this.entityColor_0         = from.entityColor_0;
     this.transparency_0        = from.transparency_0;
     this.dxfColor_0            = from.dxfColor_0;
     this.dxfLineType_0         = from.dxfLineType_0;
     this.short_0               = from.short_0;
     this.int_0                 = from.int_0;
     this.int_1                 = from.int_1;
     this.dxfWipeoutVariables_0 = from.dxfWipeoutVariables_0;
     this.dictionary_0          = from.dictionary_0;
     this.double_0              = from.double_0;
     this.double_1              = from.double_1;
 }
Beispiel #3
0
            public void ResolveReferences(CloneContext cloneContext)
            {
                if (this.dxfBlock_0.Layout != null)
                {
                    DxfLayout dxfLayout1;
                    if (!cloneContext.TargetModel.Layouts.TryGetValue(this.dxfBlock_0.Layout.Name, out dxfLayout1))
                    {
                        switch (cloneContext.ReferenceResolutionType)
                        {
                        case ReferenceResolutionType.IgnoreMissing:
                            dxfLayout1 = (DxfLayout)null;
                            break;

                        case ReferenceResolutionType.CloneMissing:
                            DxfLayout dxfLayout2 = (DxfLayout)this.dxfBlock_0.Layout.Clone(cloneContext);
                            if (!cloneContext.CloneExact)
                            {
                                cloneContext.TargetModel.Layouts.Add(dxfLayout2);
                            }
                            dxfLayout1 = dxfLayout2;
                            break;

                        case ReferenceResolutionType.FailOnMissing:
                            throw new DxfException(string.Format("Could not copy block record, did not find layout with name {0}", (object)this.dxfBlock_0.Layout.Name));
                        }
                    }
                    this.dxfBlock_1.Layout = dxfLayout1;
                }
                foreach (DxfHandledObject dxfHandledObject in (DxfHandledObjectCollection <DxfEntity>) this.dxfBlock_0.dxfEntityCollection_0)
                {
                    this.dxfBlock_1.dxfEntityCollection_0.Add((DxfEntity)dxfHandledObject.Clone(cloneContext));
                }
            }
Beispiel #4
0
        public static Bitmap CreateAutoSizedBitmap(
            DxfModel model,
            DxfLayout layout,
            ICollection <DxfViewport> viewports,
            Matrix4D transform,
            GraphicsConfig graphicsConfig,
            SmoothingMode smoothingMode,
            System.Drawing.Color backColor,
            Size maxSize)
        {
            BoundsCalculator boundsCalculator = new BoundsCalculator(graphicsConfig);

            boundsCalculator.GetBounds(model, layout, viewports, transform);
            Bounds3D bounds = boundsCalculator.Bounds;

            if (!bounds.Initialized)
            {
                return(ImageExporter.CreateEmptyBitmap(backColor, maxSize.Width, maxSize.Height));
            }
            int      num1           = maxSize.Width - 4;
            int      num2           = maxSize.Height - 4;
            Matrix4D scaleTransform = DxfUtil.GetScaleTransform(bounds.Corner1, bounds.Corner2, new WW.Math.Point3D(bounds.Corner1.X, bounds.Corner2.Y, 0.0), new WW.Math.Point3D(0.0, (double)num2, 0.0), new WW.Math.Point3D((double)num1, 0.0, 0.0), new WW.Math.Point3D(2.0, 2.0, 0.0));
            Matrix4D to2DTransform  = scaleTransform * transform;

            WW.Math.Vector3D vector3D = scaleTransform.Transform(bounds.Corner2) - scaleTransform.Transform(bounds.Corner1);
            int width  = System.Math.Min(maxSize.Width, (int)System.Math.Ceiling(System.Math.Abs(vector3D.X)) + 4);
            int height = System.Math.Min(maxSize.Height, (int)System.Math.Ceiling(System.Math.Abs(vector3D.Y)) + 4);

            return(ImageExporter.CreateBitmap(model, layout, viewports, graphicsConfig, smoothingMode, backColor, to2DTransform, width, height));
        }
Beispiel #5
0
        public void GetBounds(
            DxfModel model,
            DxfLayout layout,
            ICollection <DxfViewport> viewports,
            Matrix4D postTransform)
        {
            if (viewports == null)
            {
                viewports = (ICollection <DxfViewport>)layout.Viewports;
            }
            IWireframeGraphicsFactory graphicsFactory = this.CreateGraphicsFactory();

            using (DrawContext.Wireframe.PaperToPaperSpace paperToPaperSpace = new DrawContext.Wireframe.PaperToPaperSpace(layout.Model, layout, this.graphicsConfig_0, postTransform))
            {
                foreach (DxfEntity entity in (DxfHandledObjectCollection <DxfEntity>)layout.Entities)
                {
                    entity.Draw((DrawContext.Wireframe)paperToPaperSpace, graphicsFactory);
                }
                layout.DrawFrame((DrawContext.Wireframe)paperToPaperSpace, graphicsFactory);
            }
            foreach (DxfViewport viewport in (IEnumerable <DxfViewport>)viewports)
            {
                if (viewport.ModelSpaceVisible)
                {
                    using (DrawContext.Wireframe.ModelToPaperSpace modelToPaperSpace = new DrawContext.Wireframe.ModelToPaperSpace(layout.Model, layout, this.graphicsConfig_0, viewport, postTransform))
                    {
                        foreach (DxfEntity entity in (DxfHandledObjectCollection <DxfEntity>)model.Entities)
                        {
                            entity.Draw((DrawContext.Wireframe)modelToPaperSpace, graphicsFactory);
                        }
                    }
                }
            }
        }
Beispiel #6
0
 public static void CreateDrawables(
     IWireframeGraphicsFactory2 graphicsFactory,
     GraphicsConfig graphicsConfig,
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     if (layout.PaperSpace)
     {
         if (viewports == null)
         {
             viewports = (ICollection <DxfViewport>)layout.Viewports;
         }
         bool flag;
         if (flag = (layout.PlotLayoutFlags & PlotLayoutFlags.DrawViewportsFirst) != PlotLayoutFlags.None)
         {
             WireframeGraphicsFactory2Util.smethod_0(graphicsFactory, graphicsConfig, model, layout, (IEnumerable <DxfViewport>)viewports);
         }
         using (DrawContext.Wireframe.PaperToPaperSpace paperToPaperSpace = new DrawContext.Wireframe.PaperToPaperSpace(model, layout, graphicsConfig, Matrix4D.Identity))
             layout.Draw((DrawContext.Wireframe)paperToPaperSpace, graphicsFactory);
         if (flag)
         {
             return;
         }
         WireframeGraphicsFactory2Util.smethod_0(graphicsFactory, graphicsConfig, model, layout, (IEnumerable <DxfViewport>)viewports);
     }
     else
     {
         WireframeGraphicsFactory2Util.CreateDrawables(graphicsFactory, graphicsConfig, model, Matrix4D.Identity);
     }
 }
Beispiel #7
0
        public static Bitmap CreateBitmap(
            DxfModel model,
            DxfLayout layout,
            ICollection <DxfViewport> viewports,
            GraphicsConfig graphicsConfig,
            SmoothingMode smoothingMode,
            System.Drawing.Color backColor,
            Matrix4D to2DTransform,
            int width,
            int height)
        {
            Bitmap bitmap = new Bitmap(width, height);

            using (Graphics graphics = Graphics.FromImage((Image)bitmap))
            {
                graphics.SmoothingMode = smoothingMode;
                graphics.Clear(backColor);
                if (layout.PaperSpace)
                {
                    GraphicsConfig config = (GraphicsConfig)graphicsConfig.Clone();
                    double         length = to2DTransform.Transform(WW.Math.Vector3D.XAxis).GetLength();
                    config.DotsPerInch = length * layout.GetLineWeightUnitsToPaperUnits() * 2540.0;
                    GDIGraphics3D gdiGraphics3D = new GDIGraphics3D(config);
                    gdiGraphics3D.CreateDrawables(model, layout, viewports);
                    gdiGraphics3D.Draw(graphics, new Rectangle(0, 0, width, height), to2DTransform);
                }
                else
                {
                    GDIGraphics3D gdiGraphics3D = new GDIGraphics3D(graphicsConfig);
                    gdiGraphics3D.CreateDrawables(model);
                    gdiGraphics3D.Draw(graphics, new Rectangle(0, 0, width, height), to2DTransform);
                }
            }
            return(bitmap);
        }
Beispiel #8
0
 public void CreateDrawables(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     this.Clear();
     WireframeGraphicsFactory2Util.CreateDrawables((IWireframeGraphicsFactory2) new WpfWireframeGraphics3D.Class452(this), this.graphicsConfig_0, model, layout, viewports);
 }
Beispiel #9
0
 public PaperToPaperSpace(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     Matrix4D postTransform)
     : base(model, layout, config, (IClippingTransformer) new Class383(postTransform, Matrix3D.Identity, (ILineTypeScaler)Class624.Class626.class626_0))
 {
 }
Beispiel #10
0
 public void CreateDrawables(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     this.ClearDrawables();
     WireframeGraphicsFactoryUtil.CreateDrawables((IWireframeGraphicsFactory) new WireframeGraphicsCache.Class957(this), this.graphicsConfig_0, model, layout, viewports);
 }
Beispiel #11
0
 public void AddDrawables(
     DxfModel model,
     IList <DxfEntity> modelSpaceEntities,
     IList <DxfEntity> paperSpaceEntities,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     WireframeGraphicsFactory2Util.CreateDrawables((IWireframeGraphicsFactory2) new WpfWireframeGraphics3D.Class452(this), this.graphicsConfig_0, model, modelSpaceEntities, paperSpaceEntities, layout, viewports);
 }
Beispiel #12
0
 public void GetBounds(
     DxfModel model,
     DxfLayout layout,
     DxfEntity paperSpaceEntity,
     Matrix4D postTransform)
 {
     using (DrawContext.Wireframe.PaperToPaperSpace paperToPaperSpace = new DrawContext.Wireframe.PaperToPaperSpace(layout.Model, layout, this.graphicsConfig_0, postTransform))
         paperSpaceEntity.Draw((DrawContext.Wireframe)paperToPaperSpace, this.CreateGraphicsFactory());
 }
Beispiel #13
0
 public static Bitmap CreateAutoSizedBitmap(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     Matrix4D transform,
     GraphicsConfig graphicsConfig)
 {
     return(ImageExporter.CreateAutoSizedBitmap(model, layout, viewports, transform, graphicsConfig, SmoothingMode.AntiAlias));
 }
Beispiel #14
0
 public void Draw(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     GraphicsConfig config,
     Matrix4D paperToXamlTransform)
 {
     this.Draw(model, layout, viewports, config, paperToXamlTransform, (ProgressEventHandler)null);
 }
Beispiel #15
0
 public PaperToPaperSpace(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     Matrix4D postTransform,
     CharTriangulationCache charTriangulationCache)
     : base(model, layout, config, postTransform, charTriangulationCache)
 {
 }
Beispiel #16
0
 public static Bitmap CreateAutoSizedBitmap(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     Matrix4D transform,
     GraphicsConfig graphicsConfig,
     Size maxSize)
 {
     return(ImageExporter.CreateAutoSizedBitmap(model, layout, viewports, transform, graphicsConfig, (System.Drawing.Color)graphicsConfig.BackColor, maxSize));
 }
Beispiel #17
0
 public static Bitmap CreateBitmap(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     Matrix4D transform,
     GraphicsConfig graphicsConfig,
     Size size)
 {
     return(ImageExporter.CreateBitmap(model, layout, viewports, transform, graphicsConfig, size.Width, size.Height));
 }
Beispiel #18
0
 protected Wireframe(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     IClippingTransformer initialTransformer)
     : base(model, layout, config)
 {
     this.clippingTransformerChain_0 = new ClippingTransformerChain();
     this.clippingTransformerChain_0.Push(initialTransformer);
 }
Beispiel #19
0
 public void AddDrawables(DxfModel model, DxfLayout layout, ICollection <DxfViewport> viewports)
 {
     GDIGraphics3D.smethod_0();
     WireframeGraphicsFactoryUtil.CreateDrawables((IWireframeGraphicsFactory) new GDIGraphics3D.Class942(this), this.graphicsConfig_0, model, layout, viewports);
     if (this.dxfLayout_0 != null)
     {
         return;
     }
     this.dxfLayout_0 = this.Layout;
 }
Beispiel #20
0
 public void Draw(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     GraphicsConfig config,
     Matrix4D paperToPsTransform,
     ProgressEventHandler progressEventHandler)
 {
     this.Write(model, layout, viewports, config, paperToPsTransform, progressEventHandler);
 }
Beispiel #21
0
 public void AddDrawables(
     DxfModel model,
     IList <DxfEntity> modelSpaceEntities,
     IList <DxfEntity> paperSpaceEntities,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     WireframeGraphicsFactoryUtil.CreateDrawables((IWireframeGraphicsFactory) new WireframeGraphicsCache.Class957(this), this.graphicsConfig_0, model, modelSpaceEntities, paperSpaceEntities, layout, viewports);
     this.method_0();
 }
Beispiel #22
0
 public void CreateDrawables(
     DxfModel model,
     IList <DxfEntity> modelSpaceEntities,
     IList <DxfEntity> paperSpaceEntities,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     this.ClearDrawables();
     this.AddDrawables(model, modelSpaceEntities, paperSpaceEntities, layout, viewports);
 }
Beispiel #23
0
 public void CreateDrawables(
     DxfModel model,
     IList <DxfEntity> modelSpaceEntities,
     IList <DxfEntity> paperSpaceEntities,
     DxfLayout layout,
     ICollection <DxfViewport> viewports)
 {
     this.visualCollection_0.Clear();
     WireframeGraphicsFactory2Util.CreateDrawables((IWireframeGraphicsFactory2) new WpfWireframeGraphics3DUsingDrawingVisual.Class380(this), this.graphicsConfig_0, model, modelSpaceEntities, paperSpaceEntities, layout, viewports);
 }
Beispiel #24
0
 public Surface(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     Matrix4D transform,
     CharTriangulationCache charTriangulationCache)
     : base(model, layout, config)
 {
     this.class803_0 = new Class803(transform, Matrix3D.Identity, (ILineTypeScaler)Class624.Class626.class626_0);
     this.charTriangulationCache_0 = charTriangulationCache;
 }
Beispiel #25
0
        public void LayoutName()
        {
            // ensure invalid values aren't allowed
            Assert.Throws <InvalidOperationException>(() => new DxfLayout(null, "layout name"));
            Assert.Throws <InvalidOperationException>(() => new DxfLayout("", "layout name"));
            Assert.Throws <InvalidOperationException>(() => new DxfLayout("plot view name", null));
            Assert.Throws <InvalidOperationException>(() => new DxfLayout("plot view name", ""));

            // ensure valid values are allowed
            _ = new DxfLayout("plot view name", "layout name");
        }
Beispiel #26
0
 public ModelToPaperSpace(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     DxfViewport viewport,
     Matrix4D postTransform,
     CharTriangulationCache charTriangulationCache)
     : base(model, layout, config, postTransform, charTriangulationCache)
 {
     this.dxfViewport_0 = viewport;
 }
Beispiel #27
0
 public static Bitmap CreateBitmap(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     GraphicsConfig graphicsConfig,
     System.Drawing.Color backColor,
     Matrix4D to2DTransform,
     Size size)
 {
     return(ImageExporter.CreateBitmap(model, layout, viewports, graphicsConfig, backColor, to2DTransform, size.Width, size.Height));
 }
Beispiel #28
0
 public static Bitmap CreateBitmap(
     DxfModel model,
     DxfLayout layout,
     ICollection <DxfViewport> viewports,
     GraphicsConfig graphicsConfig,
     System.Drawing.Color backColor,
     Matrix4D to2DTransform,
     int width,
     int height)
 {
     return(ImageExporter.CreateBitmap(model, layout, viewports, graphicsConfig, SmoothingMode.AntiAlias, backColor, to2DTransform, width, height));
 }
Beispiel #29
0
        public override void ResolveReferences(Class374 modelBuilder)
        {
            base.ResolveReferences(modelBuilder);
            DxfLayout handledObject = (DxfLayout)this.HandledObject;

            if (this.ulong_2 != 0UL && handledObject.OwnerBlock == null)
            {
                DxfBlock dxfBlock = modelBuilder.method_4 <DxfBlock>(this.ulong_2);
                if (dxfBlock != null)
                {
                    handledObject.OwnerBlock = dxfBlock;
                }
            }
            if (this.ulong_3 != 0UL)
            {
                DxfHandledObject dxfHandledObject = modelBuilder.method_3(this.ulong_3);
                if (dxfHandledObject != null)
                {
                    handledObject.LastActiveViewport = dxfHandledObject;
                }
            }
            if (this.ulong_4 != 0UL)
            {
                DxfUcs dxfUcs = modelBuilder.method_4 <DxfUcs>(this.ulong_4);
                if (dxfUcs != null)
                {
                    handledObject.Ucs = dxfUcs;
                }
            }
            if (this.ulong_5 != 0UL)
            {
                DxfUcs dxfUcs = modelBuilder.method_4 <DxfUcs>(this.ulong_5);
                if (dxfUcs != null)
                {
                    handledObject.Ucs = dxfUcs;
                }
            }
            if (this.list_1 == null)
            {
                return;
            }
            short num = 1;

            foreach (ulong handle in this.list_1)
            {
                DxfViewport dxfViewport = modelBuilder.method_4 <DxfViewport>(handle);
                if (dxfViewport != null)
                {
                    handledObject.Viewports.Add(dxfViewport);
                    ++num;
                }
            }
        }
Beispiel #30
0
        public void LayoutNameOverridesPlotViewName()
        {
            // artificially create a layout with a null PlotViewName, but valid LayoutName
            var layout = new DxfLayout();

            layout.LayoutName = "layout name";
            Assert.Equal("layout name", layout.PlotViewName);

            // ensure the base plot view name is honored
            layout = new DxfLayout("plot view name", "layout name");
            Assert.Equal("layout name", layout.LayoutName);
            Assert.Equal("plot view name", layout.PlotViewName);
        }