Beispiel #1
0
 public Class938(
     DxfViewport viewport,
     Matrix4D postTransform,
     double shapeFlattenEpsilon,
     double shapeFlattenEpsilonForBoundsCalculation,
     bool scaleLineTypes)
 {
     this.dxfViewport_0 = viewport;
     if (viewport == null)
     {
         throw new ArgumentException("Viewport may not be null");
     }
     this.double_0         = shapeFlattenEpsilon;
     this.double_1         = shapeFlattenEpsilonForBoundsCalculation;
     this.matrix4D_0       = viewport.method_14();
     this.matrix4D_1       = postTransform * viewport.method_15();
     this.matrix4D_2       = this.matrix4D_1 * this.matrix4D_0;
     this.blinnClipper4D_0 = new BlinnClipper4D(viewport.FrontClippingActive, viewport.BackClippingActive);
     if (scaleLineTypes)
     {
         this.matrix3D_0        = viewport.method_16();
         this.ilineTypeScaler_0 = Class624.Create(this.matrix3D_0);
     }
     else
     {
         this.matrix3D_0        = Matrix3D.Identity;
         this.ilineTypeScaler_0 = (ILineTypeScaler)Class624.Class626.class626_0;
     }
 }
Beispiel #2
0
        public Color?GetColorOverride(DxfViewport viewport)
        {
            Color color;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_0 != null && this.class905_0.dictionary_0.TryGetValue(viewport, out color)))
            {
                return(new Color?(color));
            }
            return(new Color?());
        }
Beispiel #3
0
        public Transparency GetTransparency(DxfViewport viewport)
        {
            Transparency transparency;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_3 != null && this.class905_0.dictionary_3.TryGetValue(viewport, out transparency)))
            {
                return(transparency);
            }
            return(this.transparency_0);
        }
Beispiel #4
0
        internal short GetLineWeight(DxfViewport viewport, GraphicsConfig graphicsConfig)
        {
            short lineWeight = this.GetLineWeight(viewport);

            if (lineWeight < (short)0)
            {
                return(graphicsConfig.DefaultLineWeight);
            }
            return(lineWeight);
        }
Beispiel #5
0
        public Transparency?GetTransparencyOverride(DxfViewport viewport)
        {
            Transparency transparency;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_3 != null && this.class905_0.dictionary_3.TryGetValue(viewport, out transparency)))
            {
                return(new Transparency?(transparency));
            }
            return(new Transparency?());
        }
Beispiel #6
0
        public short?GetLineWeightOverride(DxfViewport viewport)
        {
            short num;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_2 != null && this.class905_0.dictionary_2.TryGetValue(viewport, out num)))
            {
                return(new short?(num));
            }
            return(new short?());
        }
Beispiel #7
0
        public short GetLineWeight(DxfViewport viewport)
        {
            short num;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_2 != null && this.class905_0.dictionary_2.TryGetValue(viewport, out num)))
            {
                return(num);
            }
            return(this.short_0);
        }
Beispiel #8
0
        public DxfLineType GetLineTypeOverride(DxfViewport viewport)
        {
            DxfLineType dxfLineType;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_1 != null && this.class905_0.dictionary_1.TryGetValue(viewport, out dxfLineType)))
            {
                return(dxfLineType);
            }
            return((DxfLineType)null);
        }
Beispiel #9
0
        public Color GetColor(DxfViewport viewport)
        {
            Color color;

            if (viewport != null && this.class905_0 != null && (this.class905_0.dictionary_0 != null && this.class905_0.dictionary_0.TryGetValue(viewport, out color)))
            {
                return(color);
            }
            return(this.color_0);
        }
Beispiel #10
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 #11
0
            public override void ResolveReferences(Class374 modelBuilder)
            {
                base.ResolveReferences(modelBuilder);
                DxfViewport dxfViewport = modelBuilder.method_4 <DxfViewport>(this.ViewportHandle);

                if (dxfViewport == null)
                {
                    return;
                }
                ((DxfHatchViewContextData)this.HandledObject).dxfObjectReference_4 = DxfObjectReference.GetReference((IDxfHandledObject)dxfViewport);
            }
Beispiel #12
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 #13
0
        private void method_17(object sender, int index, DxfViewport item)
        {
            DxfModel model = this.Model;

            if (model == null)
            {
                return;
            }
            item.vmethod_3(this.Model);
            item.vmethod_2((IDxfHandledObject)this.OwnerBlock);
            if (item.ViewportEntityHeader == null || model.ViewportEntityHeaders.Contains(item.ViewportEntityHeader))
            {
                return;
            }
            model.ViewportEntityHeaders.Add(item.ViewportEntityHeader);
        }
Beispiel #14
0
        private void method_19(object sender, int index, DxfViewport item)
        {
            DxfModel model = this.Model;

            if (model == null)
            {
                return;
            }
            item.vmethod_4(this.Model);
            item.vmethod_2((IDxfHandledObject)null);
            if (item.ViewportEntityHeader == null || !model.ViewportEntityHeaders.Contains(item.ViewportEntityHeader))
            {
                return;
            }
            model.ViewportEntityHeaders.Remove(item.ViewportEntityHeader);
        }
Beispiel #15
0
        private void method_3(Class374 modelBuilder, DxfBlock block, DxfEntity entity)
        {
            DxfViewport dxfViewport = entity as DxfViewport;

            if (dxfViewport != null)
            {
                this.list_2.Add(dxfViewport);
            }
            else
            {
                if (!modelBuilder.LoadUnknownObjects && entity is DxfUnknownEntity)
                {
                    return;
                }
                block.Entities.Add(entity);
            }
        }
Beispiel #16
0
 public ModelToPaperSpace(
     DxfModel model,
     DxfLayout layout,
     GraphicsConfig config,
     DxfViewport viewport,
     Matrix4D postTransform)
     : base(model, layout, config, viewport.method_17(model, config, postTransform))
 {
     this.dxfViewport_0 = viewport;
     if (viewport.AnnotationScale == null || !model.Header.PaperSpaceAnnotationScalingEnabled)
     {
         return;
     }
     this.double_0   = viewport.AnnotationScale.ScaleFactor;
     this.dxfScale_0 = model.Header.CurrentAnnotationScale;
     model.Header.CurrentAnnotationScale = viewport.AnnotationScale;
 }
Beispiel #17
0
        internal void method_0(DxfModel model)
        {
            if (this.Count == 0)
            {
                this.Add(new DxfViewportEntityHeader());
            }
            DxfLayout dxfLayout = model.method_15();

            if (dxfLayout != null && dxfLayout.Viewports.Count != 0)
            {
                DxfViewportEntityHeader viewportEntityHeader1 = this[0];
                viewportEntityHeader1.Viewport = (DxfViewport)null;
                viewportEntityHeader1.Name     = string.Empty;
                viewportEntityHeader1.Flags    = StandardFlags.IsReferenced;
                for (int index = 0; index < dxfLayout.Viewports.Count; ++index)
                {
                    DxfViewport             viewport = dxfLayout.Viewports[index];
                    DxfViewportEntityHeader viewportEntityHeader2;
                    if (index + 1 < this.Count)
                    {
                        viewportEntityHeader2 = this[index + 1];
                    }
                    else
                    {
                        viewportEntityHeader2 = new DxfViewportEntityHeader();
                        this.Add(viewportEntityHeader2);
                    }
                    viewportEntityHeader2.Viewport     = viewport;
                    viewportEntityHeader2.Flags        = StandardFlags.IsReferenced;
                    viewportEntityHeader2.IsViewportOn = !viewport.Disabled;
                    viewport.method_13(viewportEntityHeader2);
                    viewportEntityHeader2.Name = index == 0 ? "1" : string.Empty;
                }
                while (this.Count > dxfLayout.Viewports.Count + 1)
                {
                    this.RemoveAt(this.Count - 1);
                }
            }
            else
            {
                this.Clear();
            }
        }
Beispiel #18
0
        private void method_13()
        {
            DxfViewport dxfViewport = new DxfViewport();

            this.dxfViewportCollection_0.Add(dxfViewport);
            Vector2D vector2D1 = this.Model.Header.PaperSpaceLimitsMax - this.Model.Header.PaperSpaceLimitsMin;

            if (System.Math.Abs(vector2D1.Y) < 1E-10 || System.Math.Abs(vector2D1.Y) < 1E-10)
            {
                vector2D1 = new Vector2D(this.PlotPaperSize.X, this.PlotPaperSize.Y);
            }
            WW.Math.Point2D point = this.Model.Header.PaperSpaceLimitsMin + vector2D1 / 2.0;
            dxfViewport.Center     = new WW.Math.Point3D(point, 0.0);
            dxfViewport.ViewCenter = point;
            Vector2D vector2D2 = vector2D1 * 1.058;

            dxfViewport.ViewHeight = vector2D2.Y;
            dxfViewport.Size       = new Size2D(vector2D2.X, vector2D2.Y);
        }
Beispiel #19
0
        private void method_18(object sender, int index, DxfViewport oldItem, DxfViewport newItem)
        {
            DxfModel model = this.Model;

            if (model == null)
            {
                return;
            }
            newItem.vmethod_3(this.Model);
            newItem.vmethod_2((IDxfHandledObject)this.OwnerBlock);
            if (newItem.ViewportEntityHeader != null && !model.ViewportEntityHeaders.Contains(newItem.ViewportEntityHeader))
            {
                model.ViewportEntityHeaders.Add(newItem.ViewportEntityHeader);
            }
            oldItem.vmethod_4(this.Model);
            oldItem.vmethod_2((IDxfHandledObject)null);
            if (oldItem.ViewportEntityHeader == null || !model.ViewportEntityHeaders.Contains(oldItem.ViewportEntityHeader))
            {
                return;
            }
            model.ViewportEntityHeaders.Remove(oldItem.ViewportEntityHeader);
        }
Beispiel #20
0
        public override void ResolveReferences(Class374 modelBuilder)
        {
            base.ResolveReferences(modelBuilder);
            DxfViewport entity = (DxfViewport)this.Entity;

            if (modelBuilder.Version >= DxfVersion.Dxf12 && modelBuilder.Version <= DxfVersion.Dxf14)
            {
                entity.method_18(modelBuilder.Model);
            }
            if (this.list_1 != null)
            {
                foreach (ulong handle in this.list_1)
                {
                    DxfLayer dxfLayer = modelBuilder.method_4 <DxfLayer>(handle);
                    if (dxfLayer != null)
                    {
                        entity.FrozenLayers.Add(dxfLayer);
                    }
                }
            }
            if (this.ulong_6 != 0UL)
            {
                entity.ClippingBoundaryEntity = modelBuilder.method_4 <DxfEntity>(this.ulong_6);
            }
            if (this.ulong_7 != 0UL)
            {
                entity.Ucs = modelBuilder.method_4 <DxfUcs>(this.ulong_7);
            }
            if (this.ulong_8 != 0UL)
            {
                entity.Ucs = modelBuilder.method_4 <DxfUcs>(this.ulong_8);
            }
            if (this.ulong_9 == 0UL)
            {
                return;
            }
            entity.ViewportEntityHeader = modelBuilder.method_4 <DxfViewportEntityHeader>(this.ulong_9);
        }
Beispiel #21
0
 public void SetLineTypeOverride(DxfViewport viewport, DxfLineType lineTypeOverride)
 {
     if (viewport == null)
     {
         return;
     }
     if (lineTypeOverride != null)
     {
         this.ViewportLayerOverridesNotNull.ViewportLineTypeOverridesNotNull[viewport] = lineTypeOverride;
     }
     else
     {
         if (this.class905_0 == null || this.class905_0.dictionary_1 == null || !this.class905_0.dictionary_1.ContainsKey(viewport))
         {
             return;
         }
         this.class905_0.dictionary_1.Remove(viewport);
         if (this.class905_0.dictionary_1.Count == 0)
         {
             this.class905_0.dictionary_1 = (Dictionary <DxfViewport, DxfLineType>)null;
         }
         this.method_11();
     }
 }
Beispiel #22
0
 public void SetLineWeightOverride(DxfViewport viewport, short?lineWeightOverride)
 {
     if (viewport == null)
     {
         return;
     }
     if (lineWeightOverride.HasValue)
     {
         this.ViewportLayerOverridesNotNull.ViewportLineWeightOverridesNotNull[viewport] = lineWeightOverride.Value;
     }
     else
     {
         if (this.class905_0 == null || this.class905_0.dictionary_2 == null || !this.class905_0.dictionary_2.ContainsKey(viewport))
         {
             return;
         }
         this.class905_0.dictionary_2.Remove(viewport);
         if (this.class905_0.dictionary_2.Count == 0)
         {
             this.class905_0.dictionary_2 = (Dictionary <DxfViewport, short>)null;
         }
         this.method_11();
     }
 }
Beispiel #23
0
 public void SetColorOverride(DxfViewport viewport, Transparency?transparencyOverride)
 {
     if (viewport == null)
     {
         return;
     }
     if (transparencyOverride.HasValue)
     {
         this.ViewportLayerOverridesNotNull.ViewportTransparencyOverridesNotNull[viewport] = transparencyOverride.Value;
     }
     else
     {
         if (this.class905_0 == null || this.class905_0.dictionary_3 == null || !this.class905_0.dictionary_3.ContainsKey(viewport))
         {
             return;
         }
         this.class905_0.dictionary_3.Remove(viewport);
         if (this.class905_0.dictionary_3.Count == 0)
         {
             this.class905_0.dictionary_3 = (Dictionary <DxfViewport, Transparency>)null;
         }
         this.method_11();
     }
 }
Beispiel #24
0
 public void Visit(DxfViewport viewport)
 {
     this.method_0((DxfEntity)viewport);
 }
Beispiel #25
0
        protected override void vmethod_2()
        {
            foreach (DxfLayout layout in this.Layouts)
            {
                Class284 class284 = this.method_5(layout.Handle) as Class284;
                if (class284 != null && !class284.HasViewportHandles)
                {
                    DxfBlock ownerBlock = layout.OwnerBlock;
                    if (ownerBlock != null)
                    {
                        Class318 class318 = this.method_5(ownerBlock.Handle) as Class318;
                        if (class318 != null && class318.OrderedViewports.Count > 0)
                        {
                            layout.Viewports.AddRange((IEnumerable <DxfViewport>)class318.OrderedViewports);
                        }
                    }
                }
            }
            DxfLayout dxfLayout = this.Model.method_15();

            if (dxfLayout != null)
            {
                foreach (Class259 entityHeaderBuilder in this.ViewportEntityHeaderBuilders)
                {
                    DxfViewport viewport = ((DxfViewportEntityHeader)entityHeaderBuilder.HandledObject).Viewport;
                    if (viewport != null && !dxfLayout.Viewports.Contains(viewport))
                    {
                        dxfLayout.Viewports.Add(viewport);
                    }
                }
            }
            foreach (Class308 viewportBuilder in this.ViewportBuilders)
            {
                DxfViewport handledObject = (DxfViewport)viewportBuilder.HandledObject;
                if (viewportBuilder.EntityMode == (byte)0)
                {
                    if (viewportBuilder.ParentEntityRefHandle != 0UL)
                    {
                        DxfBlock dxfBlock = this.method_4 <DxfBlock>(viewportBuilder.ParentEntityRefHandle);
                        handledObject.vmethod_2((IDxfHandledObject)dxfBlock);
                        if (dxfBlock.Layout != null && !dxfBlock.Layout.Viewports.Contains(handledObject))
                        {
                            dxfBlock.Layout.Viewports.Add(handledObject);
                        }
                    }
                }
                else if (viewportBuilder.EntityMode == (byte)1)
                {
                    if (this.PaperSpaceBlockRecordHandle != 0UL)
                    {
                        DxfBlock dxfBlock = this.method_4 <DxfBlock>(this.PaperSpaceBlockRecordHandle);
                        if (dxfBlock != null && dxfBlock.Layout != null && !dxfBlock.Layout.Viewports.Contains(handledObject))
                        {
                            dxfBlock.Layout.Viewports.Add(handledObject);
                        }
                    }
                }
                else if (viewportBuilder.EntityMode == (byte)2 && this.ModelSpaceBlockRecordHandle != 0UL)
                {
                    DxfBlock dxfBlock = this.method_4 <DxfBlock>(this.ModelSpaceBlockRecordHandle);
                    if (dxfBlock != null && dxfBlock.Layout != null && !dxfBlock.Layout.Viewports.Contains(handledObject))
                    {
                        dxfBlock.Layout.Viewports.Add(handledObject);
                    }
                }
            }
        }
Beispiel #26
0
        protected override void vmethod_2()
        {
            this.ViewportBuilders.Sort((Comparison <Class308>)((a, b) =>
            {
                int num1 = 0;
                int num2 = 0;
                if (a.Id.HasValue)
                {
                    num1 = a.Id.Value;
                }
                if (b.Id.HasValue)
                {
                    num2 = b.Id.Value;
                }
                return(num1 >= num2 ? (num1 <= num2 ? 0 : 1) : -1);
            }));
            DxfLayout dxfLayout1 = (DxfLayout)null;

            foreach (DxfLayout layout in (KeyedDxfHandledObjectCollection <string, DxfLayout>) this.Model.Layouts)
            {
                if (layout.PaperSpace)
                {
                    dxfLayout1 = layout;
                    break;
                }
            }
            foreach (Class285 viewportBuilder in this.ViewportBuilders)
            {
                DxfViewport entity = (DxfViewport)viewportBuilder.Entity;
                if (entity.OwnerObjectSoftReference == null)
                {
                    DxfLayout dxfLayout2 = (DxfLayout)null;
                    if (entity.PersistentReactorCount > 0)
                    {
                        foreach (DxfHandledObject persistentReactor in entity.PersistentReactors)
                        {
                            DxfBlock dxfBlock = persistentReactor as DxfBlock;
                            if (dxfBlock != null && dxfBlock.Layout != null)
                            {
                                entity.vmethod_2((IDxfHandledObject)dxfBlock);
                                dxfLayout2 = dxfBlock.Layout;
                                break;
                            }
                        }
                    }
                    if (dxfLayout2 == null)
                    {
                        if (entity.PaperSpace && dxfLayout1 != null)
                        {
                            dxfLayout1.Viewports.Add(entity);
                        }
                        else
                        {
                            this.Model.ModelLayout.Viewports.Add(entity);
                        }
                    }
                    else
                    {
                        dxfLayout2.Viewports.Add(entity);
                    }
                }
                else
                {
                    DxfLayout layout = ((DxfBlock)entity.OwnerObjectSoftReference).Layout;
                    if (layout == null)
                    {
                        this.Model.ModelLayout.Viewports.Add(entity);
                    }
                    else
                    {
                        layout.Viewports.Add(entity);
                    }
                }
            }
        }
Beispiel #27
0
 public void Visit(DxfViewport viewport)
 {
     this.bool_0 = true;
 }
Beispiel #28
0
 protected override void CopyFrom(DrawContext from)
 {
     base.CopyFrom(from);
     this.dxfViewport_0 = ((DrawContext.Surface.ModelToPaperSpace)from).dxfViewport_0;
 }
Beispiel #29
0
 private ModelToPaperSpace(DrawContext.Surface.ModelToPaperSpace from)
     : base((DrawContext.Surface)from)
 {
     this.dxfViewport_0 = from.dxfViewport_0;
 }
Beispiel #30
0
 public Class308(DxfViewport viewport)
     : base((DxfEntity)viewport)
 {
 }