//ICompactnessElement FlangeCompactness;
           //ICompactnessElement WebCompactness;

           public HollowMember(ISteelSection section,
                FlexuralCompressionFiberPosition compressionFiberPosition, MomentAxis MomentAxis)
            {
                ISection Section = section.Shape;
                if (Section is ISectionTube|| Section is ISectionPipe || Section is ISectionBox)
                {
                    if (Section is ISectionTube)
                    {
                        ISectionTube tube = Section as ISectionTube;
                        if (MomentAxis == MomentAxis.XAxis)
                        {
                            FlangeCompactness = new FlangeOfRhs(section.Material, tube, MomentAxis);
                            WebCompactness = new WebOfRhs(section.Material, tube, MomentAxis);
                        }
                        else
                        {
                            WebCompactness = new FlangeOfRhs(section.Material, tube, MomentAxis);
                            FlangeCompactness = new WebOfRhs(section.Material, tube, MomentAxis);
                        }
                        

                    }

                    if (Section is ISectionPipe)
                    {
                        ISectionPipe pipe = Section as ISectionPipe;
                        FlangeCompactness = new WallOfChs(section.Material, pipe);
                        WebCompactness = new WallOfChs(section.Material, pipe);
                    }

                    if (Section is ISectionBox)
                    {
                        ISectionBox box = Section as ISectionBox;
                        if (MomentAxis == MomentAxis.XAxis)
                        {
                            FlangeCompactness = new FlangeOfBox(section.Material, box);
                            WebCompactness = new WebOfBox(section.Material, box);
                        }
                        else
                        {
                            WebCompactness = new FlangeOfBox(section.Material, box);
                            FlangeCompactness = new WebOfBox(section.Material, box);
                        }
                    } 
                }
                else
                {
                    throw new SectionWrongTypeException("ISectionTube, ISectionPipe or ISectionBox");
                }

            }
            //ICompactnessElement FlangeCompactness;
            //ICompactnessElement WebCompactness;

            public HollowMember(ISteelSection section,
                                FlexuralCompressionFiberPosition compressionFiberPosition, MomentAxis MomentAxis)
            {
                ISection Section = section.Shape;

                if (Section is ISectionTube || Section is ISectionPipe || Section is ISectionBox)
                {
                    if (Section is ISectionTube)
                    {
                        ISectionTube tube = Section as ISectionTube;
                        if (MomentAxis == MomentAxis.XAxis)
                        {
                            FlangeCompactness = new FlangeOfRhs(section.Material, tube, MomentAxis);
                            WebCompactness    = new WebOfRhs(section.Material, tube, MomentAxis);
                        }
                        else
                        {
                            WebCompactness    = new FlangeOfRhs(section.Material, tube, MomentAxis);
                            FlangeCompactness = new WebOfRhs(section.Material, tube, MomentAxis);
                        }
                    }

                    if (Section is ISectionPipe)
                    {
                        ISectionPipe pipe = Section as ISectionPipe;
                        FlangeCompactness = new WallOfChs(section.Material, pipe);
                        WebCompactness    = new WallOfChs(section.Material, pipe);
                    }

                    if (Section is ISectionBox)
                    {
                        ISectionBox box = Section as ISectionBox;
                        if (MomentAxis == MomentAxis.XAxis)
                        {
                            FlangeCompactness = new FlangeOfBox(section.Material, box);
                            WebCompactness    = new WebOfBox(section.Material, box);
                        }
                        else
                        {
                            WebCompactness    = new FlangeOfBox(section.Material, box);
                            FlangeCompactness = new WebOfBox(section.Material, box);
                        }
                    }
                }
                else
                {
                    throw new SectionWrongTypeException("ISectionTube, ISectionPipe or ISectionBox");
                }
            }