/// <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; }
/// <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(); }
/// <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(); }
/// <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)); }
public MonopitchedRoofWindLoadsRotation90( IMonopitchRoof building, IWindLoadData windLoadData) : base(building, windLoadData) { }
public MonopitchedRoofWindLoads( IMonopitchRoof building, IWindLoadData windLoadData) : base(building, windLoadData) { Angle = building.Angle; }