public void Update(Mesh mesh)
 {
     Wing.UpdateSections();
     Fuselage.UpdateSections();
     HorizontalStabilizer.UpdateSections();
     VerticalStabilizer.UpdateSections();
     UnderCarriage.UpdateSections();
 }
        public Aircraft()
        {
            Fuselage             = new Fuselage();
            HorizontalStabilizer = new HorizontalStabilizer();
            Wing = new Wing();
            VerticalStabilizer = new VerticalStabilizer();
            UnderCarriage      = new UnderCarriage();

            SeatsAcross = 10;
        }
        public void Generate(Mesh mesh)
        {
            Update(mesh);

            Wing.Generate(mesh, new Vector2(0.15f, 0));
            Wing.Engines.ForEach(x => x.Generate(mesh, new Vector2(0.25f, 0)));
            Wing.Flaps.Generate(mesh, new Vector2(0.35f, 0));
            Fuselage.Generate(mesh, Vector2.zero);
            HorizontalStabilizer.Generate(mesh, new Vector2(0.45f, 0));
            VerticalStabilizer.Generate(mesh, new Vector2(0.55f, 0));
            UnderCarriage.Generate(mesh, new Vector2(0.65f, 0));
        }
        public void UpdateTailArea()
        {
            var l_v = ((Fuselage.Diameter * Fuselage.Afterbody.AfterbodyLengthDiameterRatio) + Fuselage.CentreFuselage.Length) - CentreOfGravity.z;

            VerticalStabilizer.UpdateArea(Wing.Area, l_v, Wing.Span);
        }