Пример #1
0
    def getWaypoint(self):
        if (self.type == RnavCommonWaypoint.FAWP):
            nauticalMiles = float(self.txtDistance.text())
            value = float(self.txtBearing.text())
            num1 = math.fabs(self.rethr - value)
            if (num1 > 180):
                num1 = 360 - num1
            num2 = math.sin(Unit.smethod_0(num1)) * 0.7559395
            num3 = Unit.smethod_1(math.asin(num2 / nauticalMiles))
            num4 = math.cos(Unit.smethod_0(num1)) * 0.755939525
            num5 = math.cos(Unit.smethod_0(num3)) * nauticalMiles
            return RnavWaypoints.smethod_3(self.pos1400m, float(self.txtBearing.text()), Distance(math.fabs(num5 - num4), DistanceUnits.NM))
        if (self.type != RnavCommonWaypoint.MAWP):
            return RnavWaypoints.smethod_3(self.from1, float(self.txtBearing.text()), Distance(float(self.txtDistance.text()), DistanceUnits.NM))
        angle = 90
        if (float(self.txtBearing.text()) > self.thrre or float(self.txtBearing.text()) - self.thrre >= 90):
            

            if self.flagStrName == "Y-Bar":
                angle = 70
            num = self.rethr - angle
            if (num < 0):
                num = num + 360
        else:
            num = self.rethr + angle
            if (num > 360):
                num = num - 360
        point3d1 = self.from1
        point3d2 = self.getThrPoint3D()
        point3d = MathHelper.getIntersectionPoint(point3d1, RnavWaypoints.smethod_3(self.from1, float(self.txtBearing.text()), Distance(1000)), point3d2, RnavWaypoints.smethod_3(self.getThrPoint3D(), num, Distance(1000)))
        if point3d == None: 
            raise UserWarning, Messages.ERR_FAILED_TO_CALCULATE_INTERSECTION_POINT        
        return RnavWaypoints.smethod_3(self.getThrPoint3D(), num, Distance(MathHelper.calcDistance(point3d2, point3d)))
Пример #2
0
    def acceptDlg(self):
        nauticalMiles = self.pnlDist.Value.NauticalMiles
        value = Unit.ConvertDegToRad(self.pnlTrack.Value)
        num1 = math.fabs(self.baseTrack - value)
        if (num1 > 180):
            num1 = 360 - num1
        num2 = math.sin(Unit.smethod_0(num1)) * 0.7559395
        num3 = Unit.smethod_1(math.asin(num2 / nauticalMiles))
        num4 = math.cos(Unit.smethod_0(num1)) * 0.755939525
        num5 = math.cos(Unit.smethod_0(num3)) * nauticalMiles
        calcPt = RnavWaypoints.smethod_3(
            self.pos1400m, self.pnlTrack.Value,
            Distance(math.fabs(num5 - num4), DistanceUnits.NM))

        self.accept()
 def txtTrack_TextChanged(self):
     self.complexObstacleArea[self.selectedModelIndex.row()].nominalTrack = Unit.smethod_0(float(self.ui.txtTrack.text()));