public IPointCollection4 ToPointCollection(IGeometry geometry, out int nrPoints) { IPointCollection4 result = null; nrPoints = 0; if (geometry != null) { result = geometry as IPointCollection4; TypeOfLayer typeOfLayer = GetTypeOfLayer(geometry); if ((!geometry.IsEmpty) && (typeOfLayer == TypeOfLayer.Point) && (result == null) && IsPointMeasurement) { var pointc = geometry as IPoint; result = new MultipointClass(); result.AddPoint(pointc); } if (result != null) { nrPoints = result.PointCount; if ((nrPoints >= 2) && (typeOfLayer == TypeOfLayer.Polygon)) { IPoint point1 = result.Point[0]; IPoint point2 = result.Point[nrPoints - 1]; nrPoints = (point1.Compare(point2) == 0) ? (nrPoints - 1) : nrPoints; } } } return(result); }
private Measurement(int entityId, string entityType, FrmGlobespotter frmGlobespotter, bool drawPoint) { _entityId = entityId; _frmGlobespotter = frmGlobespotter; DrawPoint = drawPoint; switch (entityType) { case "pointMeasurement": _typeOfLayer = TypeOfLayer.Point; break; case "surfaceMeasurement": _typeOfLayer = TypeOfLayer.Polygon; break; case "lineMeasurement": _typeOfLayer = TypeOfLayer.Line; break; default: _typeOfLayer = TypeOfLayer.None; break; } }
public bool IsTypeOfLayer(TypeOfLayer typeOfLayer) { return(_typeOfLayer == typeOfLayer); }