def btnConstruct_Click(self):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        value = Speed(float(self.parametersPanel.txtIas.text()),SpeedUnits.KTS);
        if (self.parametersPanel.chbDeparture.isChecked()):
            value = value + (value / 10);
        altitude = Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT);
        value1 = float(self.parametersPanel.txtIsa.text());
        num1 = float (self.parametersPanel.txtBankAngle.text());
        self.speedP = self.parametersPanel.pnlWind.Value;
        self.num2P = Unit.ConvertDegToRad(float(self.parametersPanel.txtTrackRadial.Value));
        self.orientationTypeP = self.parametersPanel.cmbOrientation.currentText();
        speed1 = Speed.smethod_0(value, value1, altitude);
        numList = []
        distance = Distance.smethod_1(speed1, num1, numList);
        self.numP = numList[0]
        self.metresP = distance.Metres;

        self.originP = Point3D.get_Origin();
        self.point3dP = Point3D.get_Origin();
        self.origin1P = Point3D.get_Origin();
        self.polylineP = PolylineArea();
        self.flagP = True;


        define._canvas.setMapTool(self.CaptureCoordTool)
Esempio n. 2
0
 def __init__(self, point3d_0, double_0, speed_0, speed_1, double_1, turnDirection_0):
     ### point3d_0 : start point
     ### double_0  is  inboundTrack angle(radian).
     ### speed_0 is speed of airplane(TAS).
     ### speed_1 is speed of wind.
     ### double_1  is  value of bank anlge(float).
     self.Start = [Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0)]
     self.Middle = [Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0)]
     self.Finish = [Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0)]
     self.Center = [Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0)]
     self.Radius = [Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0), Point3D(0.0, 0.0, 0.0)]
     self.Direction = turnDirection_0
     return1 = []
     distance = Distance.smethod_1(speed_0, double_1, return1) # out num)
     num = return1[0]
     metres = distance.Metres
     metresPerSecond = 45 / num * speed_1.MetresPerSecond
     metresPerSecond1 = 90 / num * speed_1.MetresPerSecond
     metresPerSecond2 = 135 / num * speed_1.MetresPerSecond
     num2 = 180 / num * speed_1.MetresPerSecond
     metresPerSecond3 = 225 / num * speed_1.MetresPerSecond
     num3 = 270 / num * speed_1.MetresPerSecond
     if turnDirection_0 != TurnDirection.Left:
         num1 = 1 
     else:
         num1 = -1
     point3d = MathHelper.distanceBearingPoint(point3d_0, num1 * math.pi / 2 + double_0, metres)
     self.Start[0] = point3d_0
     self.Middle[0] = MathHelper.distanceBearingPoint(point3d, -1 * num1 * (math.pi / 4) + double_0, metres + metresPerSecond)
     self.Finish[0] = MathHelper.distanceBearingPoint(point3d, double_0, metres + metresPerSecond1)
     self.Start[1] = self.Finish[0]
     self.Middle[1] = MathHelper.distanceBearingPoint(point3d, num1 * (math.pi / 4) + double_0, metres + metresPerSecond2)
     self.Finish[1] = MathHelper.distanceBearingPoint(point3d, num1 * math.pi / 2 + double_0, metres + num2)
     self.Start[2] = self.Finish[1]
     self.Middle[2] = MathHelper.distanceBearingPoint(point3d, num1 * (math.pi / 4) * 3 + double_0, metres + metresPerSecond3)
     self.Finish[2] = MathHelper.distanceBearingPoint(point3d, num1 * math.pi + double_0, metres + num3)
     self.Center[0] = MathHelper.smethod_68(self.Start[0], self.Middle[0], self.Finish[0])
     self.Center[1] = MathHelper.smethod_68(self.Start[1], self.Middle[1], self.Finish[1])
     self.Center[2] = MathHelper.smethod_68(self.Start[2], self.Middle[2], self.Finish[2])
     self.Radius[0] = MathHelper.calcDistance(self.Center[0], self.Middle[0])
     self.Radius[1] = MathHelper.calcDistance(self.Center[1], self.Middle[1])
     self.Radius[2] = MathHelper.calcDistance(self.Center[2], self.Middle[2])