def changeType(self):

        if self.ui.txtToal != "" and self.ui.cmbMeasureType.currentIndex(
        ) != self.measureType:
            if self.measureType == DistanceUnits.M:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertMeterToFeet(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(dist / 1000.0))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertMeterToNM(dist)))
            elif self.measureType == DistanceUnits.FT:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertFeetToMeter(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(Unit.ConvertFeetToMeter(dist) / 1000.0))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertFeetToNM(dist)))
            elif self.measureType == DistanceUnits.KM:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToMeters(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToFeet(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToNM(dist)))
            elif self.measureType == DistanceUnits.NM:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertNMToMeter(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(
                            Unit.ConvertMeterToFeet(
                                Unit.ConvertNMToMeter(dist))))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(Unit.ConvertNMToMeter(dist) / 1000.0))

        self.measureType = self.ui.cmbMeasureType.currentIndex()
예제 #2
0
    def smethod_1(polylineArea_0, bool_0):
        polylineAreaList = HoldingTemplateBase.smethod_0(
            polylineArea_0, Unit.ConvertNMToMeter(1), 5)
        if (bool_0):
            polylineAreaList.append(polylineArea_0)
#             dBObjectCollection.Insert(0, AcadHelper.smethod_131(polylineArea_0));
#         }
        return polylineAreaList
 def txtDistance1Changed(self):
     try:
         test = float(self.txtDistance1.text())
         if self.flag==0:
             self.flag=1;
         if self.flag==2:
             self.flag=0;
         if self.flag==1:
             try:
                 self.txtDistance.setText(str(round(Unit.ConvertNMToMeter(float(self.txtDistance1.text())), 4)))
             except:
                 self.txtDistance.setText("0.0")
             self.emit(SIGNAL("Event_0"), self)
     except:
         str0 = "You must input the float type in \"%s\"."%(self.Caption)
         QMessageBox.warning(self, "Warning" , str0)
         self.txtDistance.setText("0.0")
    def method_29(self):
        self.dmeTolerance = Distance.NaN
        self.slantTolerance = Distance.NaN
        self.pilotDistance = Distance.NaN
        self.groundDistance = Distance.NaN
        if self.parametersPanel.txtDistance.text() == "" or self.parametersPanel.txtAcAltitude.text() == "" or self.parametersPanel.txtDmeAltitude.text() == "":
            self.parametersPanel.gbResult.setVisible(False)
        else:
            nauticalMiles = float(self.parametersPanel.txtDistance.text())
            metres = Altitude(float(self.parametersPanel.txtAcAltitude.text()), AltitudeUnits.FT).Metres
            value = Altitude(float(self.parametersPanel.txtDmeAltitude.text()))
            num = Unit.ConvertMeterToNM(metres - value.Metres)
            if (nauticalMiles <= 0):
                self.parametersPanel.label_72.setText(Captions.DME_TOLERANCE_OVERHEAD)
                self.dmeTolerance = Distance(460)
            elif (num <= nauticalMiles):
                if (self.parametersPanel.cmbCalculationType.currentIndex() != 0):
                    self.groundDistance = Distance(math.sqrt(nauticalMiles * nauticalMiles - num * num), DistanceUnits.NM)
                    self.pilotDistance = Distance(nauticalMiles, DistanceUnits.NM)
                    self.slantTolerance = Distance(self.pilotDistance.NauticalMiles - self.groundDistance.NauticalMiles, DistanceUnits.NM)
                    self.parametersPanel.lblResultDistance.setText(Captions.GROUND_DISTANCE)
                    self.parametersPanel.label_72.setText(Captions.DME_TOLERANCE)
                    self.parametersPanel.txtResultDistance.setText(str(round(self.groundDistance.NauticalMiles,2)) +" nm" + " / " + str(round(self.groundDistance.Metres,2)) +" m")
                else:
                    self.pilotDistance = Distance(math.sqrt(nauticalMiles * nauticalMiles + num * num), DistanceUnits.NM)
                    self.groundDistance = Distance(nauticalMiles, DistanceUnits.NM)
                    self.slantTolerance = Distance(nauticalMiles - math.sqrt(nauticalMiles * nauticalMiles - num * num), DistanceUnits.NM)
                    self.parametersPanel.lblResultDistance.setText(Captions.PILOT_READOUT)
                    self.parametersPanel.label_72.setText(Captions.DME_TOLERANCE)
                    self.parametersPanel.txtResultDistance.setText(str(round(self.pilotDistance.NauticalMiles, 2)) +" nm" + " / " + str(round(self.pilotDistance.Metres, 2)) +" m")
                
                self.dmeTolerance = Distance(Unit.ConvertNMToMeter(self.pilotDistance.NauticalMiles * 0.0125) + 460)
            else:
                flag = False
            if (self.dmeTolerance.IsValid()):
                self.parametersPanel.txtResultDmeTol.setText(str(round(self.dmeTolerance.NauticalMiles, 2)) +" nm" + " / " + str(round(self.dmeTolerance.Metres, 2)) +" m")
            
            if (self.slantTolerance.IsValid()):
                self.parametersPanel.txtResultSlantTol.setText(str(round(self.slantTolerance.NauticalMiles, 2)) +"nm" + " / " + str(round(self.slantTolerance.Metres, 2)) +" m")
            self.parametersPanel.frame_62.setVisible(False if not self.pilotDistance.IsValid() else self.groundDistance.IsValid())
            self.parametersPanel.frame_TakeOffSurfaceTrack_2.setVisible(self.dmeTolerance.IsValid())
            self.parametersPanel.frame_TakeOffSurfaceTrack_3.setVisible(self.slantTolerance.IsValid())
#                 self.txtResult.Visible = !flag
            self.parametersPanel.gbResult.setVisible(True)
예제 #5
0
    def smethod_3(polylineArea_0, altitude_0, altitude_1):
        #         DBObjectCollection dBObjectCollection;
        polylineAreaList = HoldingTemplateBase.smethod_0(
            polylineArea_0, Unit.ConvertNMToMeter(1), 5)
        #         DBObjectCollection dBObjectCollection2 = new DBObjectCollection();
        num = 0.5
        metres = altitude_0.Metres - altitude_1.Metres
        resultGeometryList = []
        for i in range(5):
            if (i > 0):
                metres = altitude_0.Metres - num * altitude_1.Metres
                num = num - 0.1
#             (dBObjectCollection1.get_Item(i) as Polyline).set_Elevation(metres);
#             DBObjectCollection dBObjectCollection3 = new DBObjectCollection();
#             dBObjectCollection3.Add(dBObjectCollection1.get_Item(i));
            item = polylineAreaList[i].method_14_closed(4)
            itemGeometry = QgsGeometry.fromPolygon([item])
            #             item.SetDatabaseDefaults();
            if (i > 0):
                #                 (dBObjectCollection1.get_Item(i - 1) as Polyline).set_Elevation(metres);
                #                 DBObjectCollection dBObjectCollection4 = new DBObjectCollection();
                #                 dBObjectCollection4.Add(dBObjectCollection1.get_Item(i - 1));
                regionGeometry = QgsGeometry.fromPolygon(
                    [polylineAreaList[i - 1].method_14_closed(4)])
                polygonNew = itemGeometry.difference(regionGeometry)
                resultGeometryList.append(polygonNew)
            else:
                resultGeometryList.append(itemGeometry)
#                 region.SetDatabaseDefaults();
#                 item.BooleanOperation(2, region);
#                 region.Dispose();
#                 }
#             dBObjectCollection2.Add(item);
#             }
#             dBObjectCollection = dBObjectCollection2;
        return resultGeometryList