Ejemplo n.º 1
0
        private static List <ISpaceCraft> BuildFalconHeavyDemo(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var roadster = new Roadster(craftDirectory, planet.Position + new DVector2(planet.SurfaceRadius, 0) + config.PositionOffset,
                                        planet.Velocity + new DVector2(0, -400) + config.VelocityOffset, config.PayloadMass);

            var fairingLeft  = new Fairing(craftDirectory, roadster.Position, DVector2.Zero, true, -5.0);
            var fairingRight = new Fairing(craftDirectory, roadster.Position, DVector2.Zero, false, -5.0);

            roadster.AttachFairings(fairingLeft, fairingRight);

            var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero, 404272);
            var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero, 8.4);

            var fhLeftBooster  = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero, 396772);
            var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero, 396772);

            roadster.AddChild(fhS2);
            fhS2.SetParent(roadster);
            fhS2.AddChild(fhS1);
            fhS1.SetParent(fhS2);
            fhS1.AddChild(fhLeftBooster);
            fhS1.AddChild(fhRightBooster);
            fhLeftBooster.SetParent(fhS1);
            fhRightBooster.SetParent(fhS1);

            return(new List <ISpaceCraft>
            {
                roadster, fhS2, fhLeftBooster, fhS1, fhRightBooster, fairingLeft, fairingRight
            });
        }
Ejemplo n.º 2
0
        public void VehicleFairings()
        {
            // Arrange
            var vehicle = new LaunchVehicle();
            var fairing = new Fairing(6.3, 1.5, 220);

            vehicle.Fairings.Add("M", fairing);

            var expectedName     = "M";
            var expectedLength   = 6.3;
            var expectedDiameter = 1.5;
            var expectedMass     = 220;

            //Act
            var vFairings = vehicle.Fairings;

            var actualName     = vFairings.Keys.ElementAt(0);
            var actualLength   = vFairings.Values.ElementAt(0).Length;
            var actualDiameter = vFairings.Values.ElementAt(0).Diameter;
            var actualMass     = vFairings.Values.ElementAt(0).Mass;

            //Assert
            Assert.AreEqual(expectedName, actualName);
            Assert.AreEqual(expectedLength, actualLength);
            Assert.AreEqual(expectedDiameter, actualDiameter);
            Assert.AreEqual(expectedMass, actualMass);
        }
Ejemplo n.º 3
0
        private static List <ISpaceCraft> BuildFalconHeavy(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var demoSat = new DemoSat(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset,
                                      planet.Velocity + new DVector2(-400, 0) + config.VelocityOffset, config.PayloadMass);

            var fairingLeft  = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, true);
            var fairingRight = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, false);

            demoSat.AttachFairings(fairingLeft, fairingRight);

            var fhS1 = new FHS1(craftDirectory, DVector2.Zero, DVector2.Zero);
            var fhS2 = new FHS2(craftDirectory, DVector2.Zero, DVector2.Zero);

            var fhLeftBooster  = new FHBooster(craftDirectory, 1, DVector2.Zero, DVector2.Zero);
            var fhRightBooster = new FHBooster(craftDirectory, 2, DVector2.Zero, DVector2.Zero);

            demoSat.AddChild(fhS2);
            fhS2.SetParent(demoSat);
            fhS2.AddChild(fhS1);
            fhS1.SetParent(fhS2);
            fhS1.AddChild(fhLeftBooster);
            fhS1.AddChild(fhRightBooster);
            fhLeftBooster.SetParent(fhS1);
            fhRightBooster.SetParent(fhS1);

            return(new List <ISpaceCraft>
            {
                demoSat, fhS2, fhS1, fhLeftBooster, fhRightBooster
            });
        }
Ejemplo n.º 4
0
        public void AttachFairings(Fairing leftFairing, Fairing rightFairing)
        {
            _leftFairing  = leftFairing;
            _rightFairing = rightFairing;

            _leftFairing.SetParent(this);
            _rightFairing.SetParent(this);
        }
Ejemplo n.º 5
0
        public void FairingInvlaidEntries()
        {
            //Arrange instantiation
            var fairing  = new Fairing(-1.1, -5.1, -0.9);
            var expected = new List <double?> {
                null, null, 0
            };

            //Act
            var actual = new List <double?> {
                fairing.Length, fairing.Diameter, fairing.Mass
            };

            //Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Ejemplo n.º 6
0
        public void FairingConstructorTwo()
        {
            //Arrange instantiation
            var fairing  = new Fairing(12.2, 2.5, 2.2);
            var expected = new List <double?> {
                12.2, 2.5, 2.2
            };

            //Act
            var actual = new List <double?> {
                fairing.Length, fairing.Diameter, fairing.Mass
            };

            //Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Ejemplo n.º 7
0
        public Fairing GetFairingsInformation(ref JArray data, int?id)
        {
            Fairing current = new Fairing();
            var     temp    = data[id]["rocket"]["fairings"];

            if (temp.HasValues == false)
            {
            }
            else
            {
                current.fairReused = (string)temp["reused"];
                current.recAtt     = (string)temp["recovery_attempt"];
                current.recovered  = (string)temp["recovered"];
            }

            return(current);
        }
Ejemplo n.º 8
0
        private static List <ISpaceCraft> BuildX37B(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var x37b = new X37B(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset, planet.Velocity, config.PayloadMass);

            var fairingLeft  = new Fairing(craftDirectory, x37b.Position, DVector2.Zero, true);
            var fairingRight = new Fairing(craftDirectory, x37b.Position, DVector2.Zero, false);

            x37b.AttachFairings(fairingLeft, fairingRight);

            var f9S1 = new F9S1(craftDirectory, DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2(craftDirectory, DVector2.Zero, DVector2.Zero, 11.2);

            x37b.AddChild(f9S2);
            f9S2.SetParent(x37b);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                x37b, f9S2, f9S1, fairingLeft, fairingRight
            });
        }
Ejemplo n.º 9
0
        private static List <ISpaceCraft> BuildGenericF9B5(IMassiveBody planet, MissionConfig config, string craftDirectory)
        {
            var demoSat = new DemoSat(craftDirectory, planet.Position + new DVector2(0, -planet.SurfaceRadius) + config.PositionOffset, planet.Velocity, config.PayloadMass);

            var fairingLeft  = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, true);
            var fairingRight = new Fairing(craftDirectory, demoSat.Position, DVector2.Zero, false);

            demoSat.AttachFairings(fairingLeft, fairingRight);

            var f9S1 = new F9S1B5(craftDirectory, DVector2.Zero, DVector2.Zero);
            var f9S2 = new F9S2B5(craftDirectory, DVector2.Zero, DVector2.Zero, 11.2);

            demoSat.AddChild(f9S2);
            f9S2.SetParent(demoSat);
            f9S2.AddChild(f9S1);
            f9S1.SetParent(f9S2);

            return(new List <ISpaceCraft>
            {
                demoSat, f9S2, f9S1, fairingLeft, fairingRight
            });
        }
Ejemplo n.º 10
0
 public FairingCommand(Fairing stage)
     : base(stage.StartTime, stage.Duration)
 {
 }