Esempio n. 1
0
        ///// <summary>
        ///// Начальный угол в плане (радиан). Начальное значение = 0 - восход.
        ///// Будут определены для этой расвчетной точки индивидуально
        ///// </summary>
        //public double AngleStartOnPlane { get; private set; }
        ///// <summary>
        ///// Конечный угол в плане (радиан). Начальное значение = 180 - заход
        ///// </summary>
        //public double AngleEndOnPlane { get; private set; }

        public CalcPointCentral(InsPoint insPt, CalcServiceCentral insCalcService)
        {
            this.map      = insPt.Model.Map;
            buildingOwner = insPt.Building;
            this.insPt    = insPt;
            ptCalc        = insPt.Point;
            ptCalc2d      = ptCalc.Convert2d();
            this.calc     = insCalcService;
            values        = insCalcService.CalcValues;

            //AngleStartOnPlane = values.SunCalcAngleStartOnPlane;
            //AngleEndOnPlane = values.SunCalcAngleEndOnPlane;
            StartAnglesIllum = new IllumAreaBase(insPt, ptCalc2d, values.SunCalcAngleStartOnPlane, values.SunCalcAngleEndOnPlane,
                                                 Point2d.Origin, Point2d.Origin);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public CalcTreesCentral(CalcServiceCentral centralInsService)
 {
     insService = centralInsService;
 }
Esempio n. 4
0
 public CalcPlaceCentral(CalcServiceCentral calcService)
 {
     this.calcService = calcService;
     calcTrees        = calcService.CalcTrees;
 }