/// <summary> /// 判断点是否选中多点 /// </summary> /// <param name="point"></param> /// <param name="multiPoint"></param> /// <returns></returns> public static bool IsPointOnMultiPoint(WEPoint point, WEMultiPoint multiPoint) { int sPointCount = multiPoint.PointCount; for (int i = 0; i < sPointCount; i++) { if (IsPointOnPoint(point, (WEPoint)multiPoint.GetPoint(i))) { return(true); } } return(false); }
/// <summary> /// 判断多点是否部分或完全位于矩形盒内 /// </summary> /// <param name="multiPoint"></param> /// <param name="box"></param> /// <returns></returns> public static bool IsMultiPointPartiallyWithinBox(WEMultiPoint multiPoint, WERectangle box) { WERectangle pointsBox = multiPoint.MBR; if (!IsTwoBoxesIntersect(pointsBox, box)) { return(false); } int sPointCount = multiPoint.PointCount; for (int i = 0; i < sPointCount; i++) { if (IsPointInBox((WEPoint)multiPoint.GetPoint(i), box)) //某一个点位于矩形盒内即可 { return(true); } } return(false); }
/// <summary> /// 复制多点 /// </summary> /// <returns></returns> public override WEGeometry Clone() { WEMultiPoint newWEMultiPoint = new WEMultiPoint(_Points.ToArray()); return(newWEMultiPoint); }
public WEEntityPoint() { _FeatureType = FeatureType.WEEntityPoint; _Geometries = new WEMultiPoint(); }