public void Dispose() { VisualTrees?.Dispose(); if (Points != null) { foreach (var item in Points) { item.Dispose(); } } Points = null; }
private void Points_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { for (int i = 0; i < Points.Count; i++) { var p = Points[i]; var num = i + 1; if (p.Number != num) { p.Number = num; } } VisualTrees.VisualUpdate(); }
/// <summary> /// Очистка - отключение расчета /// </summary> public void ClearVisuals() { VisualTrees?.VisualsDelete(); if (Points != null && Points.Count > 0) { //using (var t = Model.Doc.TransactionManager.StartTransaction()) //{ foreach (var item in Points) { item?.ClearVisual(); } //t.Commit(); //} } }
/// <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 Initialize(InsModel insModel) { this.Model = insModel; // Визуализация елочек if (VisualTrees != null) { // Удаление старой визуализации VisualTrees.VisualsDelete(); VisualTrees.TreeModel = this; } else { VisualTrees = new VisualTree(this); if (isVisualTreeOnOffForLoad) { VisualTrees.VisualIsOn = isVisualTreeOnOffForLoad; } } if (TreeOptions == null) { TreeOptions = TreeOptions.Default(); } if (Points == null) { Points = new ObservableCollection <InsPoint>(); } //if (Points != null) //{ // // Очистка точек, с очисткой визуалз // DeletePointsVisualIllums(); // Points.Clear(); //} //else //{ // Points = new ObservableCollection<InsPoint>(); //} }