/// <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="leftRoofSlope">Set <see cref="IMonopitchRoof.Slope"/> for <see cref="LeftRoof"/>.</param> /// <param name="rightRoofSlope">Set <see cref="IMonopitchRoof.Slope"/> for <see cref="RightRoof"/>.</param> /// <param name="leftRoofSnowFences">Set <see cref="IMonopitchRoof.SnowFences"/> for <see cref="LeftRoof"/>.</param> /// <param name="rightRoofSnowFences">Set <see cref="IMonopitchRoof.SnowFences"/> for <see cref="RightRoof"/>.</param> public MultiSpanRoof(IBuilding building, double leftRoofSlope, double rightRoofSlope, bool leftRoofSnowFences = false, bool rightRoofSnowFences = false) { Building = building; LeftRoof = new MonopitchRoof(Building, leftRoofSlope, leftRoofSnowFences); RightRoof = new MonopitchRoof(Building, rightRoofSlope, rightRoofSnowFences); 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="leftRoofSlope">Set <see cref="IMonopitchRoof.Slope"/> for <see cref="LeftRoof"/>.</param> /// <param name="rightRoofSlope">Set <see cref="IMonopitchRoof.Slope"/> for <see cref="RightRoof"/>.</param> /// <param name="leftRoofSnowFences">Set <see cref="IMonopitchRoof.SnowFences"/> for <see cref="LeftRoof"/>.</param> /// <param name="rightRoofSnowFences">Set <see cref="IMonopitchRoof.SnowFences"/> for <see cref="RightRoof"/>.</param> public PitchedRoof(IBuilding building, double leftRoofSlope, double rightRoofSlope, bool leftRoofSnowFences = false, bool rightRoofSnowFences = false) { LeftRoofCasesSnowLoad = new Dictionary <int, double>(); RightRoofCasesSnowLoad = new Dictionary <int, double>(); Building = building; LeftRoof = new MonopitchRoof(Building, leftRoofSlope, leftRoofSnowFences); RightRoof = new MonopitchRoof(Building, rightRoofSlope, rightRoofSnowFences); }
/// <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="slopeOfHigherRoof">Set <see cref="IMonopitchRoof.Slope"/> for <see cref="UpperRoof"/>.</param> /// <param name="snowFencesOnHigherRoof">Set <see cref="IMonopitchRoof.SnowFences"/> for <see cref="UpperRoof"/>.</param> public RoofAbuttingToTallerConstruction(IBuilding building, double widthOfUpperBuilding, double widthOfLowerBuilding, double heightDifference, double slopeOfHigherRoof, bool snowFencesOnHigherRoof = false) { Building = building; UpperRoof = new MonopitchRoof(Building, slopeOfHigherRoof, snowFencesOnHigherRoof); WidthOfUpperBuilding = widthOfUpperBuilding; WidthOfLowerBuilding = widthOfLowerBuilding; HeightDifference = heightDifference; SetReferences(); }