完善曲线显示功能

This commit is contained in:
hm
2020-10-27 15:04:51 +08:00
parent 839bb9c0dc
commit d156ad663e
8 changed files with 2021 additions and 659 deletions
+180 -5
View File
@@ -447,6 +447,29 @@ void Cockpit::setAttitudeTarget(double Pitch,double Roll,double Yaw)
void Cockpit::setAttitudeSpeed(double PitchSpeed,double RollSpeed,double YawSpeed)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(PitchSpeed))
{
return;
}
if(isnan(RollSpeed))
{
return;
}
if(isnan(YawSpeed))
{
return;
}
#endif
#endif
m_State.gy = PitchSpeed;
m_State.gx = RollSpeed;
m_State.gz = YawSpeed;
@@ -456,6 +479,19 @@ void Cockpit::setAttitudeSpeed(double PitchSpeed,double RollSpeed,double YawSpee
void Cockpit::setAltitude(double Altitude)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(Altitude))
{
return;
}
#endif
#endif
if(Altitude > 99999) Altitude = 99999;
else if(Altitude < (-9999)) Altitude = -9999;
@@ -465,6 +501,19 @@ void Cockpit::setAltitude(double Altitude)
void Cockpit::setAltitudeTarget(double Altitude)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(Altitude))
{
return;
}
#endif
#endif
if(Altitude > 99999) Altitude = 99999;
else if(Altitude < (-9999)) Altitude = -9999;
@@ -475,6 +524,20 @@ void Cockpit::setAltitudeTarget(double Altitude)
void Cockpit::setSpeed(double speed,uint8_t flag)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(speed))
{
return;
}
#endif
#endif
m_State.AirspeedFlag = flag;
m_State.speed = speed;
@@ -483,7 +546,19 @@ void Cockpit::setSpeed(double speed,uint8_t flag)
void Cockpit::setAirSpeed(double speed,uint8_t flag)
{
//m_State.AirspeedFlag = flag;
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(speed))
{
return;
}
#endif
#endif
if(speed < 0) speed = 0;
else if(speed > 9999) speed = 9999;
@@ -495,6 +570,20 @@ void Cockpit::setAirSpeedTarget(double speed, uint8_t flag)
{
Q_UNUSED(flag)
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(speed))
{
return;
}
#endif
#endif
if(speed < 0) speed = 0;
else if(speed > 9999) speed = 999;
@@ -510,18 +599,57 @@ void Cockpit::setAirSpeedFlag(quint8 flag)
void Cockpit::setVerticalSpeed(double speed)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(speed))
{
return;
}
#endif
#endif
m_State.verticalspeed_t = speed;
m_State.isUpdate = true;
}
void Cockpit::setVerticalSpeedTarget(double speed)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(speed))
{
return;
}
#endif
#endif
m_Target.verticalspeed = speed;
m_Target.isUpdate = true;
}
void Cockpit::setXTrack(double value)//飞机在航线右边为正
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(value))
{
return;
}
#endif
#endif
if(value > 9999) value = 9999;
else if(value < (-9999)) value = -9999;
@@ -531,6 +659,19 @@ void Cockpit::setXTrack(double value)//飞机在航线右边为正
void Cockpit::setWP_dist(double value)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(value))
{
return;
}
#endif
#endif
if(value > 9999) value = 9999;
else if(value < (-9999)) value = -9999;
@@ -540,6 +681,19 @@ void Cockpit::setWP_dist(double value)
void Cockpit::setAlt_err(double value)//飞机在航线下面为正
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(value))
{
return;
}
#endif
#endif
if(value > 9999) value = 9999;
else if(value < (-9999)) value = -9999;
@@ -568,6 +722,19 @@ void Cockpit::setState(QString str)
void Cockpit::setAOA(qreal Value)
{
#ifdef unix
#else
#ifdef __MINGW32__
#else
if(isnan(Value))
{
return;
}
#endif
#endif
m_State.AOA = Value;
m_Target.isUpdate = true;
}
@@ -1413,7 +1580,7 @@ void Cockpit::drawRightScale(QPainter *painter)
ePen.setColor(m_Color.CentreLineColor);
ePen.setWidth(10);
font.setPixelSize(120);
font.setPixelSize(110);
font.setWeight(QFont::Bold);
painter->setPen(ePen);
painter->setFont(font);
@@ -1433,7 +1600,15 @@ void Cockpit::drawRightScale(QPainter *painter)
if(Unit > 99.5)
{
HundredText = QString::number(qAbs(int(m_State.altitude/100)%10) + 1);
HundredText = QString::number(qAbs(int(m_State.altitude/100)%10)+1);
if(HundredText.toInt() >= 10)
{
HundredText = QString::number(0);
thousandText = QString::number(thousandText.toInt() + 1);
}
}
else
{
@@ -1464,7 +1639,7 @@ void Cockpit::drawRightScale(QPainter *painter)
ePen.setColor(m_Color.CentreLineColor);
ePen.setWidth(10);
font.setPixelSize(120);
font.setPixelSize(100);
painter->setPen(ePen);
painter->setFont(font);
painter->drawText(QRect(160,-50,90,100),Qt::AlignVCenter|Qt::AlignRight, thousandText);
@@ -1480,7 +1655,7 @@ void Cockpit::drawRightScale(QPainter *painter)
ePen.setColor(m_Color.CentreLineColor);
ePen.setWidth(10);
font.setPixelSize(120);
font.setPixelSize(100);
painter->setPen(ePen);
painter->setFont(font);