public ChannelMember(ISteelSection Section, bool IsRolledShape, FlexuralCompressionFiberPosition compressionFiberPosition) { double b; double tf; if (Section.Shape is ISectionChannel) { ISectionChannel sectChannel = Section.Shape as ISectionChannel; switch (compressionFiberPosition) { case FlexuralCompressionFiberPosition.Top: b = sectChannel.b_f; tf = sectChannel.t_f; break; case FlexuralCompressionFiberPosition.Bottom: b = sectChannel.b_f; tf = sectChannel.t_f; break; default: throw new CompressionFiberPositionException(); } //flange compactness FlangeCompactness = new FlangeOfChannel(Section.Material, b / 2.0, tf); //web compactness WebCompactness = new WebOfChannel(Section.Material, sectChannel); } }