private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam           beamForceCase      = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;


            if (load is LoadDistributedUniform)
            {
                LoadDistributedUniform cl = load as LoadDistributedUniform;
                switch (cl.Case)
                {
                case LoadDistributedSpecialCase.CantileverOverhang:
                    DistributedLoadOverhang b1 = new  DistributedLoadOverhang(beam, cl.Value);    //2C.2
                    beamForceCase      = b1;
                    beamDeflectionCase = b1;
                    break;

                case LoadDistributedSpecialCase.CantileverMainSpan:
                    DistributedLoadBetweenSupports b2 = new DistributedLoadBetweenSupports(beam, cl.Value);     //2C.1
                    beamForceCase      = b2;
                    beamDeflectionCase = b2;
                    break;

                default:
                    UniformLoadFull b3 = new UniformLoadFull(beam, cl.Value);     //2B.1
                    beamForceCase      = b3;
                    beamDeflectionCase = b3;
                    break;
                }
            }

            return(new BeamCase(beamForceCase, beamDeflectionCase));
        }
        private BeamCase GetDistributedLoadCase(LoadBeam load)
        {
            ISingleLoadCaseBeam beamForceCase = null;
            ISingleLoadCaseDeflectionBeam beamDeflectionCase = null;


            if (load is LoadDistributedUniform) 
            {
                LoadDistributedUniform cl = load as LoadDistributedUniform;
                switch (cl.Case)
                {
                    case LoadDistributedSpecialCase.CantileverOverhang:
                        DistributedLoadOverhang b1 = new  DistributedLoadOverhang(beam,cl.Value); //2C.2
                        beamForceCase = b1;
                        beamDeflectionCase = b1;
                        break;
                    case LoadDistributedSpecialCase.CantileverMainSpan:
                        DistributedLoadBetweenSupports b2 = new DistributedLoadBetweenSupports(beam, cl.Value); //2C.1
                        beamForceCase = b2;
                        beamDeflectionCase = b2;
                        break;
                    default:
                        UniformLoadFull b3 = new UniformLoadFull(beam, cl.Value); //2B.1
                        beamForceCase = b3;
                        beamDeflectionCase = b3;
                        break;
                }
                
            }

            return new BeamCase(beamForceCase, beamDeflectionCase);
        }