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); }
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);
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); }
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; } }
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; }
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; }
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); }
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); }
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); }
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; } } }
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()); }