/// <summary>
        /// Initializes a new instance of the <see cref="ShadowCalculation" /> class.
        /// </summary>
        /// <param name="solarDistribution">solarDistribution.</param>
        /// <param name="calculationMethod">Text noting whether CPU-based polygon clipping method orGPU-based pixel counting method should be used. For low numbers of shadingsurfaces (less than ~200), PolygonClipping requires less runtime thanPixelCounting. However, PixelCounting runtime scales significantlybetter at higher numbers of shading surfaces. PixelCounting also hasno limitations related to zone concavity when used with any“FullInterior” solar distribution options..</param>
        /// <param name="calculationUpdateMethod">Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation..</param>
        /// <param name="calculationFrequency">Integer for the number of days in each period for which a unique shadow calculation will be performed. This field is only used if the Periodic calculation_method is used. (default to 30).</param>
        /// <param name="maximumFigures">Number of allowable figures in shadow overlap calculations. (default to 15000).</param>
        public ShadowCalculation
        (
            // Required parameters
            SolarDistribution solarDistribution = SolarDistribution.FullExteriorWithReflections, CalculationMethod calculationMethod = CalculationMethod.PolygonClipping, CalculationUpdateMethod calculationUpdateMethod = CalculationUpdateMethod.Periodic, int calculationFrequency = 30, int maximumFigures = 15000 // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                                      // BaseClass
        {
            this.SolarDistribution       = solarDistribution;
            this.CalculationMethod       = calculationMethod;
            this.CalculationUpdateMethod = calculationUpdateMethod;
            this.CalculationFrequency    = calculationFrequency;
            this.MaximumFigures          = maximumFigures;

            // Set non-required readonly properties with defaultValue
            this.Type = "ShadowCalculation";
        }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ShadowCalculation" /> class.
        /// </summary>
        /// <param name="solarDistribution">solarDistribution.</param>
        /// <param name="calculationMethod">Text noting whether CPU-based polygon clipping method orGPU-based pixel counting method should be used. For low numbers of shadingsurfaces (less than ~200), PolygonClipping requires less runtime thanPixelCounting. However, PixelCounting runtime scales significantlybetter at higher numbers of shading surfaces. PixelCounting also hasno limitations related to zone concavity when used with any“FullInterior” solar distribution options..</param>
        /// <param name="calculationUpdateMethod">Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation..</param>
        /// <param name="calculationFrequency">Integer for the number of days in each period for which a unique shadow calculation will be performed. This field is only used if the Periodic calculation_method is used. (default to 30).</param>
        /// <param name="maximumFigures">Number of allowable figures in shadow overlap calculations. (default to 15000).</param>
        public ShadowCalculation
        (
            // Required parameters
            SolarDistribution solarDistribution = SolarDistribution.FullExteriorWithReflections, CalculationMethod calculationMethod = CalculationMethod.PolygonClipping, CalculationUpdateMethod calculationUpdateMethod = CalculationUpdateMethod.Periodic, int calculationFrequency = 30, int maximumFigures = 15000 // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                                      // BaseClass
        {
            this.SolarDistribution       = solarDistribution;
            this.CalculationMethod       = calculationMethod;
            this.CalculationUpdateMethod = calculationUpdateMethod;
            this.CalculationFrequency    = calculationFrequency;
            this.MaximumFigures          = maximumFigures;

            // Set non-required readonly properties with defaultValue
            this.Type = "ShadowCalculation";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(ShadowCalculation))
            {
                this.IsValid(throwException: true);
            }
        }