Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SnowOverhanging"/> class.
        /// </summary>
        /// <param name="building">Set instance of a class implementing <see cref="IBuilding"/> for <see cref="Building"/>.</param>
        /// <param name="snowLayerDepth">Set <see cref="SnowLayerDepth"/>.</param>
        /// <param name="roof">Is used to calculate <see cref="SnowLoadOnRoofValue"/>.</param>
        public SnowOverhanging(IBuilding building, double snowLayerDepth, IMonopitchRoof roof)
        {
            Building       = building;
            SnowLayerDepth = snowLayerDepth;

            roof.CalculateSnowLoad();
            SnowLoadOnRoofValue = roof.SnowLoadOnRoofValue;
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MultiSpanRoof"/> class.
        /// </summary>
        /// <param name="building">Set instance of a class implementing <see cref="IBuilding"/> for <see cref="Building"/>.</param>
        /// <param name="leftRoof">Set instance of a class implementing <see cref="IMonopitchRoof"/> for <see cref="LeftRoof"/>.</param>
        /// <param name="rightRoof">Set instance of a class implementing <see cref="IMonopitchRoof"/> for <see cref="RightRoof"/>.</param>
        public MultiSpanRoof(IBuilding building, IMonopitchRoof leftRoof, IMonopitchRoof rightRoof)
        {
            Building = building;

            LeftRoof  = leftRoof;
            RightRoof = rightRoof;

            SetReferences();
        }
Пример #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PitchedRoof"/> class.
        /// </summary>
        /// <param name="building">Set instance of a class implementing <see cref="IBuilding"/> for <see cref="Building"/>.</param>
        /// <param name="leftRoof">Set instance of a class implementing <see cref="IMonopitchRoof"/> for <see cref="LeftRoof"/>.</param>
        /// <param name="rightRoof">Set instance of a class implementing <see cref="IMonopitchRoof"/> for <see cref="RightRoof"/>.</param>
        public PitchedRoof(IBuilding building, IMonopitchRoof leftRoof, IMonopitchRoof rightRoof)
        {
            LeftRoofCasesSnowLoad  = new Dictionary <int, double>();
            RightRoofCasesSnowLoad = new Dictionary <int, double>();

            Building = building;

            LeftRoof  = leftRoof;
            RightRoof = rightRoof;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CylindricalRoof"/> class.
        /// </summary>
        /// <param name="building">Set instance of a class implementing <see cref="IBuilding"/> for <see cref="Building"/>.</param>
        /// <param name="widthOfUpperBuilding">Set <see cref="WidthOfUpperBuilding"/>.</param>
        /// <param name="widthOfLowerBuilding">Set <see cref="WidthOfLowerBuilding"/>.</param>
        /// <param name="heightDifference">Set <see cref="HeightDifference"/>.</param>
        /// <param name="upperRoof">Set <see cref="UpperRoof"/>.</param>
        public RoofAbuttingToTallerConstruction(IBuilding building, double widthOfUpperBuilding, double widthOfLowerBuilding,
                                                double heightDifference, IMonopitchRoof upperRoof)
        {
            Building = building;

            UpperRoof = upperRoof;

            WidthOfUpperBuilding = widthOfUpperBuilding;
            WidthOfLowerBuilding = widthOfLowerBuilding;
            HeightDifference     = heightDifference;

            SetReferences();
        }
Пример #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CylindricalRoof"/> class.
        /// </summary>
        /// <param name="building">Set instance of a class implementing <see cref="IBuilding"/> for <see cref="Building"/>.</param>
        /// <param name="widthOfUpperBuilding">Set <see cref="WidthOfUpperBuilding"/>.</param>
        /// <param name="widthOfLowerBuilding">Set <see cref="WidthOfLowerBuilding"/>.</param>
        /// <param name="heightDifference">Set <see cref="HeightDifference"/>.</param>
        /// <param name="upperRoof">Set <see cref="UpperRoof"/>.</param>
        public RoofAbuttingToTallerConstruction(IBuilding building, double widthOfUpperBuilding, double widthOfLowerBuilding,
                                                double heightDifference, IMonopitchRoof upperRoof)
        {
            Building = building;

            UpperRoof = upperRoof;

            WidthOfUpperBuilding = widthOfUpperBuilding > 0 ? widthOfUpperBuilding
                : throw new ArgumentOutOfRangeException(nameof(widthOfUpperBuilding));
            WidthOfLowerBuilding = widthOfLowerBuilding > 0 ? widthOfLowerBuilding
                : throw new ArgumentOutOfRangeException(nameof(widthOfLowerBuilding));
            HeightDifference = heightDifference > 0 ? heightDifference
                : throw new ArgumentOutOfRangeException(nameof(heightDifference));

            SetReferences();
        }
 public IWindLoadCase Create(
     IMonopitchRoof building, IWindLoadData windLoadData)
 {
     if (building.CurrentRotation == MonopitchRoof.Rotation.Degrees_0)
     {
         return(new MonopitchedRoofWindLoadsRotation0(building, windLoadData));
     }
     if (building.CurrentRotation == MonopitchRoof.Rotation.Degrees_90)
     {
         return(new MonopitchedRoofWindLoadsRotation90(building, windLoadData));
     }
     if (building.CurrentRotation == MonopitchRoof.Rotation.Degrees_180)
     {
         return(new MonopitchedRoofWindLoadsRotation180(building, windLoadData));
     }
     throw new ArgumentException(nameof(building.CurrentRotation));
 }
Пример #7
0
 public MonopitchedRoofWindLoadsRotation90(
     IMonopitchRoof building, IWindLoadData windLoadData)
     : base(building, windLoadData)
 {
 }
 public MonopitchedRoofWindLoads(
     IMonopitchRoof building, IWindLoadData windLoadData)
     : base(building, windLoadData)
 {
     Angle = building.Angle;
 }