/// <summary> /// Обновление визуализации елочек /// </summary> public void UpdateVisualTree(InsPoint insPoint = null) { if (VisualTrees != null) { VisualTrees.VisualIsOn = IsVisualTreeOn; } }
/// <summary> /// Выбор новой точки /// </summary> public InsPoint SelectNewPoint(InsModel model) { doc = model.Doc; ed = doc.Editor; this.model = model; map = model.Map; // Запрос точки MapBuilding building; var pt = PromptSelectPointOnScreen(out building); var p = new InsPoint(model, pt); if (building == null) { p.Height = 0; } else { p.Building = building; } // Окно настроек расчетной точки (парметры окна, здания, высота точки) var vm = new InsPointViewModel(p); if (InsService.ShowDialog(vm) == true) { return(p); } else { return(null); } }
/// <summary> /// Расчет и добавление точки /// </summary> public void AddPoint(InsPoint p) { // Расчет и добавление точки if (p != null) { // определение здания, если еще не определено if (p.Building == null) { p.DefineBuilding(false); } p.CreatePoint(); Points.Add(p); // Обновление - Расчет и визуализация точки p.Update(); VisualTrees.VisualUpdate(); } }
/// <summary> /// Показать точку на чертеже /// </summary> public void ShowPoint(InsPoint selectedPoint) { if (selectedPoint == null) { return; } var doc = Model.Doc; using (doc.LockDocument()) { Editor ed = doc.Editor; var point = selectedPoint.Point; double delta = 5; Extents3d extPoint = new Extents3d(new Point3d(point.X - delta, point.Y - delta, 0), new Point3d(point.X + delta, point.Y + delta, 0)); ed.Zoom(extPoint); } }
public void AddPoint(DicED dicInsPt, ObjectId idPt) { if (dicInsPt == null || idPt.IsNull) { return; } using (var dbPt = idPt.Open(OpenMode.ForRead) as DBPoint) { if (dbPt == null) { return; } InsPoint insPoint = null; insPoint = new InsPoint(dbPt, Model); insPoint.SetExtDic(dicInsPt, Model.Doc); // Добавление точки в расчет елочек AddPoint(insPoint); } }
/// <summary> /// Удаление точки /// </summary> public void DeletePoint(InsPoint insPoint) { Points.Remove(insPoint); //VisualTrees.Update(); // Обновляется в Points_CollectionChanged }