Esempio n. 1
0
        protected void DrawInternal(
            DrawContext.Surface context,
            WW.Cad.Drawing.Surface.Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock,
            double startAngle,
            double endAngle)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, false))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, true);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            if (this.double_2 != 0.0)
            {
                graphicElement2.Geometry.Extrusion = this.double_2 * this.vector3D_0;
            }
            WW.Math.Geometry.Polyline3D polyline = this.method_14(context.Config, startAngle, endAngle);
            graphicElement2.Geometry.Add(WW.Cad.Drawing.Surface.Polyline3D.CreatePrimitive(polyline));
        }
Esempio n. 2
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ushort mApproximationPointCount;
            ushort nApproximationPointCount;

            this.method_13(out mApproximationPointCount, out nApproximationPointCount);
            if (mApproximationPointCount <= (ushort)0 || nApproximationPointCount <= (ushort)0)
            {
                return;
            }
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            GraphicElement1 graphicElement = new GraphicElement1(plotColor);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            WW.Math.Point3D[,] mesh = this.method_19((int)mApproximationPointCount - 1, (int)nApproximationPointCount - 1);
            graphicElement.Geometry.Add((IPrimitive) new PolygonMesh(mesh, this.ClosedInMDirection, this.ClosedInNDirection));
        }
Esempio n. 3
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (this.list_0.Count <= 1 || this.list_0.Count >= 5 || !graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            switch (this.list_0.Count)
            {
            case 2:
                if (this.FirstEdgeInvisible)
                {
                    break;
                }
                graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, new GraphicElement1(new WW.Cad.Drawing.Surface.Geometry((IPrimitive) new WW.Cad.Drawing.Surface.Segment(this.list_0[0], this.list_0[1])), plotColor));
                break;

            case 3:
                graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, new GraphicElement1(new WW.Cad.Drawing.Surface.Geometry((IPrimitive) new TriangleWithEdges(this.list_0[0], this.list_0[1], this.list_0[2], !this.FirstEdgeInvisible, !this.SecondEdgeInvisible, !this.ThirdEdgeInvisible)), plotColor));
                break;

            case 4:
                graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, new GraphicElement1(new WW.Cad.Drawing.Surface.Geometry((IPrimitive) new QuadWithEdges(this.list_0[0], this.list_0[1], this.list_0[2], this.list_0[3], !this.FirstEdgeInvisible, !this.SecondEdgeInvisible, !this.ThirdEdgeInvisible, !this.FourthEdgeInvisible)), plotColor));
                break;
            }
        }
Esempio n. 4
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            bool        plinegen      = (this.Flags & Enum21.flag_8) != Enum21.flag_0;
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, plinegen))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, plinegen);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            bool approximationPointsDrawn;

            WW.Math.Geometry.Polyline3D polyline = this.method_14(context.Config, out approximationPointsDrawn);
            graphicElement2.Geometry.Add(WW.Cad.Drawing.Surface.Polyline3D.CreatePrimitive(polyline));
            if (context.Config.ShowSplineControlPoints)
            {
                graphicElement2.Geometry.Add(WW.Cad.Drawing.Surface.Polyline3D.CreatePrimitive(this.method_16()));
            }
            if (!context.Config.ShowSplineApproximationPoints || approximationPointsDrawn)
            {
                return;
            }
            graphicElement2.Geometry.Add(WW.Cad.Drawing.Surface.Polyline3D.CreatePrimitive(this.method_17()));
        }
Esempio n. 5
0
 public override void DrawInternal(
     DrawContext.Surface context,
     WW.Cad.Drawing.Surface.Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock)
 {
     this.DrawInternal(context, graphics, parentGraphicElementBlock, 0.0, 2.0 * System.Math.PI);
 }
Esempio n. 6
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            if (this.list_0.Count <= 0)
            {
                return;
            }
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            GraphicElement1 graphicElement = new GraphicElement1(plotColor);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            List <WW.Math.Point3D> point3DList = new List <WW.Math.Point3D>(4);

            foreach (DxfMeshFace dxfMeshFace in this.list_0)
            {
                point3DList.Clear();
                foreach (DxfMeshFace.Corner corner in dxfMeshFace.Corners)
                {
                    if (corner.Vertex != null)
                    {
                        point3DList.Add(corner.Vertex.Position);
                    }
                }
                Class940.smethod_22(graphicElement.Geometry, (IList <WW.Math.Point3D>)point3DList);
            }
        }
Esempio n. 7
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            DxfTextStyle textStyle = this.TextStyle;

            if (textStyle == null)
            {
                return;
            }
            ShxFile shxFile = textStyle.GetShxFile();

            if (shxFile == null)
            {
                return;
            }
            ShxShape shapeByIndex = shxFile.GetShapeByIndex(this.ushort_0);

            if (shapeByIndex == null)
            {
                return;
            }
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            WW.Math.Point2D endPoint;
            new Class355((DxfEntity)this, context, graphics, parentGraphicElementBlock).DrawPath(shapeByIndex.GetGlyphShape(false, out endPoint), this.Transform, this.Color.ToColor(), context.GetLineWeight((DxfEntity)this), false, false, this.double_1);
        }
Esempio n. 8
0
 public Class1022(
     DxfEntity insert,
     DrawContext.Surface drawContext,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock,
     GraphicElementInsert graphicElementInsert)
 {
     this.method_0(insert, drawContext, graphics, parentGraphicElementBlock, graphicElementInsert);
     graphicElementInsert.InsertCells = new GraphicElementInsert.InsertCell[1, 1];
 }
Esempio n. 9
0
 public void Draw(
     DrawContext.Surface context,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock)
 {
     if (!this.IsEntityVisibleInContext((DrawContext)context, this.UseLayerEnabled))
     {
         return;
     }
     this.DrawInternal(context, graphics, parentGraphicElementBlock);
 }
Esempio n. 10
0
 public override void DrawInternal(
     DrawContext.Surface context,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock)
 {
     if (!this.method_17((DrawContext)context))
     {
         return;
     }
     base.DrawInternal(context, graphics, parentGraphicElementBlock);
 }
Esempio n. 11
0
 public Class1022(
     DxfInsert insert,
     DrawContext.Surface drawContext,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock,
     GraphicElementInsert graphicElementInsert)
 {
     this.method_0((DxfEntity)insert, drawContext, graphics, parentGraphicElementBlock, graphicElementInsert);
     graphicElementInsert.InsertCells         = new GraphicElementInsert.InsertCell[(int)insert.RowCount, (int)insert.ColumnCount];
     graphicElementInsert.AttributeBlockCells = new Matrix4D[(int)insert.RowCount, (int)insert.ColumnCount];
 }
Esempio n. 12
0
 public Class355(
     DxfEntity entity,
     DrawContext.Surface context,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock)
 {
     this.dxfEntity_0            = entity;
     this.surface_0              = context;
     this.graphics_0             = graphics;
     this.igraphicElementBlock_0 = parentGraphicElementBlock;
 }
Esempio n. 13
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            DxfImageDef imageDef = this.ImageDef;

            if (imageDef == null || !imageDef.Bitmap.IsValid)
            {
                return;
            }
            List <WW.Math.Point2D> clipBoundary = (List <WW.Math.Point2D>) this.GetClipBoundary((DrawContext)context);

            if (clipBoundary == null || clipBoundary.Count <= 0 || !graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, ArgbColor.Empty))
            {
                return;
            }
            List <Triangulator2D.Triangle> triangleList = new List <Triangulator2D.Triangle>();
            List <WW.Math.Point2D>         point2DList  = new List <WW.Math.Point2D>();

            Triangulator2D.Triangulate((IList <IList <WW.Math.Point2D> >) new List <WW.Math.Point2D>[1]
            {
                clipBoundary
            }, (IList <Triangulator2D.Triangle>)triangleList, (IList <WW.Math.Point2D>)point2DList);
            Matrix4D matrix4D = this.method_15();

            WW.Math.Point2D[] point2DArray        = new WW.Math.Point2D[point2DList.Count];
            WW.Math.Point3D[] point3DArray        = new WW.Math.Point3D[point2DList.Count];
            Size2D            referencedImageSize = this.ReferencedImageSize;
            double            num1     = 1.0 / referencedImageSize.X;
            double            num2     = 1.0 / referencedImageSize.Y;
            Vector2D          vector2D = new Vector2D(0.5, 0.5);

            for (int index = point2DList.Count - 1; index >= 0; --index)
            {
                WW.Math.Point2D point = point2DList[index] + vector2D;
                point2DArray[index] = new WW.Math.Point2D(num1 * point.X, 1.0 - num2 * point.Y);
                point3DArray[index] = matrix4D.TransformTo3D(point);
            }
            GraphicElement1 graphicElement = new GraphicElement1(ArgbColor.Empty);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            TexturedTriangleList texturedTriangleList = new TexturedTriangleList();

            graphicElement.Geometry.Add((IPrimitive)texturedTriangleList);
            texturedTriangleList.RgbaBytes          = imageDef.Bitmap.GetRgbaBytes();
            texturedTriangleList.Width              = imageDef.Bitmap.Width;
            texturedTriangleList.Height             = imageDef.Bitmap.Height;
            texturedTriangleList.Normal             = matrix4D.Transform(WW.Math.Vector3D.ZAxis);
            texturedTriangleList.Triangles          = (IList <Triangulator2D.Triangle>)triangleList;
            texturedTriangleList.TextureCoordinates = (IList <WW.Math.Point2D>)point2DArray;
            texturedTriangleList.Points             = (IList <WW.Math.Point3D>)point3DArray;
        }
Esempio n. 14
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            this.method_16((DrawContext)context, (IPathDrawer) new Class355((DxfEntity)this, context, graphics, parentGraphicElementBlock));
        }
Esempio n. 15
0
 private void method_0(
     DxfEntity insert,
     DrawContext.Surface drawContext,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock,
     GraphicElementInsert graphicElementInsert)
 {
     this.dxfEntity_0            = insert;
     this.surface_0              = drawContext;
     this.graphics_0             = graphics;
     this.igraphicElementBlock_0 = parentGraphicElementBlock;
     this.graphicElementInsert_0 = graphicElementInsert;
 }
Esempio n. 16
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            DrawContext.Surface  childContext = context.CreateChildContext((DxfEntity)this, Matrix4D.Identity);
            GraphicElementInsert graphicElement;

            if (!graphics.GetGraphicElementInsert(parentGraphicElementBlock, (DxfEntity)this, childContext.Layer, childContext.ByBlockColor, childContext.ByBlockLineType, out graphicElement))
            {
                return;
            }
            this.DrawInternal((DxfInsert.Interface46) new DxfInsert.Class1022(this, context, graphics, parentGraphicElementBlock, graphicElement), true);
        }
Esempio n. 17
0
 public void AddNewGraphicElement(
     DxfEntity entity,
     IGraphicElementBlock graphicElementBlock,
     GraphicElement1 graphicElement)
 {
     if (graphicElement.Geometry == null)
     {
         throw new Exception();
     }
     Graphics.EntityInfo entityInfo = new Graphics.EntityInfo()
     {
         Geometry = graphicElement.Geometry
     };
     entityInfo.GraphicElements.Add((IGraphicElement)graphicElement);
     this.dictionary_0.Add(entity, entityInfo);
     graphicElementBlock.Add((IGraphicElement)graphicElement);
 }
Esempio n. 18
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, false))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, true);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            WW.Math.Geometry.Polyline3D polyline = this.method_14(context.Config);
            graphicElement2.Geometry.Add(WW.Cad.Drawing.Surface.Polyline3D.CreatePrimitive(polyline));
        }
Esempio n. 19
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            if (!this.IsVisible((DrawContext)context))
            {
                return;
            }
            DxfMText dxfMtext = this.method_20(context.Config);

            if (dxfMtext != null)
            {
                dxfMtext.DrawInternal(context, graphics, parentGraphicElementBlock);
            }
            else
            {
                base.DrawInternal(context, graphics, parentGraphicElementBlock);
            }
        }
Esempio n. 20
0
        public bool AddExistingGraphicElement1(
            IGraphicElementBlock graphicElementBlock,
            DxfEntity entity,
            ArgbColor color)
        {
            bool flag = true;

            Graphics.EntityInfo entityInfo;
            if (this.dictionary_0.TryGetValue(entity, out entityInfo))
            {
                GraphicElement1 graphicElement1 = entityInfo.GetGraphicElement1(color);
                if (graphicElement1 == null)
                {
                    graphicElement1 = new GraphicElement1(entityInfo.Geometry, color);
                    entityInfo.GraphicElements.Add((IGraphicElement)graphicElement1);
                }
                graphicElementBlock.Add((IGraphicElement)graphicElement1);
                flag = false;
            }
            return(flag);
        }
Esempio n. 21
0
        public bool GetGraphicElementInsert(
            IGraphicElementBlock graphicElementBlock,
            DxfEntity insert,
            DxfLayer layer,
            EntityColor byBlockColor,
            DxfLineType byBlockLineType,
            out GraphicElementInsert graphicElement)
        {
            Graphics.EntityInfo entityInfo;
            bool flag;

            if (this.dictionary_0.TryGetValue(insert, out entityInfo))
            {
                graphicElement = entityInfo.GetGraphicElementInsert(layer, byBlockColor, byBlockLineType);
                if (graphicElement == null)
                {
                    flag           = true;
                    graphicElement = new GraphicElementInsert();
                    entityInfo.GraphicElements.Add((IGraphicElement)graphicElement);
                }
                else
                {
                    flag = false;
                }
            }
            else
            {
                graphicElement = new GraphicElementInsert();
                this.dictionary_0.Add(insert, new Graphics.EntityInfo()
                {
                    GraphicElements =
                    {
                        (IGraphicElement)graphicElement
                    }
                });
                flag = true;
            }
            graphicElementBlock.Add((IGraphicElement)graphicElement);
            return(flag);
        }
Esempio n. 22
0
        public override void DrawInternal(
            DrawContext.Surface context,
            WW.Cad.Drawing.Surface.Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, false))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, false);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            if (this.double_1 != 0.0)
            {
                graphicElement2.Geometry.Extrusion = this.double_1 * this.vector3D_0;
            }
            graphicElement2.Geometry.Add((IPrimitive) new WW.Cad.Drawing.Surface.Segment(this.point3D_0, this.point3D_1));
        }
Esempio n. 23
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            bool        plinegen      = (this.Flags & Enum21.flag_8) != Enum21.flag_0;
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, plinegen))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, plinegen);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            if (this.Thickness != 0.0)
            {
                graphicElement2.Geometry.Extrusion = this.Thickness * Vector3D.ZAxis;
            }
            Class940.smethod_12((DrawContext)context, (IVertex2DCollection)this.dxfVertex2DCollection_0, this.Closed, this.Transform, this.Thickness, this.DefaultStartWidth, this.DefaultEndWidth, graphicElement2.Geometry);
        }
Esempio n. 24
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            GraphicElement1 graphicElement = new GraphicElement1(plotColor);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            if (this.double_1 != 0.0)
            {
                graphicElement.Geometry.Add((IPrimitive) new WW.Cad.Drawing.Surface.Segment(this.point3D_0, this.point3D_0 + this.double_1 * this.vector3D_0));
            }
            else
            {
                graphicElement.Geometry.Add((IPrimitive) new WW.Cad.Drawing.Surface.Point(this.point3D_0));
            }
        }
Esempio n. 25
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            int ushort0 = (int)this.ushort_0;
            int ushort1 = (int)this.ushort_1;

            if (ushort0 <= 0 || ushort1 <= 0)
            {
                return;
            }
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            GraphicElement1 graphicElement = new GraphicElement1(plotColor);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            WW.Math.Point3D[,] mesh = new WW.Math.Point3D[ushort0, ushort1];
            int index1 = 0;

            for (int index2 = 0; index2 < ushort0; ++index2)
            {
                int index3 = 0;
                while (index3 < ushort1)
                {
                    mesh[index2, index3] = this.dxfHandledObjectCollection_1[index1].Position;
                    ++index3;
                    ++index1;
                }
            }
            graphicElement.Geometry.Add((IPrimitive) new PolygonMesh(mesh, this.ClosedInMDirection, this.ClosedInNDirection));
        }
Esempio n. 26
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor plotColor = context.GetPlotColor((DxfEntity)this);

            if (!graphics.AddExistingGraphicElement1(parentGraphicElementBlock, (DxfEntity)this, plotColor))
            {
                return;
            }
            GraphicElement1 graphicElement = new GraphicElement1(plotColor);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, graphicElement);
            WW.Math.Geometry.Polyline3D polyline = this.method_13();
            if (this.double_1 != 0.0)
            {
                Class940.Extrude(graphicElement.Geometry, polyline, this.Model.Header.FillMode, this.Thickness * this.ZAxis);
            }
            else
            {
                Class940.smethod_21((DxfEntity)this, context, graphicElement.Geometry, polyline, this.Model.Header.FillMode);
            }
        }
Esempio n. 27
0
        public bool AddExistingGraphicElement2(
            IGraphicElementBlock graphicElementBlock,
            DxfEntity entity,
            ArgbColor color,
            DxfLineType lineType,
            double lineTypeScale,
            bool plinegen)
        {
            bool flag = true;

            Graphics.EntityInfo entityInfo;
            if (this.dictionary_0.TryGetValue(entity, out entityInfo))
            {
                GraphicElement2 graphicElement2 = entityInfo.GetGraphicElement2(color, lineType, lineTypeScale, plinegen);
                if (graphicElement2 == null)
                {
                    graphicElement2 = new GraphicElement2(entityInfo.Geometry, color, lineType, lineTypeScale, plinegen);
                    entityInfo.GraphicElements.Add((IGraphicElement)graphicElement2);
                }
                graphicElementBlock.Add((IGraphicElement)graphicElement2);
                flag = false;
            }
            return(flag);
        }
Esempio n. 28
0
 public virtual void DrawInternal(
     DrawContext.Surface context,
     Graphics graphics,
     IGraphicElementBlock parentGraphicElementBlock)
 {
 }
Esempio n. 29
0
        public override void DrawInternal(
            DrawContext.Surface context,
            Graphics graphics,
            IGraphicElementBlock parentGraphicElementBlock)
        {
            ArgbColor   plotColor     = context.GetPlotColor((DxfEntity)this);
            DxfLineType lineType      = this.GetLineType((DrawContext)context);
            bool        plinegen      = (this.Flags & Enum21.flag_8) != Enum21.flag_0;
            double      lineTypeScale = context.TotalLineTypeScale * this.LineTypeScale;

            if (!graphics.AddExistingGraphicElement2(parentGraphicElementBlock, (DxfEntity)this, plotColor, lineType, lineTypeScale, plinegen))
            {
                return;
            }
            GraphicElement2 graphicElement2 = new GraphicElement2(plotColor, lineType, lineTypeScale, plinegen);

            graphics.AddNewGraphicElement((DxfEntity)this, parentGraphicElementBlock, (GraphicElement1)graphicElement2);
            if (this.Thickness != 0.0)
            {
                graphicElement2.Geometry.Extrusion = this.Thickness * Vector3D.ZAxis;
            }
            bool flag = false;

            if (context.Config.ShowSplineInterpolatedPoints)
            {
                switch (this.splineType_0)
                {
                case SplineType.None:
                    if (this.dxfVertex2DCollection_1.Count > 0)
                    {
                        bool allWidthsAreZero = this.method_32(this.dxfVertex2DCollection_1);
                        this.method_14((DrawContext)context, graphicElement2.Geometry, (DxfPolyline2DSpline.Interface43) new DxfPolyline2DSpline.Class947(this), allWidthsAreZero);
                        flag = allWidthsAreZero && this.Thickness == 0.0;
                        break;
                    }
                    break;

                case SplineType.QuadraticBSpline:
                    if (this.dxfVertex2DCollection_0.Count > 0)
                    {
                        bool allWidthsAreZero = this.method_32(this.dxfVertex2DCollection_0);
                        this.method_14((DrawContext)context, graphicElement2.Geometry, (DxfPolyline2DSpline.Interface43) new DxfPolyline2DSpline.Class948(this, 2, context.Config), allWidthsAreZero);
                        break;
                    }
                    break;

                case SplineType.CubicBSpline:
                    if (this.dxfVertex2DCollection_0.Count > 0)
                    {
                        bool allWidthsAreZero = this.method_32(this.dxfVertex2DCollection_0);
                        this.method_14((DrawContext)context, graphicElement2.Geometry, (DxfPolyline2DSpline.Interface43) new DxfPolyline2DSpline.Class948(this, 3, context.Config), allWidthsAreZero);
                        break;
                    }
                    break;
                }
            }
            DxfHeader      header = context.Model.Header;
            GraphicsConfig config = context.Config;

            if (config.ShowSplineControlPoints && this.dxfVertex2DCollection_0.Count > 0)
            {
                graphicElement2.Geometry.Add((IPrimitive) new WW.Cad.Drawing.Surface.Polyline2DE(this.method_17(), this.Transform));
            }
            if (!config.ShowSplineApproximationPoints || this.dxfVertex2DCollection_1.Count <= 0 || flag)
            {
                return;
            }
            graphicElement2.Geometry.Add((IPrimitive) new WW.Cad.Drawing.Surface.Polyline2DE(this.method_19(), this.Transform));
        }