public void UpdateVisual() { // отрисовка зданий (с дополнениями по фронту) UpdateBuildingsVisual(); // Отрисовка фронтов VisualFront?.VisualUpdate(); }
//public House (FrontGroup frontGroup) //{ // FrontGroup = frontGroup; // Doc = FrontGroup.Front.Model.Doc; // VisualFront = new VisualFront(Doc); //} public House(InsModel model, int index) { Model = model; Doc = model.Doc; Index = index; VisualFront = new VisualFront(Doc); }
public void ClearVisual() { if (Sections != null) { foreach (var item in Sections) { item.DisposeVisual(); } } VisualFront?.VisualsDelete(); }
private void OnIsVisualFrontChanged() { if (IsVisualFront) { VisualFront.VisualIsOn = true; } else { VisualFront.Dispose(); // Т.к. при включении обновляется расчет фронтов } }
/// <summary> /// Расчет фронтов дома /// </summary> public void Update(int?numberHouseInGroup = null) { if (Contour == null) { return; } if (numberHouseInGroup.HasValue) { this.numberHouseInGroup = numberHouseInGroup.Value; } DefineName(); // Визуализация зданий в доме UpdateBuildingsVisual(); // Очистка визуализации фронтов VisualFront.Dispose(); var calcService = FrontGroup.Front.Model.CalcService; try { // Отдельные линии инсоляции List <List <FrontCalcPoint> > contourSegmentsCalcPoints; var frontLines = calcService.CalcFront.CalcHouse(this, out contourSegmentsCalcPoints); ContourSegmentsCalcPoints = contourSegmentsCalcPoints; // Объединение линий фронтов для визуализациир //var frontLinesCopy = FrontLines.Select(s => s.Clone()).ToList(); var frontLinesMerged = FrontValue.Merge(ref frontLines); VisualFront.FrontLines = frontLinesMerged; IsVisualFront = FrontGroup.IsVisualFrontOn; } catch (UserBreakException) { throw; } catch (Exception ex) { AddError(ex.ToString()); } }
public void DisposeVisuals() { VisualFront?.Dispose(); FrontGroup = null; //DisposeFrontLines(); }