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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aoeditor.cs

?? 很好的帶有編輯功能、量算功能??稍诘貓D上進(jìn)行距離、面積、角度測量
?? CS
?? 第 1 頁 / 共 2 頁
字號(hào):

using System;
using System.IO ;
using System.Windows.Forms ;
using System.Reflection ; 

using ESRI.ArcGIS.Carto ; 
using ESRI.ArcGIS.Display ;
using ESRI.ArcGIS.Geometry ;
using ESRI.ArcGIS.Geodatabase ; 

namespace AoTest
{
	/// <summary>
	/// 使用本類可以新建點(diǎn)、線、面
	/// 移動(dòng)點(diǎn)、線、面
	/// 編輯線、面的節(jié)點(diǎn)
	/// 使用時(shí)需設(shè)置Map和CurrentLayer
	/// </summary>
	public class AoEditor
	{
		private ILayer m_pCurrentLayer;
		private IMap m_pMap ;
		private IFeature m_pEditFeature ;
		private IPoint m_pPoint;
		private IDisplayFeedback m_pFeedback;
//		private ISelectionTracker m_pSelectionTracker;
		private bool m_bInUse;
		private IPointCollection m_pPointCollection;
		
		/// <summary>
		/// 當(dāng)前圖層,只寫
		/// </summary>
		public ILayer CurrentLayer
		{
			set
			{
				m_pCurrentLayer = (ILayer) value;
			}
		}

		/// <summary>
		/// 地圖對(duì)象,只寫
		/// </summary>
		public IMap Map
		{
			set 
			{
				m_pMap = (IMap) value;
			}
		}

		/// <summary>
		/// 構(gòu)造函數(shù)
		/// </summary>
		public AoEditor()
		{
			
		}

		/// <summary>
		/// 開始編輯,使工作空間處于可編輯狀態(tài)
		/// 在進(jìn)行圖層編輯前必須調(diào)用本方法
		/// </summary>
		public void StartEditing()
		{			 
			try
			{				
				if (m_pCurrentLayer ==null ) 	return ;

				if (!(m_pCurrentLayer is IGeoFeatureLayer)) 	return ;
			
				IFeatureLayer pFeatureLayer = (IFeatureLayer) m_pCurrentLayer;
				IDataset pDataset = (IDataset) pFeatureLayer.FeatureClass;
				if (pDataset ==null)	return ;
  
				// 開始編輯,并設(shè)置Undo/Redo 為可用
				IWorkspaceEdit pWorkspaceEdit =(IWorkspaceEdit) pDataset.Workspace;
				if (!pWorkspaceEdit.IsBeingEdited()) 
				{
					pWorkspaceEdit.StartEditing(true);
					pWorkspaceEdit.EnableUndoRedo();
				}
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString());
			}
		}
		
		/// <summary>
		/// 停止編輯,并將以前的編輯結(jié)果保存到數(shù)據(jù)文件中。
		/// </summary>
		public void StopEditing()
		{
			bool bHasEdits = false;
			bool bSave = false;
  
			try
			{				
				if (m_pCurrentLayer ==null)		return ;

				IFeatureLayer pFeatureLayer =(IFeatureLayer) m_pCurrentLayer;
				if (pFeatureLayer.FeatureClass ==null)	return ;

				IDataset pDataset =(IDataset) pFeatureLayer.FeatureClass;
				if (pDataset ==null)	return ;
   
				//如果數(shù)據(jù)已被修改,則提示用戶是否保存
				IWorkspaceEdit pWorkspaceEdit =(IWorkspaceEdit) pDataset.Workspace;
				if (pWorkspaceEdit.IsBeingEdited())
				{
					pWorkspaceEdit.HasEdits(ref bHasEdits);
					if (bHasEdits)
					{
						DialogResult result;
						result = MessageBox.Show("是否保存已做的修改?","提示",MessageBoxButtons.YesNo);
						if (result == DialogResult.Yes)
						{
							bSave = true;
						}
					}
					pWorkspaceEdit.StopEditing(bSave);
				}
 
				m_pMap.ClearSelection();
				IActiveView pActiveView =(IActiveView) m_pMap;
				pActiveView.Refresh();
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString());
			}

		}

		/// <summary>
		/// 檢查工作空間中是否有數(shù)據(jù)處于編輯狀態(tài)
		/// </summary>
		/// <returns>是否正在編輯</returns>
		public bool InEdit()
		{			
			try
			{				
				if (m_pCurrentLayer ==null ) return false ; 

				IFeatureLayer pFeatureLayer = (IFeatureLayer) m_pCurrentLayer;
				if (pFeatureLayer.FeatureClass == null) return false ; 

				IDataset pDataset =(IDataset) pFeatureLayer.FeatureClass;
				if ( pDataset == null) return false ;

				IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit) pDataset.Workspace;
				if (pWorkspaceEdit.IsBeingEdited()) return true;
                		
				return false;
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString()); 
				return false;
			}
		}

		/// <summary>
		/// 新建對(duì)象方法
		/// 當(dāng)前圖層為點(diǎn)圖層時(shí),每調(diào)用一次就新點(diǎn)一個(gè)點(diǎn)對(duì)象
		/// 當(dāng)前圖層為線圖層或面圖層時(shí),第一次調(diào)用開始新建對(duì)象,并添加當(dāng)前點(diǎn),
		/// 以后每調(diào)用一次,即向新對(duì)象中添加一個(gè)點(diǎn),調(diào)用NewFeatureEnd方法完成對(duì)象創(chuàng)建
		/// 在Map.MouseDown事件中調(diào)用本方法
		/// </summary>
		/// <param name="x">鼠標(biāo)X坐標(biāo),屏幕坐標(biāo)</param>
		/// <param name="y">鼠標(biāo)Y坐標(biāo),屏幕坐標(biāo)</param>
		public void NewFeatureMouseDown( int x, int y)
		{
			INewPolygonFeedback pPolyFeed ;
			INewLineFeedback pLineFeed;
  
			try
			{				
				if (m_pCurrentLayer == null ) return ;

				if (!(m_pCurrentLayer is IGeoFeatureLayer)) return ;

				IFeatureLayer pFeatureLayer =(IFeatureLayer) m_pCurrentLayer;
				if (pFeatureLayer.FeatureClass ==null ) return ;

				IActiveView pActiveView =(IActiveView) m_pMap;
				IPoint pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y);
  
				// 如果是新開始創(chuàng)建的對(duì)象,則相應(yīng)的創(chuàng)建一個(gè)新的Feedback對(duì)象;
				// 否則,向已存在的Feedback對(duì)象中加點(diǎn)
				if (!m_bInUse) 
				{
					m_pMap.ClearSelection();  //清除地圖選中對(duì)象

					switch ( pFeatureLayer.FeatureClass.ShapeType)
					{
						case esriGeometryType.esriGeometryPoint:
							CreateFeature( pPoint);
							break;
						case esriGeometryType.esriGeometryMultipoint:
							m_bInUse = true;
							m_pFeedback = new NewMultiPointFeedbackClass();
							INewMultiPointFeedback pMPFeed =(INewMultiPointFeedback) m_pFeedback;
							m_pPointCollection = new MultipointClass();
							pMPFeed.Start(m_pPointCollection, pPoint);
							break;
						case esriGeometryType.esriGeometryPolyline:
							m_bInUse = true;
							m_pFeedback = new  NewLineFeedbackClass();
							pLineFeed = (INewLineFeedback) m_pFeedback;
							pLineFeed.Start(pPoint);
							break;
						case esriGeometryType.esriGeometryPolygon:
							m_bInUse = true;
							m_pFeedback = new NewPolygonFeedbackClass();
							pPolyFeed = (INewPolygonFeedback) m_pFeedback;
							pPolyFeed.Start(pPoint);
							break;
					}
			
					if (m_pFeedback != null)
						m_pFeedback.Display = pActiveView.ScreenDisplay;
				}
				else
				{
					if (m_pFeedback is INewMultiPointFeedback)
					{
						object obj = Missing.Value ;
						m_pPointCollection.AddPoint(pPoint,ref obj,ref obj);
					}
					else if (m_pFeedback is INewLineFeedback)
					{
						pLineFeed =(INewLineFeedback) m_pFeedback;
						pLineFeed.AddPoint(pPoint);
					}
					else if (m_pFeedback is INewPolygonFeedback)
					{
						pPolyFeed = (INewPolygonFeedback) m_pFeedback;
						pPolyFeed.AddPoint(pPoint);
					}
				}
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString());
			}
		}

		/// <summary>
		/// 新建對(duì)象過程中鼠標(biāo)移動(dòng)方法,產(chǎn)生Track效果
		/// 在Map.MouseMove事件中調(diào)用本方法
		/// </summary>
		/// <param name="x">鼠標(biāo)X坐標(biāo),屏幕坐標(biāo)</param>
		/// <param name="y">鼠標(biāo)Y坐標(biāo),屏幕坐標(biāo)</param>
		public void NewFeatureMouseMove(int x, int y)
		{
			if ((!m_bInUse)||(m_pFeedback ==null)) return ;  
			
			IActiveView  pActiveView = (IActiveView) m_pMap;
			m_pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y);
			m_pFeedback.MoveTo(m_pPoint);
		}

		/// <summary>
		/// 完成新建對(duì)象,取得繪制的對(duì)象,并添加到圖層中
		/// 建議在Map.DblClick或Map.MouseDown(Button = 2)事件中調(diào)用本方法
		/// </summary>
		public void NewFeatureEnd()
		{
			IGeometry pGeom = null;
			IPointCollection pPointCollection;
  
			try
			{
				if (m_pFeedback is INewMultiPointFeedback)
				{
					INewMultiPointFeedback pMPFeed =(INewMultiPointFeedback) m_pFeedback;
					pMPFeed.Stop();
					pGeom =(IGeometry) m_pPointCollection;
				}
				else if (m_pFeedback is INewLineFeedback)
				{				 
					INewLineFeedback pLineFeed =(INewLineFeedback) m_pFeedback;

					pLineFeed.AddPoint(m_pPoint);
					IPolyline pPolyLine = pLineFeed.Stop();
				
					pPointCollection =(IPointCollection) pPolyLine;
					if (pPointCollection.PointCount < 2)
						MessageBox.Show("至少輸入兩個(gè)節(jié)點(diǎn)");				
					else
						pGeom =(IGeometry) pPointCollection;
				}
				else if (m_pFeedback is INewPolygonFeedback)
				{
					INewPolygonFeedback pPolyFeed =(INewPolygonFeedback) m_pFeedback;
					pPolyFeed.AddPoint(m_pPoint);
				
					IPolygon pPolygon ;
					pPolygon = pPolyFeed.Stop();
					if (pPolygon !=null)
					{
						pPointCollection =(IPointCollection) pPolygon;
						if (pPointCollection.PointCount < 3)
							MessageBox.Show("至少輸入三個(gè)節(jié)點(diǎn)");
						else
							pGeom =(IGeometry) pPointCollection;
					}
				}
				
				CreateFeature(pGeom);
				m_pFeedback = null;
				m_bInUse = false;
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString());
			}
		}			

		/// <summary>
		/// 查詢當(dāng)前圖層中鼠標(biāo)位置處的地圖對(duì)象
		/// 建議在Map.MouseDown事件中調(diào)用本方法
		/// </summary>
		/// <param name="x">鼠標(biāo)X坐標(biāo),屏幕坐標(biāo)</param>
		/// <param name="y">鼠標(biāo)Y坐標(biāo),屏幕坐標(biāo)</param>
		public void SelectMouseDown(int x, int y)
		{

			ISpatialFilter pSpatialFilter;
			IQueryFilter pFilter ;
			  
			try
			{
				if (m_pCurrentLayer == null) return ;
				if (!(m_pCurrentLayer is IGeoFeatureLayer)) return ;
  
				IFeatureLayer pFeatureLayer =(IFeatureLayer) m_pCurrentLayer;
				IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
				if (pFeatureClass == null) return;

				IActiveView pActiveView =(IActiveView) m_pMap;
				IPoint pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y);
				IGeometry pGeometry = pPoint;
  
				// 設(shè)置查詢緩沖區(qū)
				double length = ConvertPixelsToMapUnits(pActiveView, 4.0);
				ITopologicalOperator pTopo =(ITopologicalOperator) pGeometry;
				IGeometry pBuffer = pTopo.Buffer(length);
				pGeometry = pBuffer.Envelope;
  
				//設(shè)置過濾器對(duì)象
				pSpatialFilter = new SpatialFilterClass();
				pSpatialFilter.Geometry = pGeometry;
			
				switch (pFeatureClass.ShapeType)
				{
					case esriGeometryType.esriGeometryPoint:
						pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains;
						break;
					case esriGeometryType.esriGeometryPolyline:
						pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelCrosses;
						break;
					case esriGeometryType.esriGeometryPolygon:
						pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
						break;
				}
				pSpatialFilter.GeometryField = pFeatureClass.ShapeFieldName;
				pFilter = pSpatialFilter;
 
				// 查詢
				IFeatureCursor pCursor = pFeatureLayer.Search(pFilter, false);

				// 在地圖上高亮顯示查詢結(jié)果
				IFeature pFeature = pCursor.NextFeature();
				while (pFeature != null)
				{
					m_pMap.SelectFeature(m_pCurrentLayer, pFeature);
					pFeature = pCursor.NextFeature();
				}				
				pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection ,null,null);
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message.ToString());
			}
		}
	
		/// <summary>
		/// 編輯當(dāng)前圖層中鼠標(biāo)擊中的地圖對(duì)象(開始編輯),
		/// 如果為點(diǎn)對(duì)象,可進(jìn)行位置移動(dòng),如果為線對(duì)象或面對(duì)象,可進(jìn)行節(jié)點(diǎn)編輯
		/// 建議在Map.MouseDown事件中調(diào)用本方法
		/// </summary>
		/// <param name="x">鼠標(biāo)X坐標(biāo),屏幕坐標(biāo)</param>
		/// <param name="y">鼠標(biāo)Y坐標(biāo),屏幕坐標(biāo)</param>
		/// <returns></returns>
		public bool EditFeatureMouseDown(int x, int y)
		{
			IGeometryCollection pGeomColn ;
			IPointCollection pPointColn;
			IObjectClass pObjectClass ;
			IFeature pFeature;
			IGeometry pGeom ;
			
			IPath pPath ;
			IPoint pHitPoint =null ;
			IPoint pPoint =null;
			Double hitDist =0.0;
			double tol;
			int vertexIndex =0;
			int numVertices;
			int partIndex =0;
			bool vertex = false;

			try
			{
				
				m_pMap.ClearSelection();

				// 取得鼠標(biāo)擊中的第一個(gè)對(duì)象
				SelectMouseDown(x,y);
				IEnumFeature pSelected =(IEnumFeature) m_pMap.FeatureSelection;
				pFeature = pSelected.Next();
				if (pFeature ==null ) return false;
  
				IActiveView pActiveView =(IActiveView) m_pMap;
				pPoint = pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y);
  
				// 節(jié)點(diǎn)空間查詢?nèi)莶?				tol = ConvertPixelsToMapUnits(pActiveView, 4.0);
  
				pGeom = pFeature.Shape;
				pObjectClass = pFeature.Class;
				m_pEditFeature = pFeature;
				object objNull = Missing.Value ;
				object objBefore, objAfter;

				switch (pGeom.GeometryType)
				{
					case esriGeometryType.esriGeometryPoint:
						m_pFeedback = new MovePointFeedbackClass();
						m_pFeedback.Display = pActiveView.ScreenDisplay;
						IMovePointFeedback pPointMove =(IMovePointFeedback) m_pFeedback;
						pPointMove.Start((IPoint)pGeom, pPoint);  
						break;
					case esriGeometryType.esriGeometryPolyline:
						if (TestGeometryHit(tol, pPoint, pFeature, pHitPoint, hitDist,out partIndex,out vertexIndex,out vertex))
						{
							if (!vertex)
							{								
								pGeomColn =(IGeometryCollection) pGeom;
								pPath =(IPath) pGeomColn.get_Geometry(partIndex);
								pPointColn =(IPointCollection) pPath;
								numVertices = pPointColn.PointCount;							
								
								if (vertexIndex == 0)
								{
									objBefore = (object) (vertexIndex+1); 
									pPointColn.AddPoint(pPoint,ref objBefore,ref objNull);
								}
								else
								{
									objAfter = (object) vertexIndex; 
									pPointColn.AddPoint( pPoint,ref objNull , ref objAfter);
								}

								TestGeometryHit(tol, pPoint, pFeature, pHitPoint, hitDist,out partIndex,out vertexIndex,out vertex);
							}
							m_pFeedback = new LineMovePointFeedbackClass();
							m_pFeedback.Display = pActiveView.ScreenDisplay;
							ILineMovePointFeedback pLineMove =(ILineMovePointFeedback) m_pFeedback;
							pLineMove.Start((IPolyline)pGeom, vertexIndex, pPoint);
							
//							m_pSelectionTracker = new LineTrackerClass();
//							m_pSelectionTracker.Display = pActiveView.ScreenDisplay ;
//							m_pSelectionTracker.Geometry = pGeom;
//							m_pSelectionTracker.ShowHandles = true;
//							m_pSelectionTracker.QueryResizeFeedback(ref m_pFeedback); 
//							m_pSelectionTracker.OnMouseDown(1,0,x,y); 							
						}
						else
						{
							return false;
						}
						break;
					case esriGeometryType.esriGeometryPolygon:
						if (TestGeometryHit(tol, pPoint, pFeature, pHitPoint, hitDist,out partIndex,out vertexIndex,out vertex))
						{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一级黄| 亚洲女同一区二区| 久久久高清一区二区三区| 国产亚洲美州欧州综合国| 久久精子c满五个校花| 久久久亚洲欧洲日产国码αv| 日韩一区二区三区电影| 精品欧美黑人一区二区三区| 国产亚洲午夜高清国产拍精品 | 久久久久久久电影| 日本一二三不卡| 亚洲电影视频在线| 岛国一区二区在线观看| 在线视频你懂得一区二区三区| 日韩一级片网址| 国产精品美女久久久久久| 日韩黄色片在线观看| 丁香激情综合五月| 欧美精品tushy高清| 国产精品久久看| 免费成人在线视频观看| 91福利社在线观看| 国产日产欧美一区二区三区 | 欧美日韩综合一区| 中文字幕不卡的av| 天堂影院一区二区| 一本到三区不卡视频| 久久久久久久久久久久电影| 亚洲成人自拍网| 99精品久久只有精品| 国产亚洲欧美色| 美女视频黄 久久| 欧美丝袜丝交足nylons图片| 国产亚洲综合在线| 精品午夜一区二区三区在线观看| 99精品久久只有精品| 国产精品福利一区| 成人网页在线观看| 国产亚洲制服色| 国产在线精品一区二区不卡了| 欧美日韩国产在线播放网站| 一区二区免费在线| 色综合天天综合网国产成人综合天 | 日韩av在线免费观看不卡| 日本福利一区二区| 亚洲欧美一区二区三区极速播放 | 亚洲图片欧美一区| 欧美三区免费完整视频在线观看| 有码一区二区三区| 在线一区二区三区| 亚洲国产一区二区三区青草影视| 欧美在线影院一区二区| 亚洲尤物视频在线| 日韩亚洲欧美中文三级| 久久精品国产免费看久久精品| 欧美变态口味重另类| 国产在线麻豆精品观看| 国产日产精品1区| 色综合天天性综合| 亚欧色一区w666天堂| 精品女同一区二区| 成人高清视频在线观看| 亚洲图片欧美综合| www国产精品av| 91国偷自产一区二区开放时间 | 国产91色综合久久免费分享| 亚洲天堂精品视频| 欧美一区二区日韩| av不卡在线观看| 日韩电影一二三区| 中文字幕亚洲精品在线观看| 欧美色综合网站| 国产馆精品极品| 偷拍日韩校园综合在线| 中文字幕色av一区二区三区| 欧美精品高清视频| 91原创在线视频| 九九久久精品视频| 亚洲 欧美综合在线网络| 国产精品成人午夜| 久久亚洲精精品中文字幕早川悠里 | 欧美一二三区精品| 欧美日韩电影在线| 91福利国产成人精品照片| 国产精品系列在线播放| 麻豆freexxxx性91精品| 亚洲国产色一区| 亚洲丶国产丶欧美一区二区三区| 国产精品初高中害羞小美女文| 久久综合丝袜日本网| 欧美午夜精品电影| 一本久久a久久精品亚洲| 国产成人综合网站| 久久国产剧场电影| 麻豆成人在线观看| 久久精品二区亚洲w码| 日韩精品成人一区二区三区 | 日韩精品一区二区三区中文精品| 在线精品视频免费观看| 色综合久久综合中文综合网| 99国产精品国产精品久久| 国产91精品在线观看| 国产福利91精品一区二区三区| 久久99在线观看| 国产成人亚洲综合a∨猫咪| 国内精品视频一区二区三区八戒| 久久成人久久鬼色| 国产成人免费视频精品含羞草妖精| 精品在线亚洲视频| 成人午夜激情片| 日本韩国欧美国产| 日韩免费高清av| 亚洲国产精品二十页| 日韩毛片在线免费观看| 亚洲大型综合色站| 乱一区二区av| 99re成人在线| 7777精品伊人久久久大香线蕉经典版下载 | 成人午夜视频福利| 欧美在线免费观看视频| 欧美草草影院在线视频| 国产亚洲一本大道中文在线| 亚洲欧美经典视频| 青青国产91久久久久久| www.66久久| 日韩限制级电影在线观看| 欧美韩日一区二区三区四区| 亚洲成人综合视频| 国产福利91精品| 欧美浪妇xxxx高跟鞋交| 久久久噜噜噜久久中文字幕色伊伊| 亚洲蜜臀av乱码久久精品蜜桃| 奇米色一区二区三区四区| 99久久精品免费观看| 欧美一区二区三区精品| 洋洋av久久久久久久一区| 国产一区二区剧情av在线| 在线免费不卡视频| 国产精品国产三级国产aⅴ无密码| 三级欧美在线一区| 91国模大尺度私拍在线视频| 国产亚洲美州欧州综合国| 美女一区二区三区在线观看| 在线观看欧美黄色| 一区二区三区欧美亚洲| 懂色一区二区三区免费观看 | 亚洲女同ⅹxx女同tv| a在线欧美一区| 国产精品女上位| 国产成人高清视频| 精品国产第一区二区三区观看体验| 亚洲午夜久久久久久久久久久| 91欧美一区二区| 亚洲精品久久久久久国产精华液| 不卡av电影在线播放| 亚洲视频电影在线| 在线观看亚洲精品| 亚洲第一福利视频在线| 欧美肥胖老妇做爰| 久久99深爱久久99精品| 精品第一国产综合精品aⅴ| 国产自产高清不卡| 国产欧美精品一区二区色综合 | 国产亚洲短视频| 日韩一级在线观看| 精品亚洲欧美一区| 中文字幕av一区二区三区免费看 | 久久99最新地址| 中文字幕精品一区二区精品绿巨人 | 成人激情校园春色| 1000部国产精品成人观看| 欧美性一区二区| 久久精品国产一区二区三区免费看| 精品国产免费一区二区三区四区| 国产大陆亚洲精品国产| 亚洲图片你懂的| 日韩精品一区二区在线观看| 国产不卡视频在线播放| 亚洲日穴在线视频| 欧美成人一区二区三区片免费| 粉嫩久久99精品久久久久久夜| 亚洲国产人成综合网站| 久久婷婷国产综合国色天香 | 91丨国产丨九色丨pron| 日本欧美一区二区三区乱码| 中文子幕无线码一区tr| 日韩一级二级三级| 91精品办公室少妇高潮对白| 久久草av在线| 婷婷一区二区三区| 一区二区三区91| 国产精品乱人伦| 精品国产伦一区二区三区观看体验| 欧美一a一片一级一片| aaa欧美色吧激情视频| 国产精品一区免费在线观看| 免费观看一级特黄欧美大片| 亚洲午夜一区二区三区| 亚洲乱码国产乱码精品精98午夜| 国产午夜精品美女毛片视频|