public static PrePoint CreatePrePoint(Drawing drawing, Point coordinates) { PrePoint result = new PrePoint() { Drawing = drawing }; result.MoveTo(coordinates); return(result); }
protected override void UnExecuteCore() { // 09-28-2010 Scott // handle pre snap motion line if (Figure is PBLine) { PBLine line = Figure as PBLine; if (line.Dependencies != null && line.Dependencies.Count() == 2) { IFigure figureEnd = line.Dependencies.ElementAt(1); IFigure figureStart = line.Dependencies.ElementAt(0); if (figureEnd is PrePoint) { PrePoint pp = figureEnd as PrePoint; if (pp.Dependents.Count() == 2) { IFigure lineEnd = pp.Dependents.ElementAt(1); List <IFigure> dependencies = new List <IFigure>(); dependencies.Add(figureStart); dependencies.Add(lineEnd.Dependencies.ElementAt(1)); lineEnd.Dependencies = dependencies; if (figureStart.Dependents.Count() > 1) { figureStart.Dependents.RemoveAt(1); } figureStart.Dependents.Add(lineEnd); } } } } Drawing.Figures.Remove(Figure); }