Beispiel #1
0
        public AircraftDimensionsForm(ModelControl modelControl)
        {
            this.modelControl = modelControl;
            InitializeComponent();

            if (modelControl != null)
            {
                numericUpDownWeight.Value   = (decimal)modelControl.AirplaneModel.AirplaneControl.AircraftParameters.Mass;
                numericUpDownWingArea.Value = (decimal)
                                              modelControl.AirplaneModel.AirplaneControl.AircraftParameters.WingArea * 10000;
                numericUpDownVertArea.Value = (decimal)
                                              modelControl.AirplaneModel.AirplaneControl.AircraftParameters.VerticalArea * 10000;
                numericUpDownWingSpan.Value = (decimal)(200 *
                                                        modelControl.AirplaneModel.AirplaneControl.AircraftParameters.WingCenter.Y *
                                                        modelControl.AirplaneModel.AirplaneControl.AircraftParameters.WingSpanFactor);
            }
            if (modelControl.AirplaneModel.AirplaneControl.AircraftParameters.Version == 1.0)
            {
                labelWingCenter.Visible         = false;
                vectorControlWingCenter.Visible = false;
                labelPropCenter.Visible         = false;
                vectorControlPropCenter.Visible = false;
                numericUpDownWingSpan.Visible   = false;
                labelWingSpan.Visible           = false;
                labelWingSpanCm.Visible         = false;
                labelWingSpanInch.Visible       = false;
            }
            else
            {
                Program.Instance.CursorVisible  = true;
                Program.Instance.Cursor2Visible = true;
                vectorControlWingCenter.Vector  = FlightModelWind.ToDirectX(modelControl.AirplaneModel.AirplaneControl.AircraftParameters.WingCenter);
                vectorControlPropCenter.Vector  = FlightModelWind.ToDirectX(modelControl.AirplaneModel.AirplaneControl.AircraftParameters.PropCenter);
            }
        }
Beispiel #2
0
        public void UpdatePointPositions()
        {
            for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledCollisionPoints.Count; i++)
            {
                if (i < points.Count)
                {
                    points[i].Position = FlightModelWind.ToDirectX(ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledCollisionPoints[i]) *
                                         ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                }
            }

            for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledGearPoints.Count; i++)
            {
                if (i < gearPoints.Count)
                {
                    gearPoints[i].Position = FlightModelWind.ToDirectX(ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledGearPoints[i]) *
                                             ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                }
            }

            for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledFloatPoints.Count; i++)
            {
                if (i < floatPoints.Count)
                {
                    floatPoints[i].Position = FlightModelWind.ToDirectX(ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledFloatPoints[i]) *
                                              ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                }
            }
        }
Beispiel #3
0
        public void UpdatePoints()
        {
            if (modelControl != null)
            {
                foreach (GameObject point in points)
                {
                    point.Dispose();
                }
                points.Clear();
                for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledCollisionPoints.Count; i++)
                {
                    Vector3    point  = ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledCollisionPoints[i];
                    GameObject cursor = new GameObject();
                    cursor.Position = FlightModelWind.ToDirectX(point) * ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                    cursor.Mesh     = cursorMesh;
                    if (i == SelectedCollisionPoint)
                    {
                        cursor.Scale = new Vector3(0.03f, 0.03f, 0.03f);
                    }
                    else
                    {
                        cursor.Scale = new Vector3(0.015f, 0.015f, 0.015f);
                    }
                    points.Add(cursor);
                }

                foreach (GameObject gearPoint in gearPoints)
                {
                    gearPoint.Dispose();
                }
                gearPoints.Clear();
                for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledGearPoints.Count; i++)
                {
                    Vector3    point  = ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledGearPoints[i];
                    GameObject cursor = new GameObject();
                    cursor.Position = FlightModelWind.ToDirectX(point) * ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                    cursor.Mesh     = cursorMesh2;
                    if (i == SelectedGearPoint)
                    {
                        cursor.Scale = new Vector3(0.03f, 0.03f, 0.03f);
                    }
                    else
                    {
                        cursor.Scale = new Vector3(0.015f, 0.015f, 0.015f);
                    }
                    gearPoints.Add(cursor);
                }

                foreach (GameObject floatPoint in floatPoints)
                {
                    floatPoint.Dispose();
                }
                floatPoints.Clear();
                for (int i = 0; i < ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledFloatPoints.Count; i++)
                {
                    Vector3    point  = ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.UnscaledFloatPoints[i];
                    GameObject cursor = new GameObject();
                    cursor.Position = FlightModelWind.ToDirectX(point) * ModelControl.AirplaneModel.AirplaneControl.AircraftParameters.Scale;
                    cursor.Mesh     = cursorMesh3;
                    if (i == SelectedFloatPoint)
                    {
                        cursor.Scale = new Vector3(0.03f, 0.03f, 0.03f);
                    }
                    else
                    {
                        cursor.Scale = new Vector3(0.015f, 0.015f, 0.015f);
                    }
                    floatPoints.Add(cursor);
                }
            }
        }