亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stratumline.cs

?? 剖面生成器
?? CS
字號:
using System;
using SuperMapLib;

namespace ProfileCtrl
{
	/// <summary>
	/// 地層線類
	/// </summary>
	public class StratumLine
	{
		public StratumLine(Bore[] bores)
		{

			//
			// TODO: 在此處添加構造函數邏輯
			//
			this.scaleX=PublicValue.scaleX;
			this.scaleY=PublicValue.scaleY;
			this.bores=bores;
			zkCount=bores.Length;
			this.space=PublicValue.space;
		}
		float scaleX, scaleY, scaleT=0.005f;//文本縮放比例因子
		private Bore[] bores;//鉆孔數據的集合
		private int zkCount;//鉆孔個數
		private int space;
		/// <summary>
		/// 文本縮放比例因子
		/// </summary>
		public float ScaleT
		{
			get{return scaleT;}
			set{scaleT=value;}
		}
		public void Draw(soRecordset objRs)
		{
			DrawTB(objRs);
			DrawSumLine(objRs);
		}

	
		
		#region "自動生成概化地質界線"
		/// <summary>
		/// 概化地質界線方法
		/// </summary>
		/// <param name="objRs">存放剖面的數據集</param>
		private void DrawSumLine(soRecordset objRs)
		{
			soPoint objPoint;//存放地質線的臨時點
			soPoints objPointsT,objPointsB;	//頂、底板點集			
			soGeoLine objGeoLine;//地層線

			bool[][] isPop = new bool[zkCount][];	//設一臨時變量,判斷此地層是否取出
			for(int i=0;i<zkCount;i++)
			{
				isPop[i] = new bool[bores[i].GetHSCDM().Length];
			}

			for(int i=0;i<zkCount;i++)		//循環所有鉆孔
			{	
				#region 
				for(int j=1;j<bores[i].GetHSCDM().Length;j++)			//循環所有含水層
				{							
					if(bores[i].GetHSCDM()[j] != "隔水層" && !isPop[i][j])	//畫現所有的含水層
					{											
						objPoint = new soPoint();		
						objPointsT = new soPoints();
						objPointsB = new soPoints();
						if(i==0)	//第一個鉆孔和高程標尺連線
						{
							objPoint.x = -(float)space/this.scaleX;
							objPoint.y = bores[i].GetCDBG()[j-1]/scaleY;
							objPointsT.Add(objPoint);
							objPoint.y = bores[i].GetCDBG()[j]/scaleY;
							objPointsB.Add(objPoint);					
						}
						//??????????
						if(i != 0)	//不是第一個鉆孔,前一鉆孔缺失此地層
						{
							float gene = 1f/3f;	//運用地質規則,算出尖滅位置
							float depth = bores[i].GetCDBG()[j-1] - bores[i].GetCDBG()[j];
							if(depth > 5)	gene = 0.5f;
							if(depth > 8)	gene = 2f/3f;	
							objPoint.x = (bores[i].X - (bores[i].X - bores[i-1].X) * gene)/scaleX;
							//							objPoint.x = (bores[i-1].X + bores[i].X) * 0.5/scaleX;	//暫時取中點
							objPoint.y = (bores[i].GetCDBG()[j-1] + bores[i].GetCDBG()[j]) * 0.5/scaleY;		//暫時取中點
							objPointsT.Add(objPoint);
							objPointsB.Add(objPoint);
						}					
						objPoint.x = bores[i].X/scaleX;
						objPoint.y = bores[i].GetCDBG()[j-1]/scaleY;
						objPointsT.Add(objPoint);
						objPoint.y = bores[i].GetCDBG()[j]/scaleY;
						objPointsB.Add(objPoint);

						

						#region
						int forNum = j;					
						for(int n = i+1;n<zkCount;n++)		//循環此鉆孔后所有鉆孔及地層
						{	
							#region
							bool isFind = false;						//是否找到地層							
							for(int k=1;k<bores[n].GetHSCDM().Length;k++)
							{	
								if(!isPop[n][k] && bores[i].GetHSCDM()[j] == bores[n].GetHSCDM()[k])
								{
									objPoint.x = bores[n].X/scaleX;
									objPoint.y = bores[n].GetCDBG()[k-1]/scaleY;
									objPointsT.Add(objPoint);
									objPoint.y = bores[n].GetCDBG()[k]/scaleY;
									objPointsB.Add(objPoint);
									isPop[n][k] = true;
									if( n == (zkCount-1))	//最后一個鉆孔和高程標尺連線
									{
										objPoint.x = (bores[zkCount-1].X + space)/this.scaleX;
										objPoint.y = bores[zkCount-1].GetCDBG()[k-1]/scaleY;
										objPointsT.Add(objPoint);
										objPoint.y = bores[zkCount-1].GetCDBG()[k]/scaleY;
										objPointsB.Add(objPoint);					
									}

									isFind = true;
									forNum = k;
									break;
								}								
							}
							#endregion
							if(!isFind)	//后一鉆孔缺失此地層
							{
								float gene = 1f/3f;	//運用地質規則,算出尖滅位置
								float depth = bores[i].GetCDBG()[j-1] - bores[i].GetCDBG()[j];
								if(depth > 5)	gene = 0.5f;
								if(depth > 8)	gene = 2f/3f;
								objPoint = new soPoint();
								objPoint.x = (bores[n-1].X + (bores[n].X - bores[n-1].X) * gene)/scaleX;
								//								objPoint.x = (bores[n-1].X + bores[n].X) * 0.5/scaleX;							//暫時取中點
								objPoint.y = (bores[n-1].GetCDBG()[forNum-1] + bores[n-1].GetCDBG()[forNum]) * 0.5/scaleY;	//暫時取中點
								objPointsT.Add(objPoint);
								objPointsB.Add(objPoint);
								break;
							}
						}
						#endregion
						objGeoLine = new soGeoLine();
						objGeoLine.AddPart(objPointsT);
						objRs.AddNew((soGeometry)objGeoLine);					
						objRs.Update();	
						objGeoLine = new soGeoLine();
						objGeoLine.AddPart(objPointsB);
						objRs.AddNew((soGeometry)objGeoLine);					
						objRs.Update();	
					}					
				}
				#endregion
			}
			objPoint = null;
			objPointsT = null;
			objPointsB = null;
			objGeoLine = null;
		}

		#endregion

		#region 畫地面和層底連線
		/// <summary>
		/// 連接每個探孔的地表和底部,生產地表起伏線和層底連線
		/// </summary>
		/// <param name="objRs">存放剖面線的數據集</param>
		private void DrawTB(soRecordset objRs)
		{
			//地面線、孔底線
			soPoints objPointsT = new soPoints();
			soPoints objPointsB = new soPoints();
			soPoint objPoint = new soPoint();
			objPoint.x = -(float)space/scaleX;			
			objPoint.y = bores[0].GetCDBG()[0]/scaleY;
			objPointsT.Add(objPoint);
			objPoint.y = bores[0].GetCDBG()[bores[0].GetCDBG().Length-1]/scaleY;
			objPointsB.Add(objPoint);
			for(int i=0;i<bores.Length;i++)
			{				
				objPoint.x = bores[i].X/scaleX;
				objPoint.y = bores[i].GetCDBG()[0]/scaleY;
				objPointsT.Add(objPoint);
				objPoint.y = bores[i].GetCDBG()[bores[i].GetCDBG().Length-1]/scaleY;
				objPointsB.Add(objPoint);
			}
			objPoint.x = (bores[zkCount-1].X + space)/this.scaleX;		
			objPoint.y = bores[zkCount-1].GetCDBG()[0]/scaleY;
			objPointsT.Add(objPoint);
			objPoint.y = bores[zkCount-1].GetCDBG()[bores[zkCount-1].GetCDBG().Length-1]/scaleY;
			objPointsB.Add(objPoint);
			soGeoLine objGeoLine = new soGeoLine();
			objGeoLine.AddPart(objPointsT);
			objRs.AddNew((soGeometry)objGeoLine);
			objRs.Update();
			objGeoLine = new soGeoLine();
			objGeoLine.AddPart(objPointsB);
			objRs.AddNew((soGeometry)objGeoLine);
			objRs.Update();

			objPoint = null;
			objPointsT = null;
			objPointsB = null;
			objGeoLine = null;
		}
		#endregion

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产三级电影视频| 国产在线播放一区| 一区免费观看视频| 国产精品国产三级国产a| 中文字幕第一区综合| 国产欧美一区二区三区在线老狼| 精品国产sm最大网站| 久久综合狠狠综合久久激情| 精品福利视频一区二区三区| 久久久亚洲午夜电影| 国产精品久久久久久久久免费丝袜 | 91免费国产在线| 不卡一区二区中文字幕| 色综合中文字幕| 欧美日韩亚洲另类| 日韩欧美一区在线观看| 精品国产乱码久久久久久1区2区| 久久久亚洲精品一区二区三区| 中文字幕乱码亚洲精品一区| 亚洲精品免费一二三区| 亚洲国产精品久久久久婷婷884| 午夜视频一区在线观看| 狠狠色综合播放一区二区| 国产98色在线|日韩| 色婷婷av一区| 欧美电影免费观看高清完整版在线 | 国产在线精品不卡| 成人激情开心网| 欧美中文字幕一区| 26uuu精品一区二区在线观看| 国产喷白浆一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 美女视频黄 久久| av电影在线观看完整版一区二区| 精品婷婷伊人一区三区三| 精品91自产拍在线观看一区| 亚洲日本在线天堂| 久久91精品国产91久久小草 | 男人的天堂久久精品| 成人污污视频在线观看| 欧美日韩不卡在线| 国产精品高清亚洲| 精品制服美女丁香| 欧美性生活大片视频| 久久亚洲精品国产精品紫薇| 亚洲午夜av在线| 国产1区2区3区精品美女| 欧美日韩激情一区| 亚洲欧美在线视频观看| 久久超碰97中文字幕| 欧美性色综合网| 日本一区二区成人| 国产主播一区二区三区| 欧美美女黄视频| 亚洲精品一二三| 成人污视频在线观看| 欧美精品一区男女天堂| 视频一区二区三区入口| 在线观看日韩av先锋影音电影院| 中文欧美字幕免费| 激情综合网激情| 欧美岛国在线观看| 美腿丝袜在线亚洲一区| 欧美色男人天堂| 亚洲最大成人综合| 91久久精品一区二区二区| 国产精品女同一区二区三区| 国产麻豆精品95视频| 日韩欧美国产一区在线观看| 亚洲一区在线观看网站| 日本电影欧美片| 一区二区三区免费网站| 一本色道综合亚洲| 亚洲精品免费在线| 欧美亚洲自拍偷拍| 亚洲成人自拍网| 777午夜精品免费视频| 五月天精品一区二区三区| 欧美色爱综合网| 午夜精品久久久久久久蜜桃app| 欧美亚洲综合久久| 日韩在线一区二区| 精品剧情v国产在线观看在线| 精品制服美女丁香| 中文字幕精品一区二区精品绿巨人| 成人小视频在线观看| 国产欧美精品一区二区三区四区| 国产成人综合在线播放| 中文字幕欧美一| 在线观看国产精品网站| 性做久久久久久免费观看| 日韩午夜三级在线| 国产高清精品在线| 中文字幕亚洲电影| 欧美日韩在线观看一区二区| 免费在线成人网| 国产嫩草影院久久久久| 色婷婷国产精品| 美女任你摸久久| 国产精品久久久久久久久免费樱桃 | 秋霞午夜av一区二区三区| 26uuu久久综合| 91麻豆精品91久久久久同性| 国产一区二区看久久| 国产精华液一区二区三区| 国产精品丝袜一区| 91久久精品国产91性色tv| 日本中文在线一区| 中文字幕av资源一区| 欧美日韩一区在线观看| 国产一本一道久久香蕉| 亚洲一本大道在线| 久久久久久一二三区| 在线免费视频一区二区| 韩国毛片一区二区三区| 曰韩精品一区二区| 精品国产乱码久久久久久蜜臀| 色老汉av一区二区三区| 久久er99热精品一区二区| 亚洲欧美日韩精品久久久久| 日韩欧美一级二级| 色婷婷av一区二区三区软件| 极品美女销魂一区二区三区 | 7777精品伊人久久久大香线蕉最新版| 国产91精品久久久久久久网曝门 | 狠狠色丁香久久婷婷综| 欧美成人综合网站| 精品一二线国产| 夜夜操天天操亚洲| 国产欧美视频一区二区三区| 欧美老肥妇做.爰bbww| 99久精品国产| 国产成人av一区二区三区在线观看| 午夜精品久久久久| 一区二区三区日韩精品视频| 中文一区二区在线观看| 亚洲精品一区二区三区99| 7777女厕盗摄久久久| 欧美日韩一级二级| 色呦呦网站一区| 91一区二区在线| 97精品久久久久中文字幕| 国产91丝袜在线播放| 国产精品资源网| 国产一区二区久久| 国产在线观看免费一区| 精品一区二区三区免费毛片爱| 日本美女一区二区三区| 婷婷开心久久网| 欧洲人成人精品| 在线看日本不卡| 一本大道久久a久久精品综合 | 精品国产免费人成电影在线观看四季 | 国产精品一区二区久久精品爱涩| 日韩高清不卡一区二区三区| 日韩电影一二三区| 天天操天天干天天综合网| 亚洲国产va精品久久久不卡综合| 亚洲在线观看免费| 日产国产欧美视频一区精品| 蜜桃精品视频在线| 国产一区二区在线免费观看| 国产成人亚洲综合a∨猫咪| 国产麻豆精品theporn| 国产99精品国产| 91丨porny丨首页| 91久久免费观看| 欧美无砖专区一中文字| 国产天堂亚洲国产碰碰| 一区二区三区四区不卡视频| 在线日韩一区二区| 色94色欧美sute亚洲线路二| 欧美怡红院视频| 精品久久99ma| 国产精品免费网站在线观看| 亚洲免费毛片网站| 亚洲va中文字幕| 国产一区二区三区久久久 | 亚洲成a天堂v人片| 精品在线观看免费| 91香蕉视频mp4| 欧美人妇做爰xxxⅹ性高电影 | 成人网在线免费视频| 欧洲精品一区二区| 欧美成人一区二区三区在线观看| 国产欧美一区二区在线| 亚洲va国产va欧美va观看| 国精产品一区一区三区mba桃花| 成人h版在线观看| 91福利社在线观看| 日本色综合中文字幕| 欧美一区二区日韩| 国产欧美va欧美不卡在线| 一区二区在线免费| 国内精品视频一区二区三区八戒| 91免费版在线| 久久亚洲影视婷婷| 日韩av网站免费在线| 91在线观看一区二区| 精品国产乱子伦一区|