public CalcServiceCentral(InsOptions options) { //Options = options; Region = options.Region; CalcValues = new CalcValuesCentral(options); CalcTrees = new CalcTreesCentral(this); CalcFront = new CalcFrontCentral(this); CalcPlace = new CalcPlaceCentral(this); }
public CalcValuesCentral(InsOptions options) { Fi = options.Region.Latitude.ToRadians(); FiTan = Math.Tan(Fi); FiCos = Math.Cos(Fi); double cShadowNormal; var yShadowNormal = YShadowLineByHeight(1, out cShadowNormal); ratioYtoC = yShadowNormal / cShadowNormal; SunCalcAngleStart = options.SunCalcAngleStart.ToRadians(); SunCalcAngleStartOnPlane = AngleSunOnPlane(SunCalcAngleStart); SunCalcAngleEnd = options.SunCalcAngleEnd.ToRadians(); SunCalcAngleEndOnPlane = AngleSunOnPlane(SunCalcAngleEnd); }
private void FillProperties(InsOptions opt) { SelectedRegionName = InsOptions.Region.RegionName; SelectedRegion = opt.Region; // Выбор текущего проекта, если он есть if (opt.Project != null && Projects != null && Projects.Any()) { var findProject = Projects.Find(p => p.Id == opt.Project.Id); if (findProject != null) { SelectedProject = findProject; } } }
public static ICalcService Create(InsOptions options) { ICalcService insService = null; if (options.Region.RegionPart == RegionEnum.Central) { insService = new CalcServiceCentral(options); } else { // TODO: Реализовать северный и южный регион throw new NotImplementedException("Расчет выбранного региона пока не реализован."); } return(insService); }
public InsOptionsViewModel(InsOptions options) { InsOptions = options.Clone(); RegionNames = new ObservableCollection <string>(dictRegions.Keys); // Загрузка проектов из базы Projects = DbService.GetProjects(); // Установка свойств настроек FillProperties(InsOptions); OK = new RelayCommand(OnOkExecute); Reset = new RelayCommand(OnResetExecute); //UserSettings = InsService.UserSettings.Copy(); EnableCheckDublicates = InsOptions.EnableCheckDublicates; }
public bool IsIdenticalOptions(InsOptions options) { var res = Region.Latitude == options.Region.Latitude; return(res); }
private void OnResetExecute() { var defaultOpt = InsOptions.Default(); FillProperties(InsOptions); }
public static ICalcService GetCalcService(InsOptions options) { var insCalc = CalcServiceFactory.Create(options); return(insCalc); }