コード例 #1
0
ファイル: DxfOle.cs プロジェクト: 15831944/WW
        private void GetPolylines(
            DrawContext context,
            ILineTypeScaler lineTypeScaler,
            out IList <Polyline3D> polylines,
            out IList <FlatShape4D> flatShapes)
        {
            Polyline3D polyline = this.method_14();

            polylines = (IList <Polyline3D>) new List <Polyline3D>();
            if (polyline != null)
            {
                DxfHeader        header = context.Model.Header;
                GraphicsConfig   config = context.Config;
                WW.Math.Vector3D upward = WW.Math.Vector3D.CrossProduct(this.point3D_0 - this.point3D_3, this.point3D_2 - this.point3D_3);
                upward.Normalize();
                if (config.ApplyLineType)
                {
                    flatShapes = (IList <FlatShape4D>) new List <FlatShape4D>();
                    DxfUtil.smethod_3(context.Config, polylines, flatShapes, polyline, this.GetLineType(context), upward, context.TotalLineTypeScale * this.LineTypeScale, lineTypeScaler, true);
                }
                else
                {
                    polylines.Add(polyline);
                    flatShapes = (IList <FlatShape4D>)null;
                }
            }
            else
            {
                flatShapes = (IList <FlatShape4D>)null;
            }
        }
コード例 #2
0
 private WW.Math.Vector3D method_17(DxfMLine.Segment segment)
 {
     WW.Math.Vector3D vector3D = WW.Math.Vector3D.CrossProduct(segment.Direction, WW.Math.Vector3D.CrossProduct(segment.Direction, segment.MiterDirection));
     vector3D.Normalize();
     return(vector3D);
 }