public IShapeMember(ISteelSection Section, bool IsRolledShape, FlexuralCompressionFiberPosition compressionFiberPosition) { double b; double tf; if (Section.Shape is ISectionI) { ISectionI sectI = Section.Shape as ISectionI; switch (compressionFiberPosition) { case FlexuralCompressionFiberPosition.Top: b = sectI.b_fTop; tf = sectI.t_fTop; break; case FlexuralCompressionFiberPosition.Bottom: b = sectI.b_fBot; tf = sectI.t_fBot; break; default: throw new CompressionFiberPositionException(); } //flange compactness if (IsRolledShape == true) { this.FlangeCompactness = new FlangeOfRolledIShape(Section.Material, b / 2.0, tf); } else { this.FlangeCompactness = new FlangeOfBuiltUpI(Section.Material, sectI, compressionFiberPosition); } //web compactness bool isDoublySymmetric = ShapeISymmetry.IsDoublySymmetric(Section.Shape); if (isDoublySymmetric == true) { WebCompactness = new WebOfDoublySymI(Section.Material, sectI); } else { WebCompactness = new WebOfSinglySymI(Section.Material, sectI, compressionFiberPosition); } } }
public IShapeMember(ISteelSection Section, bool IsRolledShape, FlexuralCompressionFiberPosition compressionFiberPosition) { double b; double tf; if (Section.Shape is ISectionI) { ISectionI sectI = Section.Shape as ISectionI; switch (compressionFiberPosition) { case FlexuralCompressionFiberPosition.Top: b = sectI.b_fTop; tf = sectI.t_fTop; break; case FlexuralCompressionFiberPosition.Bottom: b = sectI.b_fBot; tf = sectI.t_fBot; break; default: throw new CompressionFiberPositionException(); } //flange compactness if (IsRolledShape == true) { this.FlangeCompactness = new FlangeOfRolledIShape(Section.Material, b / 2.0, tf); } else { this.FlangeCompactness = new FlangeOfBuiltUpI(Section.Material, sectI, compressionFiberPosition); } //web compactness bool isDoublySymmetric = ShapeISymmetry.IsDoublySymmetric(Section.Shape); if (isDoublySymmetric == true) { WebCompactness = new WebOfDoublySymI(Section.Material, sectI); } else { WebCompactness = new WebOfSinglySymI(Section.Material, sectI, compressionFiberPosition); } } }