public void AddObject(RedlineGeometryType type, RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { switch (type) { case RedlineGeometryType.Point: AddPoint(retrieveTextMethod, onRedlineAdded); break; case RedlineGeometryType.Circle: AddCircle(retrieveTextMethod, onRedlineAdded); break; case RedlineGeometryType.Line: AddLine(retrieveTextMethod, onRedlineAdded); break; case RedlineGeometryType.LineString: AddLineString(retrieveTextMethod, onRedlineAdded); break; case RedlineGeometryType.Polygon: AddPolygon(retrieveTextMethod, onRedlineAdded); break; case RedlineGeometryType.Rectangle: AddRectangle(retrieveTextMethod, onRedlineAdded); break; } }
private void AddRectangle(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeRectangle((x1, y1, x2, y2) => { string text = string.Empty; if (retrieveTextMethod != null) { text = retrieveTextMethod(); } MgGeometry geom = _wktRW.Read(Util.MakeWktPolygon(x1, y1, x2, y2)); InsertRedlineGeometry(text, geom, onRedlineAdded); }); }
private void AddCircle(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeCircle((x, y, r) => { string text = string.Empty; if (retrieveTextMethod != null) { text = retrieveTextMethod(); } MgGeometry geom = _wktRW.Read(Util.MakeWktCircle(x, y, r, true)); InsertRedlineGeometry(text, geom, onRedlineAdded); }); }
private void AddPoint(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizePoint((x, y) => { string text = string.Empty; if (retrieveTextMethod != null) { text = retrieveTextMethod(); } MgCoordinate coord = _geomFact.CreateCoordinateXY(x, y); MgGeometry point = _geomFact.CreatePoint(coord); InsertRedlineGeometry(text, point, onRedlineAdded); }); }
private void AddLine(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeLine((x1, y1, x2, y2) => { string text = string.Empty; if (retrieveTextMethod != null) { text = retrieveTextMethod(); } MgCoordinateCollection coords = new MgCoordinateCollection(); coords.Add(_geomFact.CreateCoordinateXY(x1, y1)); coords.Add(_geomFact.CreateCoordinateXY(x2, y2)); MgGeometry line = _geomFact.CreateLineString(coords); InsertRedlineGeometry(text, line, onRedlineAdded); }); }
private void AddLineString(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeLineString((coordinates) => { string text = string.Empty; if (retrieveTextMethod != null) { text = retrieveTextMethod(); } MgCoordinateCollection coords = new MgCoordinateCollection(); for (int i = 0; i < coordinates.GetLength(0); i++) { coords.Add(_geomFact.CreateCoordinateXY(coordinates[i, 0], coordinates[i, 1])); } MgGeometry line = _geomFact.CreateLineString(coords); InsertRedlineGeometry(text, line, onRedlineAdded); }); }
private void AddCircle(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeCircle((x, y, r) => { string text = string.Empty; if (retrieveTextMethod != null) text = retrieveTextMethod(); MgGeometry geom = _wktRW.Read(Util.MakeWktCircle(x, y, r, true)); InsertRedlineGeometry(text, geom, onRedlineAdded); }); }
private void AddPoint(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizePoint((x, y) => { string text = string.Empty; if (retrieveTextMethod != null) text = retrieveTextMethod(); MgCoordinate coord = _geomFact.CreateCoordinateXY(x, y); MgGeometry point = _geomFact.CreatePoint(coord); InsertRedlineGeometry(text, point, onRedlineAdded); }); }
private void AddLine(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeLine((x1, y1, x2, y2) => { string text = string.Empty; if (retrieveTextMethod != null) text = retrieveTextMethod(); MgCoordinateCollection coords = new MgCoordinateCollection(); coords.Add(_geomFact.CreateCoordinateXY(x1, y1)); coords.Add(_geomFact.CreateCoordinateXY(x2, y2)); MgGeometry line = _geomFact.CreateLineString(coords); InsertRedlineGeometry(text, line, onRedlineAdded); }); }
private void AddLineString(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeLineString((coordinates) => { string text = string.Empty; if (retrieveTextMethod != null) text = retrieveTextMethod(); MgCoordinateCollection coords = new MgCoordinateCollection(); for (int i = 0; i < coordinates.GetLength(0); i++) { coords.Add(_geomFact.CreateCoordinateXY(coordinates[i, 0], coordinates[i, 1])); } MgGeometry line = _geomFact.CreateLineString(coords); InsertRedlineGeometry(text, line, onRedlineAdded); }); }
private void AddRectangle(RedlineTextFunction retrieveTextMethod, RedlineAction onRedlineAdded) { _viewer.DigitizeRectangle((x1, y1, x2, y2) => { string text = string.Empty; if (retrieveTextMethod != null) text = retrieveTextMethod(); MgGeometry geom = _wktRW.Read(Util.MakeWktPolygon(x1, y1, x2, y2)); InsertRedlineGeometry(text, geom, onRedlineAdded); }); }