private double GetSyLeft(AiscShapeType Type)
        {
            double SyRight = Sy;

            if (Type == AiscShapeType.ShapeType_L)
            {
                SyRight = Iy / x;
            }
            return(SyRight);
        }
        private double GetSxTop(AiscShapeType Type)
        {
            double SxTop = Sx;

            switch (Type)
            {
            case AiscShapeType.ShapeType_2L:
                SxTop = Ix / y;
                break;

            case AiscShapeType.ShapeType_C:
                break;

            case AiscShapeType.ShapeType_HP:
                break;

            case AiscShapeType.ShapeType_HSS:
                break;

            case AiscShapeType.ShapeType_L:
                SxTop = Ix / (d - y);
                break;

            case AiscShapeType.ShapeType_M:
                break;

            case AiscShapeType.ShapeType_MC:
                break;

            case AiscShapeType.ShapeType_MT:
                SxTop = Ix / (d - y);
                break;

            case AiscShapeType.ShapeType_PIPE:
                break;

            case AiscShapeType.ShapeType_S:
                break;

            case AiscShapeType.ShapeType_ST:
                SxTop = Ix / (d - y);
                break;

            case AiscShapeType.ShapeType_W:
                break;

            case AiscShapeType.ShapeType_WT:
                SxTop = Ix / (d - y);
                break;

            default:
                break;
            }
            return(SxTop);
        }
        private void CreateISectionElement(AiscShapeType Type)
        {
            //SectionGenericShape sec = new SectionGenericShape(ShapeId, null); //todo null for vertices needs to be revisited

            base._A        = A;
            base._I_x      = Ix;
            base._I_y      = Iy;
            base._S_x_Top  = GetSxTop(Type);
            base._S_xBot   = GetSxBot(Type);
            base._S_yLeft  = GetSyLeft(Type);
            base._S_yRight = GetSyRight(Type);
            base._Z_x      = Zx;
            base._Z_y      = Zy;
            base._r_x      = rx;
            base._r_y      = ry;
            base.elasticCentroidCoordinate.X = x;
            base.elasticCentroidCoordinate.Y = y;
            base.plasticCentroidCoordinate.X = xp;
            base.plasticCentroidCoordinate.Y = yp;
            base._C_w = Cw;
            base._J   = J;
        }
        private double GetSxBot(AiscShapeType Type)
        {
            double SxBot = Sx;

            switch (Type)
            {
            case AiscShapeType.ShapeType_2L:
                if (ShapeId.Contains("SLBB"))
                {
                    SxBot = Ix / (d - y);
                }
                else if (ShapeId.Contains("LLBB"))
                {
                    SxBot = Ix / (b - y);
                }
                else
                {
                    SxBot = Ix / (d - y);
                }

                break;

            case AiscShapeType.ShapeType_C:
                break;

            case AiscShapeType.ShapeType_HP:
                break;

            case AiscShapeType.ShapeType_HSS:
                break;

            case AiscShapeType.ShapeType_L:
                SxBot = Ix / (y);
                break;

            case AiscShapeType.ShapeType_M:
                break;

            case AiscShapeType.ShapeType_MC:
                break;

            case AiscShapeType.ShapeType_MT:
                SxBot = Ix / (d - y);
                break;

            case AiscShapeType.ShapeType_PIPE:
                break;

            case AiscShapeType.ShapeType_S:
                break;

            case AiscShapeType.ShapeType_ST:
                SxBot = Ix / (d - y);
                break;

            case AiscShapeType.ShapeType_W:
                break;

            case AiscShapeType.ShapeType_WT:
                SxBot = Ix / (d - y);
                break;

            default:
                break;
            }
            return(SxBot);
        }