private void method_0()
 {
     if (this.iclippingTransformer_0 != null)
     {
         this.matrix4D_0 = this.iclippingTransformer_0.Matrix;
     }
     else
     {
         this.matrix4D_0 = Matrix4D.Identity;
         foreach (IClippingTransformer clippingTransformer in this.linkedList_0)
         {
             this.matrix4D_0 = clippingTransformer.Matrix * this.matrix4D_0;
         }
     }
     if (this.iclippingTransformer_0 != null)
     {
         this.matrix3D_0 = this.iclippingTransformer_0.Matrix3D;
     }
     else
     {
         this.matrix3D_0 = Matrix3D.Identity;
         foreach (IClippingTransformer clippingTransformer in this.linkedList_0)
         {
             this.matrix3D_0 = clippingTransformer.Matrix3D * this.matrix3D_0;
         }
     }
     this.ilineTypeScaler_0 = Class624.Create(this.matrix3D_0);
 }
Exemple #2
0
 internal abstract void GetPolylines(
     DrawContext context,
     ILineTypeScaler lineTypeScaler,
     out IList <IList <Polyline2D2N> > polylines1,
     out IList <IList <Polyline2D2N> > polylines2,
     out IList <FlatShape4D> shapes,
     out bool fill);
Exemple #3
0
        private void GetPolylines(
            DrawContext context,
            ILineTypeScaler lineTypeScaler,
            out IList <Polyline3D> polylines,
            out IList <FlatShape4D> shapes,
            out bool fill)
        {
            IList <IList <Polyline2D> > polylines1;
            IList <IList <Polyline2D> > polylines2;

            this.GetPolylines(context, lineTypeScaler, out polylines1, out polylines2, out shapes, out fill);
            polylines = (IList <Polyline3D>) new List <Polyline3D>();
            int      count     = polylines1.Count;
            Matrix4D transform = this.Transform;

            if (polylines2 != null && polylines2.Count != 0)
            {
                for (int index = 0; index < count; ++index)
                {
                    DxfUtil.smethod_14(polylines1[index], polylines2[index], transform, polylines, true);
                }
            }
            else
            {
                for (int index1 = 0; index1 < count; ++index1)
                {
                    IList <Polyline2D> polyline2DList = polylines1[index1];
                    for (int index2 = 0; index2 < polylines1.Count; ++index2)
                    {
                        polylines.Add(DxfUtil.smethod_42(polyline2DList[index2], transform));
                    }
                }
            }
        }
 public void SetPreTransform(Matrix4D preTransform)
 {
     this.matrix4D_0 *= preTransform;
     this.interface32_0.imethod_0(preTransform.GetInverse());
     this.matrix3D_0       *= new Matrix3D(preTransform.M00, preTransform.M01, preTransform.M02, preTransform.M10, preTransform.M11, preTransform.M12, preTransform.M20, preTransform.M21, preTransform.M22);
     this.ilineTypeScaler_0 = Class624.Create(this.matrix3D_0);
 }
Exemple #5
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;
     }
 }
Exemple #6
0
        internal override void GetPolylines(
            DrawContext context,
            ILineTypeScaler lineTypeScaler,
            out IList <IList <WW.Cad.Drawing.Polyline2D2N> > polylinesList1,
            out IList <IList <WW.Cad.Drawing.Polyline2D2N> > polylinesList2,
            out IList <FlatShape4D> shapes,
            out bool fill)
        {
            DxfHeader header = context.Model.Header;

            WW.Cad.Drawing.Polyline2D2WN polyline = new Class639(this.DefaultStartWidth, this.DefaultEndWidth).method_0((IVertex2DCollection)this.dxfVertex2DCollection_0, context.Config, this.Closed);
            polylinesList1 = (IList <IList <WW.Cad.Drawing.Polyline2D2N> >) new List <IList <WW.Cad.Drawing.Polyline2D2N> >();
            polylinesList2 = (IList <IList <WW.Cad.Drawing.Polyline2D2N> >) new List <IList <WW.Cad.Drawing.Polyline2D2N> >();
            shapes         = (IList <FlatShape4D>)null;
            fill           = false;
            IList <WW.Cad.Drawing.Polyline2D2N> resultPolylines1;
            IList <WW.Cad.Drawing.Polyline2D2N> resultPolylines2;

            if (polyline != null && DxfUtil.smethod_27(context.Config, polyline, context.Config.ApplyLineType ? this.GetLineType(context) : (DxfLineType)null, context.TotalLineTypeScale * this.LineTypeScale, lineTypeScaler, this.Plinegen, out resultPolylines1, out resultPolylines2, out shapes, out fill))
            {
                polylinesList1.Add(resultPolylines1);
                polylinesList2.Add(resultPolylines2);
                if (shapes != null && shapes.Count == 0)
                {
                    shapes = (IList <FlatShape4D>)null;
                }
            }
            fill &= context.Model.Header.FillMode;
        }
Exemple #7
0
 public void SetPreTransform(Matrix4D preTransform)
 {
     this.matrix4D_0       *= preTransform;
     this.matrix4D_2        = this.matrix4D_1 * this.matrix4D_0;
     this.matrix3D_0       *= new Matrix3D(preTransform.M00, preTransform.M01, preTransform.M02, preTransform.M10, preTransform.M11, preTransform.M12, preTransform.M20, preTransform.M21, preTransform.M22);
     this.ilineTypeScaler_0 = Class624.Create(this.matrix3D_0);
 }
 internal ModelSpaceClippingTransformer(
     Matrix4D transform,
     Matrix3D matrix3D,
     Interface32 clipper,
     double shapeFlattenEpsilon,
     double shapeFlattenEpsilonForBoundsCalculation)
 {
     this.matrix4D_0        = transform;
     this.matrix3D_0        = matrix3D;
     this.ilineTypeScaler_0 = Class624.Create(matrix3D);
     this.interface32_0     = clipper;
     this.double_0          = shapeFlattenEpsilon;
     this.double_1          = shapeFlattenEpsilonForBoundsCalculation;
 }
Exemple #9
0
        public static double GetLength(Polyline2D2N polyline, ILineTypeScaler lineTypeScaler)
        {
            double num = 0.0;

            if (polyline.Count > 1)
            {
                Point2D2N point2D2N1 = polyline[0];
                for (int index = 1; index < polyline.Count; ++index)
                {
                    Point2D2N point2D2N2 = polyline[index];
                    num       += lineTypeScaler.GetScaledLength(point2D2N2.Position - point2D2N1.Position);
                    point2D2N1 = point2D2N2;
                }
                if (polyline.Closed)
                {
                    num += lineTypeScaler.GetScaledLength(polyline[0].Position - point2D2N1.Position);
                }
            }
            return(num);
        }
Exemple #10
0
        public static double GetLength(Polyline3DT polyline, ILineTypeScaler lineTypeScaler)
        {
            double num = 0.0;

            if (polyline.Count > 1)
            {
                Point3D point3D = polyline[0].Position;
                for (int index = 1; index < polyline.Count; ++index)
                {
                    Point3D position = polyline[index].Position;
                    num    += lineTypeScaler.GetScaledLength(position - point3D);
                    point3D = position;
                }
                if (polyline.Closed)
                {
                    num += lineTypeScaler.GetScaledLength(polyline[0].Position - point3D);
                }
            }
            return(num);
        }
Exemple #11
0
        public static double GetLength(Polyline3D polyline, ILineTypeScaler lineTypeScaler)
        {
            double num = 0.0;

            if (polyline.Count > 1)
            {
                Point3D point3D1 = polyline[0];
                for (int index = 1; index < polyline.Count; ++index)
                {
                    Point3D point3D2 = polyline[index];
                    num     += lineTypeScaler.GetScaledLength(point3D2 - point3D1);
                    point3D1 = point3D2;
                }
                if (polyline.Closed)
                {
                    num += lineTypeScaler.GetScaledLength(polyline[0] - point3D1);
                }
            }
            return(num);
        }
Exemple #12
0
 private void GetPolylines(
     DrawContext context,
     ILineTypeScaler lineTypeScaler,
     out IList <WW.Math.Geometry.Polyline3D> polylines,
     out IList <FlatShape4D> shapes)
 {
     if (this.point3D_0 == this.point3D_1)
     {
         polylines = (IList <WW.Math.Geometry.Polyline3D>) new WW.Math.Geometry.Polyline3D[1]
         {
             new WW.Math.Geometry.Polyline3D(new WW.Math.Point3D[1] {
                 this.point3D_0
             })
         };
         shapes = (IList <FlatShape4D>)null;
     }
     else
     {
         polylines = (IList <WW.Math.Geometry.Polyline3D>) new List <WW.Math.Geometry.Polyline3D>();
         WW.Math.Geometry.Polyline3D polyline = new WW.Math.Geometry.Polyline3D(new WW.Math.Point3D[2] {
             this.point3D_0, this.point3D_1
         });
         if (context.Config.ApplyLineType)
         {
             shapes = (IList <FlatShape4D>) new List <FlatShape4D>();
             DxfUtil.smethod_4(context.Config, polylines, shapes, polyline, this.GetLineType(context), this.ZAxis, context.TotalLineTypeScale * this.LineTypeScale, lineTypeScaler);
             if (shapes.Count != 0)
             {
                 return;
             }
             shapes = (IList <FlatShape4D>)null;
         }
         else
         {
             polylines.Add(polyline);
             shapes = (IList <FlatShape4D>)null;
         }
     }
 }
Exemple #13
0
        private void method_13(
            DrawContext context,
            ILineTypeScaler lineTypeScaler,
            out IList <WW.Math.Geometry.Polyline3D> polylines,
            out IList <FlatShape4D> shapes)
        {
            DxfHeader      header = context.Model.Header;
            GraphicsConfig config = context.Config;

            polylines = (IList <WW.Math.Geometry.Polyline3D>) new List <WW.Math.Geometry.Polyline3D>();
            shapes    = (IList <FlatShape4D>)null;
            bool approximationPointsDrawn;

            WW.Math.Geometry.Polyline3D polyline = this.method_14(config, out approximationPointsDrawn);
            if (polyline != null)
            {
                if (config.ApplyLineType)
                {
                    shapes = (IList <FlatShape4D>) new List <FlatShape4D>();
                    DxfUtil.smethod_4(context.Config, polylines, shapes, polyline, this.GetLineType(context), Vector3D.ZAxis, context.TotalLineTypeScale * this.LineTypeScale, lineTypeScaler);
                }
                else
                {
                    polylines.Add(polyline);
                }
            }
            if (config.ShowSplineControlPoints)
            {
                polylines.Add(this.method_16());
            }
            if (!config.ShowSplineApproximationPoints || approximationPointsDrawn)
            {
                return;
            }
            polylines.Add(this.method_17());
        }