/// <summary> /// 添加普通类型的棒线,是与对数类型相区别; /// </summary> /// <param name="jdstruc">绘制棒线的井段范围</param> /// <param name="drawht">绘制棒线的数据,hashtable的key为y值也就是井深,X为棒线的横向取值</param> private void AddNormalStickLineToFigure(JDStruc jdstruc, Hashtable drawht) { bool ifinkdc = false; double jdtop = jdstruc.JDtop; double jdbottom = jdstruc.JDBottom; KeDuChiItem drawkdc; LJJSPoint lrptstart; int kdccount = m_KDCList.Count; foreach (DictionaryEntry de in drawht) { ifinkdc = false; double xval = (double)de.Value; for (int i = 0; i < m_KDCList.Count; i++) { drawkdc = m_KDCList[i]; if (ZuoBiaoOper.IfInKeDuChi(xval, drawkdc))//假如棒线横向坐标值在刻度尺范围内则绘制棒线; { Layer.Layer_SetToCurrent(drawkdc.KName); lrptstart = ZuoBiaoOper.UpdateLRStartPt(drawkdc.KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); DrawStickLine(lrptstart, drawkdc, xval, (double)de.Key, jdtop); ifinkdc = true; break; } } if (ifinkdc == false)//棒线横向坐标不再刻度吃范围内,添加超界标注; { lrptstart = ZuoBiaoOper.UpdateLRStartPt(m_KDCList[kdccount - 1].KDir, jdstruc.JDPtStart, lineRoadEnvironment.LineRoadWidth); if (lineItemStruct.LineItemChaoJie == CJQXChaoJie.BiaoZhu)//添加标注信息; { AddChaoJieBZ(xval, jdstruc.JDPtStart, (double)de.Key, jdstruc.JDtop, FrameDesign.ValueCoordinate, m_KDCList[kdccount - 1], lineRoadEnvironment.LineRoadWidth); } } } }
//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); }