//understand
        private LJJSPoint GetPtZBByKDC(KeDuChiItem drawkdc, LJJSPoint jdptstart, double xval, double yval, double jdtop)
        {
            ZuoBiaoOper zbopp     = new ZuoBiaoOper(FrameDesign.ValueCoordinate);
            LJJSPoint   lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdptstart, LineRoadEnvironment.LineRoadWidth);

            return(zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, xval, yval, jdtop, LineRoadEnvironment.LineRoadWidth));
        }
 public CurveHatch(JDStruc jdstruc, KeDuChiItem keDuChiItem, double lineRoadWidth)
 {
     this._jdstruc       = jdstruc;
     this._keDuChiItem   = keDuChiItem;
     this._jdptstart     = ZuoBiaoOper.UpdateLRStartPt(keDuChiItem.KDir, jdstruc.JDPtStart, lineRoadWidth);//根据刻度尺方向获得起点;
     this._lineRoadWidth = lineRoadWidth;
 }
Exemple #3
0
        /// <summary>
        /// 根据绘图的基点井深、基点坐标、刻度尺等内容获得绘制点在图幅上的坐标。
        /// </summary>
        /// <param name="jdStartPt">井段起始点坐标</param>
        /// <param name="kdc">绘制点所属的刻度尺</param>
        /// <param name="xVal">绘制点的X值(数据库中)</param>
        /// <param name="yVal">绘制点的Y值即井深(数据库中)</param>
        /// <param name="jdStartJS">基点对应的井深值</param>
        /// <returns></returns>
        public LJJSPoint GetDrawingZuoBiaoPt(LJJSPoint jdStartPt, KeDuChiItem kdc, double xVal, double yVal, double jdStartJS, double lRWidth)
        {
            double xvalue  = jdStartPt.XValue;
            double yvalue  = jdStartPt.YValue;
            double jsspace = Math.Abs(yVal - jdStartJS);

            if (jdStartJS < yVal)//所求点在基点下方;
            {
                yvalue = yvalue - jsspace * 1000 * _bilichivalue;
            }
            else
            {
                yvalue = yvalue + jsspace * 1000 * _bilichivalue;
            }
            double xtmpval;

            if (Math.Abs(kdc.KMax - kdc.KMin) > 0)
            {
                xtmpval = (xVal - kdc.KMin) / (kdc.KMax - kdc.KMin) * lRWidth;
                xvalue  = xvalue + kdc.KDir * xtmpval;
            }

            /**if(xvalue > 5)
             * {
             *  xvalue = 0;
             * }**/

            LJJSPoint pt = new LJJSPoint(xvalue, yvalue);

            return(pt);
        }
Exemple #4
0
        private LJJSPoint GetDuiShuPointZB(KeDuChiItem duiShuKDC, LJJSPoint convertPt, JDStruc jdstruc, LJJSPoint lrptstart)
        {
            double Xpt = DuiShuOper.XGetDSZuoBiaoValue(lrptstart.XValue, duiShuKDC.KDir, duiShuKDC.KParm, convertPt.XValue, duiShuKDC.KMin);
            double Ypt = ZuoBiaoOper.GetJSZongZBValue(jdstruc.JDPtStart.YValue, convertPt.YValue, jdstruc.JDtop, FrameDesign.ValueCoordinate);

            return(new LJJSPoint(Xpt, Ypt));
        }
 /// <summary>
 /// 绘制棒线
 /// </summary>
 /// <param name="kdc">棒线所属刻度尺</param>
 /// <param name="xVal">棒线终点对应的横向值(数据库中)</param>
 /// <param name="yVal">棒线终点对应的井深(数据库中)</param>
 private void DrawStickLine(LJJSPoint jdStartPt, KeDuChiItem kdc, double xVal, double yVal, double jdStartJS)
 {
     Layer.Layer_SetToCurrent(kdc.KName);
     ZuoBiaoOper zbopp   = new ZuoBiaoOper(FrameDesign.ValueCoordinate);
     LJJSPoint   ptend   = zbopp.GetDrawingZuoBiaoPt(jdStartPt, kdc, xVal, yVal, jdStartJS, lineRoadEnvironment.LineRoadWidth);
     LJJSPoint   ptstart = new LJJSPoint(jdStartPt.XValue, ptend.YValue);
     ulong       objid   = Line.BuildCommonLineByLayer(ptstart, ptend, kdc.kLineWidth);
 }
        private LJJSPoint GetDuiShuPointZB(KeDuChiItem duiShuKDC, double yvalue, Hashtable drawht, JDStruc jdstruc, LJJSPoint lrptstart)
        {
            double xvalue = (double)drawht[yvalue];

            double Xpt = DuiShuOper.XGetDSZuoBiaoValue(lrptstart.XValue, duiShuKDC.KDir, duiShuKDC.KParm, xvalue, duiShuKDC.KMin);
            double Ypt = ZuoBiaoOper.GetJSZongZBValue(jdstruc.JDPtStart.YValue, yvalue, jdstruc.JDtop, FrameDesign.ValueCoordinate);

            return(new LJJSPoint(Xpt, Ypt));
        }
 private void DrawDuiShuStickLine(LJJSPoint jdStartPt, KeDuChiItem kdc, double xVal, double yVal, double jdStartJS)
 {
     ZuoBiaoOper zbopp   = new ZuoBiaoOper(FrameDesign.ValueCoordinate);
     double      duishuX = DuiShuOper.XGetDSZuoBiaoValue(jdStartPt.XValue, kdc.KDir, kdc.KParm, xVal, kdc.KMin);
     double      duishuY = ZuoBiaoOper.GetJSZongZBValue(jdStartPt.YValue, yVal, jdStartJS, FrameDesign.ValueCoordinate);
     LJJSPoint   ptend   = new LJJSPoint(duishuX, duishuY);
     LJJSPoint   ptstart = new LJJSPoint(jdStartPt.XValue, ptend.YValue);
     ulong       objid   = Line.BuildCommonSoldLine(ptstart, ptend, Color.Black.ToArgb(), kdc.kLineWidth);
     //
 }
        private void AddDuiShuStickLineToFigure(KeDuChiItem duiShuKDC, JDStruc jdstruc, Hashtable drawht)
        {
            LJJSPoint lrptstart = ZuoBiaoOper.UpdateLRStartPt(duiShuKDC.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth);

            foreach (DictionaryEntry de in drawht)
            {
                double xval = (double)de.Value;

                DrawDuiShuStickLine(lrptstart, duiShuKDC, xval, (double)de.Key, jdstruc.JDtop);
            }
        }
Exemple #9
0
        public static double XGetZuoBiaoValue(double xStartPt, KeDuChiItem kdc, double xVal, double lRWidth)
        {
            double xtmpval;
            double xvalue = xStartPt;

            if (Math.Abs(kdc.KMax - kdc.KMin) > 0)
            {
                xtmpval = (xVal - kdc.KMin) / (kdc.KMax - kdc.KMin) * lRWidth;
                xvalue  = xvalue + kdc.KDir * xtmpval;
            }
            return(xvalue);
        }
        private void AddDuiShuContinuousToFigure(KeDuChiItem duiShuKDC, ArrayList al, JDStruc jdstruc, Hashtable drawht, Color penColor)
        {
            List <LJJSPoint> drawptcol = new List <LJJSPoint>();
            double           yval      = 0;
            LJJSPoint        lrptstart = ZuoBiaoOper.UpdateLRStartPt(duiShuKDC.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth);//根据刻度尺方向获得起点;

            for (int i = 0; i < al.Count; i++)
            {
                yval = (double)al[i];
                drawptcol.Add(GetDuiShuPointZB(duiShuKDC, yval, drawht, jdstruc, lrptstart));
            }
            DrawContinuousLine(drawptcol, duiShuKDC.KName, duiShuKDC.kLineWidth, penColor);//绘制上一段曲线;
        }
Exemple #11
0
        public static bool IfInKeDuChi(double xvalue, KeDuChiItem kdc)
        {
            bool revalue = false;

            if (kdc == null)
            {
                return(revalue);
            }
            if ((xvalue >= kdc.KMin) && (xvalue <= kdc.KMax))
            {
                revalue = true;
            }
            return(revalue);
        }
Exemple #12
0
        public static KeDuChiItem GetFirstKDCItemByItemName(string itemName)
        {
            KeDuChiItem        result = null;
            List <KeDuChiItem> m_KDCList;

            if (null != KeDuChiManage.LineItemKDCHt)
            {
                m_KDCList = (List <KeDuChiItem>)KeDuChiManage.LineItemKDCHt[itemName];
                if (null != m_KDCList && m_KDCList.Count > 0)
                {
                    result = m_KDCList[0];
                }
            }
            return(result);
        }
        public override void InitOtherItemDesign()
        {
            colorDic = ColorCodeDic.GetColorDescKeyDic();
            List <KeDuChiItem> m_KDCList = (List <KeDuChiItem>)KeDuChiManage.LineItemKDCHt[ItemName];

            if (null != m_KDCList && m_KDCList.Count > 0)
            {
                drawkdc = m_KDCList[0];
            }
            ////图层设计;
            //if(null !=drawkdc)
            //{
            //    string layername =DrawItemStyle.HatchRectItem.ToString()+ drawkdc.KName;

            //}
        }
        //single paint



        private KeDuChiItem PointIfChaoJie(double yval, Hashtable drawht)
        {
            KeDuChiItem drawkdc = null;

            double xval = (double)drawht[yval];

            for (int j = 0; j < m_KDCList.Count; j++)
            {
                KeDuChiItem tmpdrawkdc = m_KDCList[j];
                if (ZuoBiaoOper.IfInKeDuChi(xval, tmpdrawkdc))
                {
                    drawkdc = tmpdrawkdc;
                    break;
                }
            }
            return(drawkdc);
        }
        private List <LJJSPoint> GetClosedAreaDRS(KeDuChiItem kdc, string subsql, double gwjsYZuoBiao, LJJSPoint ptStart)
        {
            List <LJJSPoint> rev = new List <LJJSPoint>();

            DataRow[] drs = ClosedAreaDataTb.Select(subsql, itemDesignStruc.ClosedArea_Field_X + " ASC");
            if (null != drs && drs.Count() > 0)
            {
                foreach (DataRow dr in drs)
                {
                    double x   = (double)dr[itemDesignStruc.ClosedArea_Field_X];
                    double y   = gwjsYZuoBiao + (double)dr[itemDesignStruc.ClosedArea_Feild_Y] * StandardHCGZItemBuilder.HCGZLTXiShu;
                    double xzb = DuiShuOper.XGetDSZuoBiaoValue(ptStart.XValue, kdc.KDir, kdc.KParm, x, kdc.KMin);
                    rev.Add(new LJJSPoint(xzb, y));
                }
            }
            return(rev);
        }
Exemple #16
0
        public override void InitOtherItemDesign()
        {
            List <KeDuChiItem> m_KDCList = (List <KeDuChiItem>)KeDuChiManage.LineItemKDCHt[ItemName];

            //设置刻度尺列表;
            if (null != m_KDCList && m_KDCList.Count > 0)
            {
                kdcItem = m_KDCList.First();
            }
            else
            {
                MessageBox.Show("缺少刻度尺设计");
                return;
            }
            //设置补充线1,从线道头开始,至线道末的垂直线;
            firstVerBoundaryLineLst = new List <LJJSPoint>();
            double xstart;

            if (kdcItem.KDir.Equals(1))//正向
            {
                xstart = this.LineRoadStartPt.XValue;
            }
            else
            {
                xstart = this.LineRoadStartPt.XValue + lineRoadEnvironment.LineRoadWidth;
            }
            LJJSPoint startone = GetVerBoundaryStartPt(xstart, kdcItem.KMin);

            firstVerBoundaryLineLst.Add(startone);
            firstVerBoundaryLineLst.Add(GetVerBoundaryEndPt(startone.XValue));

            if (itemDesignStruc.FenJieValueOne > 0)
            {
                LJJSPoint starttwo = GetVerBoundaryStartPt(xstart, itemDesignStruc.FenJieValueOne);
                secondVerBoundaryLineLst.Add(starttwo);
                secondVerBoundaryLineLst.Add(GetVerBoundaryEndPt(starttwo.XValue));
            }
            if (itemDesignStruc.FenJieValueTwo > 0)
            {
                LJJSPoint startthree = GetVerBoundaryStartPt(xstart, itemDesignStruc.FenJieValueTwo);
                thirdVerBoundaryLineLst.Add(startthree);
                thirdVerBoundaryLineLst.Add(GetVerBoundaryEndPt(startthree.XValue));
            }
        }
Exemple #17
0
        public override void InitOtherItemDesign()
        {
            //设置刻度尺;
            List <KeDuChiItem> m_KDCList = (List <KeDuChiItem>)KeDuChiManage.LineItemKDCHt[ItemName];

            if (null != m_KDCList && m_KDCList.Count > 0)
            {
                keDuChiItem = m_KDCList[0];
            }
            else
            {
                return;
            }

            //设置补充线,从线道头开始,至线道末的垂直线;
            verBoundaryLineLst = new List <LJJSPoint>();
            double xstart;

            if (itemDesignStruc.HatchPosition.Equals(MyCurveHatchPos.Left))
            {
                xstart = this.LineRoadStartPt.XValue;
            }
            else
            {
                xstart = this.LineRoadStartPt.XValue + lineRoadEnvironment.LineRoadWidth;
            }

            LJJSPoint start = new LJJSPoint(xstart, this.LineRoadStartPt.YValue);

            verBoundaryLineLst.Add(start);
            int lastjdcount = this.lineRoadEnvironment.JdDrawLst.Count();

            if (lastjdcount > 0)
            {
                JDStruc   jd    = this.lineRoadEnvironment.JdDrawLst[lastjdcount - 1];
                LJJSPoint endPt = new LJJSPoint(xstart, jd.JDPtStart.YValue + DrawCommonData.DirectionDown * jd.JDHeight);
                verBoundaryLineLst.Add(endPt);
            }
        }
Exemple #18
0
        private List <LJJSPoint> GetClosedAreaDRS(double startX, double endX, KeDuChiItem kdc, string subsql, double gwjsYZuoBiao)
        {
            List <LJJSPoint> rev = new List <LJJSPoint>();

            if (endX > startX)
            {
                subsql = subsql + " and " + hcgzItemDesignStruc.ClosedArea_Field_X + ">" + startX + " and " + hcgzItemDesignStruc.ClosedArea_Field_X + "<" + endX;
            }
            DataRow[] drs = hcgzClosedAreaDataTb.Select(subsql, hcgzItemDesignStruc.ClosedArea_Field_X + " ASC");
            if (null != drs && drs.Count() > 0)
            {
                starty = (double)drs[0][hcgzItemDesignStruc.ClosedArea_Feild_Y];
                endy   = (double)drs[drs.Length - 1][hcgzItemDesignStruc.ClosedArea_Feild_Y];
                foreach (DataRow dr in drs)
                {
                    double x   = (double)dr[hcgzItemDesignStruc.ClosedArea_Field_X];
                    double y   = gwjsYZuoBiao + (double)dr[hcgzItemDesignStruc.ClosedArea_Feild_Y] * HCGZLTXiShu;
                    double xzb = DuiShuOper.XGetDSZuoBiaoValue(ptStart.XValue, 1, kdc.KParm, x, kdc.KMin);
                    rev.Add(new LJJSPoint(xzb, y));
                }
            }
            return(rev);
        }
        private void AddChaoJieBZ(double xval, LJJSPoint jdStartPt, double BzJS, double jdStartJS, double blcvalue, KeDuChiItem drawkdc, double lRWidth)
        {
            Layer.Layer_SetToCurrent(drawkdc.KName);
            double chaojiepty = ZuoBiaoOper.GetJSZongZBValue(jdStartPt.YValue, BzJS, jdStartJS, blcvalue);

            LJJSPoint chaojiept = new LJJSPoint(jdStartPt.XValue + drawkdc.KDir * lRWidth, chaojiepty);
            ChaoJieBZ cjbz      = new ChaoJieBZ(xval, chaojiept);

            cjbz.DrawChaoJieBiaoZhu(drawkdc.KDir);
        }
        private void AddNormalContinuousToFigure(ArrayList al, JDStruc jdstruc, Hashtable drawht, Color penColor, int index)
        {
            double           jdtop       = jdstruc.JDtop;
            string           prekdcname  = "No";
            double           preyval     = 0;
            double           prexvalue   = 0;
            string           currkdcname = "";
            LJJSPoint        lrptstart;
            LJJSPoint        currpt     = new LJJSPoint(0, 0);
            List <LJJSPoint> drawptcol  = new List <LJJSPoint>();
            List <LJJSPoint> outdrawcol = new List <LJJSPoint>();

            List <List <LJJSPoint> > outdrawcollist = new List <List <LJJSPoint> >();

            double      jdbottom = jdstruc.JDBottom;
            ZuoBiaoOper zbopp    = new ZuoBiaoOper(FrameDesign.ValueCoordinate);
            LJJSPoint   prept    = new LJJSPoint(0, 0);
            KeDuChiItem drawkdc  = null;
            LJJSPoint   chajieinterpt;//超界交点
            KeDuChiItem outdrawkdc = m_KDCList[m_KDCList.Count - 1];
            double      lastxvalue = 0;


            #region
            for (int i = 0; i < al.Count; i++)
            {
                double yval   = (double)al[i];
                double xvalue = (double)drawht[yval]; //获取 每个点x,y的值

                drawkdc = PointIfChaoJie(yval, drawht);

                if (drawkdc != null)//该点未超界;
                {
                    outdrawkdc = drawkdc;
                    lrptstart  = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdstruc.JDPtStart, LineRoadEnvironment.LineRoadWidth);

                    this.lrptstart     = lrptstart;
                    this.lrptstartName = lineItemStruct.LiSubClass;
                    //MessageBox.Show(string.Format("lrptstart:({0},{1})", lrptstart.XValue.ToString(), lrptstart.YValue.ToString()));

                    currkdcname = drawkdc.KName;
                    currpt      = GetPtZBByKDC(drawkdc, jdstruc.JDPtStart, (double)drawht[yval], yval, jdstruc.JDtop);
                    prept       = currpt;
                    if (StrUtil.IfTwoStrEqul(prekdcname, currkdcname))
                    {
                        drawptcol.Add(currpt);//和上一点为同一刻度尺;则加入绘图集合;
                    }
                    else//开始下一段曲线的操作;分为从超界曲线向非超界的跳变,也有可能是非超界之间的跳变;
                    {
                        if (prekdcname.Equals(""))//从超界曲线向非超界的跳变
                        {
                            if (lastxvalue < drawkdc.KMin)
                            {
                                chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue);
                            }
                            else
                            {
                                chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * LineRoadEnvironment.LineRoadWidth);
                            }


                            outdrawcol.Add(chajieinterpt);
                            drawptcol.Clear();
                            drawptcol.Add(chajieinterpt);

                            if (outdrawcol.Count > 0)
                            {
                                outdrawcollist.Add(outdrawcol);
                            }
                        }
                        else//非超界之间的跳变;
                        {
                            if (drawptcol.Count > 1)
                            {
                                this.DrawContinuousLine(drawptcol, prekdcname, drawkdc.kLineWidth, penColor);//绘制上一段曲线;
                            }

                            drawptcol.Clear();
                        }
                        drawptcol.Add(currpt);
                    }
                    prekdcname = currkdcname;
                    prexvalue  = (double)drawht[yval];
                    preyval    = yval;
                }
                else//该点已超界  drawkdc == null
                {
                    if (m_KDCList.Count > 0)
                    {
                        currpt      = GetPtZBByKDC(outdrawkdc, jdstruc.JDPtStart, (double)drawht[yval], yval, jdstruc.JDtop);
                        currkdcname = "";
                        if (lineItemStruct.LineItemChaoJie == CJQXChaoJie.BiaoZhu) //添加标注信息;
                        {
                            if (!StrUtil.IfTwoStrEqul(prekdcname, currkdcname))    //跳变点
                            {
                                lrptstart          = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth);
                                this.lrptstart     = lrptstart;
                                this.lrptstartName = lineItemStruct.LiSubClass;
                                if (xvalue < outdrawkdc.KMin)
                                {
                                    chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue);
                                }
                                else
                                {
                                    chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth);
                                }
                                drawptcol.Add(chajieinterpt);
                                if (drawptcol.Count > 0)
                                {
                                    this.DrawContinuousLine(drawptcol, prekdcname, outdrawkdc.kLineWidth, penColor);//绘制上一段非超界曲线;


                                    drawptcol.Clear();
                                }
                            }
                            prept      = currpt;
                            prekdcname = currkdcname;
                            prexvalue  = (double)drawht[yval];
                            preyval    = yval;

                            continue;
                        }


                        if (StrUtil.IfTwoStrEqul(prekdcname, currkdcname))
                        {
                            outdrawcol.Add(currpt);//和上一点为同一刻度尺;则加入绘图集合;
                        }
                        else//此时为从非超界向超界跳变;上一段非超界曲线结束;
                        {
                            outdrawcol         = new List <LJJSPoint>();
                            lrptstart          = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth);
                            this.lrptstart     = lrptstart;
                            this.lrptstartName = lineItemStruct.LiSubClass;
                            if (xvalue < outdrawkdc.KMin)
                            {
                                chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue);
                            }
                            else
                            {
                                chajieinterpt = ZuoBiaoOper.GetTiaoBianIntersectionPoint(currpt, prept, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth);
                            }

                            drawptcol.Add(chajieinterpt);
                            if (drawptcol.Count > 1)
                            {
                                this.DrawContinuousLine(drawptcol, prekdcname, outdrawkdc.kLineWidth, penColor);//绘制上一段非超界曲线;

                                drawptcol.Clear();
                            }
                            if (outdrawcol.Count > 0)
                            {
                                outdrawcollist.Add(outdrawcol);
                            }
                            outdrawcol.Clear();
                            if (i != 0)
                            {
                                outdrawcol.Add(chajieinterpt);
                            }


                            outdrawcol.Add(currpt);
                            prekdcname = currkdcname;
                            prexvalue  = (double)drawht[yval];
                            preyval    = yval;
                        }
                    }
                }
                prept      = currpt;
                lastxvalue = xvalue;
            }//遍历完所有的点;
            #endregion
            lrptstart = ZuoBiaoOper.UpdateLRStartPt(outdrawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth);


            this.set_start_point_dele = SuiZuanForm.set_startpoint; //这两行代码用于随钻界面画图后界面的放大,如果是绘图可无视
            this.set_start_point_dele(lrptstart);                   //这两行代码用于随钻界面画图后界面的放大,如果是绘图可无视
            this.lrptstart     = lrptstart;
            this.lrptstartName = lineItemStruct.LiSubClass;
            if ((currkdcname == "") && (outdrawcol.Count > 1))
            {
                outdrawcollist.Add(outdrawcol);


                //add here?
            }



            if (drawptcol.Count > 1 && drawkdc != null)
            {
                //在循环进行完毕,将drawptcol ,即画的线上的所有点的集合保存在一个静态类中
                if (lineItemStruct.LiSubClass == "msev" && DrawPointContainer.list[index].msevList == null)
                {
                    DrawPointContainer.list[index].msevList = drawptcol;
                    //MsehAndMsevContainer.msevList = drawptcol;
                }
                if (lineItemStruct.LiSubClass == "mseh" && DrawPointContainer.list[index].msehList == null)
                {
                    DrawPointContainer.list[index].msehList = drawptcol;
                }

                if (lineItemStruct.LiSubClass == "wxcs" && DrawPointContainer.list[index].wxcsList == null)
                {
                    DrawPointContainer.list[index].wxcsList = drawptcol;
                }

                if (lineItemStruct.LiSubClass == "wxcs2" && DrawPointContainer.list[index].WXCSJiaoHuiList == null)
                {
                    DrawPointContainer.list[index].WXCSJiaoHuiList = drawptcol;
                }

                if (lineItemStruct.LiSubClass == "jgl" && DrawPointContainer.list[index].JinGeiLiangList == null)
                {
                    DrawPointContainer.list[index].JinGeiLiangList = drawptcol;
                }


                this.DrawContinuousLine(drawptcol, currkdcname, drawkdc.kLineWidth, penColor);//绘制上一段非超界曲线;在此画线
            }

            if (outdrawcollist.Count > 0)
            {
                AddChaoJieLine(outdrawcollist, lrptstart.XValue + outdrawkdc.KDir * lineRoadEnvironment.LineRoadWidth, outdrawkdc.KDir, outdrawkdc.KName, outdrawkdc.kLineWidth, penColor);
            }
        }
Exemple #21
0
 public CurveHatch(KeDuChiItem keDuChiItem, double lineRoadWidth)
 {
     this._keDuChiItem   = keDuChiItem;
     this._lineRoadWidth = lineRoadWidth;
 }
Exemple #22
0
        private LJJSPoint GetPtZBByKDC(KeDuChiItem drawkdc, LJJSPoint lrptstart, LJJSPoint converPt, double jdtop)
        {
            ZuoBiaoOper zbopp = new ZuoBiaoOper(FrameDesign.ValueCoordinate);

            return(zbopp.GetDrawingZuoBiaoPt(lrptstart, drawkdc, converPt.XValue, converPt.YValue, jdtop, LineRoadEnvironment.LineRoadWidth));
        }
 public override void InitOtherItemDesign()
 {
     kdcItem = KDCBuildExec.GetFirstKDCItemByItemName(this.ItemName);
 }