/// <summary>袖壁(無限長)を作成する</summary> /// <param name="windowWidth">窓幅[m]</param> /// <param name="windowHeight">窓高[m]</param> /// <param name="overhang">張り出し幅[m]</param> /// <param name="sideMargin">横側マージン[m]</param> /// <param name="incline">傾斜面</param> /// <returns>袖壁(無限長)</returns> public static SunShade MakeVerticalSunShade(double windowWidth, double windowHeight, double overhang, double sideMargin, ImmutableIncline incline) { SunShade ss = new SunShade(); ss.windowWidth = windowWidth; ss.windowHeight = windowHeight; ss.overhang = overhang; ss.ssShape = Shape.LongVerticalBoth; ss.leftMargin = sideMargin; ss.rightMargin = sideMargin; ss.incline.Copy(incline); return ss; }
/// <summary>袖壁を作成する</summary> /// <param name="windowWidth">窓幅[m]</param> /// <param name="windowHeight">窓高[m]</param> /// <param name="overhang">張り出し幅[m]</param> /// <param name="sideMargin">横側マージン[m]</param> /// <param name="isLeftSide">左側か否か(右の場合はfalse)</param> /// <param name="topMargin">上部マージン[m]</param> /// <param name="bottomMargin">下部マージン[m]</param> /// <param name="incline">傾斜面</param> /// <returns>袖壁</returns> public static SunShade MakeVerticalSunShade(double windowWidth, double windowHeight, double overhang, double sideMargin, bool isLeftSide, double topMargin, double bottomMargin, ImmutableIncline incline) { SunShade ss = new SunShade(); ss.windowWidth = windowWidth; ss.windowHeight = windowHeight; ss.overhang = overhang; if (isLeftSide) { ss.ssShape = Shape.VerticalLeft; ss.leftMargin = sideMargin; } else { ss.ssShape = Shape.VerticalRight; ss.rightMargin = sideMargin; } ss.topMargin = topMargin; ss.bottomMargin = bottomMargin; ss.incline.Copy(incline); return ss; }
/// <summary>ルーバーを作成する</summary> /// <param name="windowWidth">窓幅[m]</param> /// <param name="windowHeight">窓高[m]</param> /// <param name="overhang">張り出し幅[m]</param> /// <param name="leftMargin">左側マージン[m]</param> /// <param name="rightMargin">右側マージン[m]</param> /// <param name="topMargin">上部マージン[m]</param> /// <param name="bottomMargin">下部マージン[m]</param> /// <param name="incline">傾斜面</param> /// <returns>ルーバー</returns> public static SunShade MakeGridSunShade(double windowWidth, double windowHeight, double overhang, double leftMargin, double rightMargin, double topMargin, double bottomMargin, ImmutableIncline incline) { SunShade ss = new SunShade(); ss.ssShape = Shape.Grid; ss.windowWidth = windowWidth; ss.windowHeight = windowHeight; ss.overhang = overhang; ss.leftMargin = leftMargin; ss.rightMargin = rightMargin; ss.topMargin = topMargin; ss.bottomMargin = bottomMargin; ss.incline.Copy(incline); return ss; }
/// <summary>水平庇(無限大長)を作成する</summary> /// <param name="windowWidth">窓幅[m]</param> /// <param name="windowHeight">窓高[m]</param> /// <param name="overhang">張り出し幅[m]</param> /// <param name="topMargin">上部マージン[m]</param> /// <param name="incline">傾斜面</param> /// <returns>水平庇(無限大長)</returns> public static SunShade MakeHorizontalSunShade(double windowWidth, double windowHeight, double overhang, double topMargin, ImmutableIncline incline) { SunShade ss = new SunShade(); ss.ssShape = Shape.LongHorizontal; ss.windowWidth = windowWidth; ss.windowHeight = windowHeight; ss.overhang = overhang; ss.topMargin = topMargin; ss.incline.Copy(incline); return ss; }
static SunShade() { SunShade ss = new SunShade(); ss.ssShape = Shape.None; EmptySunShade = ss; }