示例#1
0
        /// <summary>
        /// Общие действия и при создании нового расчета и при загрузке существующего
        /// Обязательно запускать после создания расчета
        /// </summary>
        public void Initialize(Document doc)
        {
            Doc = doc;

            // Дефолтные настройки
            if (Options == null)
            {
                Options = InsOptions.Default();
            }
            // Сервис расчета
            DefineCalcService();

            // Загрузка карты
            if (Map == null)
            {
                Map = new Map(this);
                Map.BuildingAdded    += Map_BuildingAdded;
                Map.BuildingErased   += Map_BuildingErased;
                Map.BuildingModified += Map_BuildingModified;
                Map.InsPointAdded    += Map_InsPointAdded;
            }
            Map.Update();

            // Создание расчета елочек
            if (Tree == null)
            {
                Tree = new TreeModel();
            }
            Tree.Initialize(this);

            // Расчет фронтов
            if (Front == null)
            {
                Front = new FrontModel();
            }
            Front.Initialize(this);
            LoadPoints();

            // Расчет площадок
            if (Place == null)
            {
                Place = new PlaceModel();
            }
            Place.Initialize(this);

            doc.Database.BeginSave += Database_BeginSave;
        }