//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 Map(InsModel insModel) { Model = insModel; IsVisualOn = true; // По-умолчаию визуализация включена Doc = insModel.Doc; db = Doc.Database; }
/// <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> /// Создание расчетной точки из найденной точки на чертеже (DBPoint) /// </summary> /// <param name="dbPt">Инс точка на чертеже</param> /// <param name="model">Модель</param> public InsPointBase(DBPoint dbPt, InsModel model) { this.Model = model; Point = dbPt.Position; DBPointId = dbPt.Id; SubscribeDbo(dbPt); }
public void Initialize(InsModel insModel) { Model = insModel; if (Options == null) { Options = PlaceOptions.Default(); } AddPlacesFromMap(); }
/// <summary> /// Инициализация расчета /// </summary> public void Initialize(InsModel insModel) { this.Model = insModel; // Настройки if (Options == null) { Options = FrontOptions.Default(); } }
/// <summary> /// Загрузка расчета из документа (если он был там сохранен) /// Без инициализации!!! /// </summary> /// <param name="doc">Документ</param> /// <returns>Расчет инсоляции или null</returns> public static InsModel LoadIns(Document doc) { InsModel model = null; // Загрузка словаря модели var dicModel = InsExtDataHelper.LoadFromNod(doc, "InsModel"); if (dicModel == null) { return(model); } // список значений самой модели var recModel = dicModel.GetRec("InsModelRec"); // Настройки var opt = new InsOptions(); opt.SetExtDic(dicModel.GetInner("InsOptions"), doc); // Расчет елочек var tree = new TreeModel(); tree.SetExtDic(dicModel.GetInner("TreeModel"), doc); // Расчет фронтов var front = new FrontModel(); front.SetExtDic(dicModel.GetInner("FrontModel"), doc); // Расчет площадок var place = new PlaceModel(); place.SetExtDic(dicModel.GetInner("PlaceModel"), doc); model = new InsModel(); model.Doc = doc; model.SetDataValues(recModel?.Values, doc); model.Tree = tree; model.Front = front; model.Place = place; bool needUpdate; // Тут не нужно обновлять расчет model.SetOptions(opt, out needUpdate); //model.Initialize(doc); return(model); }
/// <summary> /// Определение здания которому принадлежит эта точка /// </summary> public static MapBuilding DefineBuilding(ref Point3d point, InsModel model) { var pt = point; var building = model.Map.GetBuildingInPoint(pt); if (building != null) { // Проверка находится ли точка на контуре дома if (!CorrectCalcPoint(ref pt, building, model.Doc)) { building = null; } else { point = pt; } } return(building); }
/// <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>(); //} }
/// <summary> /// Создание расчетной точки из словарных записей объекта /// </summary> public InsPoint(DBPoint dbPt, InsModel model) : base(dbPt, model) { ReportPoint = new RelayCommand(OnReportPointExecute); }
public InsPoint(InsModel model, Point3d pt) : base(pt, model) { Window = WindowOptions.Default; Height = DefaultHeightWindowCenter; // Высота центра окна от пола ReportPoint = new RelayCommand(OnReportPointExecute); }
/// <summary> /// Создание объекта - пользователем /// Точка не создается на чертеже (нужно запустить CreatePoint) /// </summary> /// <param name="point"></param> /// <param name="doc"></param> public InsPointBase(Point3d point, InsModel model) { this.Model = model; Point = point; }