public override void OnMouseMove(int Button, int Shift, int int_2, int int_3) { IActiveView focusMap = (IActiveView)_context.FocusMap; this.pPoint = focusMap.ScreenDisplay.DisplayTransformation.ToMapPoint(int_2, int_3); SketchToolAssist.SketchMouseMove(this.pPoint); //base.OnMouseMove(Button, Shift, int_2, int_3); }
public override void OnDblClick() { IActiveView focusMap = (IActiveView)_context.FocusMap; if (SketchToolAssist.CurrentTask == null) { SketchToolAssist.EndSketch(false, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); } else { SketchToolAssist.EndSketch(false, focusMap, null); } }
public override void OnDblClick() { IActiveView focusMap = (IActiveView)_context.FocusMap; if (SketchToolAssist.CurrentTask == null) { SketchToolAssist.EndSketch(false, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); } else { SketchToolAssist.EndSketch(false, focusMap, null); } if (SketchToolAssist.TempLine != null) { if (frmProperties == null) { frmProperties = new frmLinePointProperties(_context); } DialogResult result = frmProperties.ShowDialog(); if (result != DialogResult.OK) { return; } IPointCollection pntCol = SketchToolAssist.TempLine as IPointCollection; int createCount = 0; for (int i = 0; i < pntCol.PointCount; i++) { IPoint point = pntCol.Point[i]; if (i == 0 && !_context.Config.IsAddStartPoint) { continue; } if (i == pntCol.PointCount - 1 && !_context.Config.IsAddEndPoint) { continue; } if ((i > 0 && i < pntCol.PointCount - 1) && !_context.Config.IsAddVertexPoint) { continue; } bool isClear = createCount == 0 ? true : false; CreateFeatureTool.CreateFeature(point, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer, isClear); createCount++; } } }
public bool CheckTaskStatue(ITool itool_0) { string name = (itool_0 as ICommand).Name; bool flag = false; if (string.Compare(name, "Edit_TargetTool", true) == 0) { flag = true; } if (!flag) { Yutai.ArcGIS.Common.Editor.Editor.DrawNode = false; SketchToolAssist.ReSet(); } return(flag); }
public override void OnMouseDown(int int_0, int Shift, int int_2, int int_3) { if (int_0 == 1) { IActiveView focusMap = (IActiveView)_context.FocusMap; if (SketchToolAssist.CurrentTask == null) { SketchToolAssist.SketchMouseDown(focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); } else { SketchToolAssist.SketchMouseDown(focusMap, null); } } base.OnMouseDown(int_0, Shift, int_2, int_3); }
public override void OnMouseDown(int int_0, int Shift, int int_2, int int_3) { if (int_0 == 1) { IActiveView focusMap = (IActiveView)_context.FocusMap; if (SketchToolAssist.CurrentTask == null) { SketchToolAssist.IsDrawTempLine = DrawTempGeometry.Line; SketchToolAssist.SketchMouseDown(focusMap, ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); //SketchToolAssist.SketchMouseDown(focusMap, ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); } else { SketchToolAssist.SketchMouseDown(focusMap, null); } } //base.OnMouseDown(Button, Shift, int_2, int_3); }
public bool CheckTaskStatue(ITool pTool) { string name = (pTool as ICommand).Name; bool flag = false; if (string.Compare(name, "Editor_Sketch_Line", true) == 0) { flag = true; } if (!flag && string.Compare(name, "Editor_Sketch_ArcLine", true) == 0) { flag = true; } if (!flag && string.Compare(name, "Editor_Start_Sketch", true) == 0) { flag = true; } if (!flag) { SketchToolAssist.ReSet(); } return(flag); }
public override void OnDblClick() { IActiveView focusMap = (IActiveView)_context.FocusMap; if (SketchToolAssist.CurrentTask == null) { SketchToolAssist.EndSketch(false, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer); } else { SketchToolAssist.EndSketch(false, focusMap, null); } if (SketchToolAssist.TempLine != null) { if (frmProperties == null) { frmProperties = new frmAlongLineProperties(_context); } frmProperties.SetPolyline((IPolyline)SketchToolAssist.TempLine); DialogResult result = frmProperties.ShowDialog(); if (result != DialogResult.OK) { return; } IPolyline polyline = SketchToolAssist.TempLine as IPolyline; double dbp = 0; if (frmProperties.IsNOP) { dbp = polyline.Length / (frmProperties.NOP + 1); } else { dbp = frmProperties.Distance; } int createCount = 0; bool isClear = true; //create points at distance between points up to total length for (double d = dbp; d < polyline.Length; d += dbp) { IConstructPoint contructionPoint = new Point() as IConstructPoint; contructionPoint.ConstructAlong(polyline, esriSegmentExtension.esriNoExtension, d, false); isClear = createCount == 0 ? true : false; CreateFeatureTool.CreateFeature((IGeometry)contructionPoint, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer, isClear); createCount++; } if (frmProperties.IsEnds) { isClear = createCount == 0 ? true : false; CreateFeatureTool.CreateFeature(polyline.FromPoint, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer, isClear); CreateFeatureTool.CreateFeature(polyline.ToPoint, focusMap, Yutai.ArcGIS.Common.Editor.Editor.CurrentEditTemplate.FeatureLayer, false); } } }