53 #include <QGraphicsView>
54 #include <QGraphicsSvgItem>
74 explicit qfi_PFD( QWidget *parent = 0 );
88 m_adi->setRoll( roll );
94 m_adi->setPitch( pitch );
103 m_adi->setFlightPathMarker( aoa, sideslip, visible );
109 m_adi->setSlipSkid( slipSkid );
117 m_adi->setTurnRate( turnRate );
123 inline void setBarH(
float barH,
bool visible =
true )
125 m_adi->setBarH( barH, visible );
131 inline void setBarV(
float barV,
bool visible =
true )
133 m_adi->setBarV( barV, visible );
139 inline void setDotH(
float dotH,
bool visible =
true )
141 m_adi->setDotH( dotH, visible );
147 inline void setDotV(
float dotV,
bool visible =
true )
149 m_adi->setDotV( dotV, visible );
155 m_alt->setAltitude( altitude );
163 m_alt->setPressure( pressure, pressureUnit );
169 m_asi->setAirspeed( airspeed );
175 m_asi->setMachNo( machNo );
181 m_hsi->setHeading( heading );
187 m_vsi->setClimbRate( climbRate );
200 ADI( QGraphicsScene *scene );
201 void init(
float scaleX,
float scaleY );
202 void update(
float scaleX,
float scaleY );
208 void setBarH(
float barH,
bool visible =
true );
209 void setBarV(
float barV,
bool visible =
true );
210 void setDotH(
float dotH,
bool visible =
true );
211 void setDotV(
float dotV,
bool visible =
true );
215 QGraphicsScene *m_scene;
217 QGraphicsSvgItem *m_itemBack;
218 QGraphicsSvgItem *m_itemLadd;
219 QGraphicsSvgItem *m_itemRoll;
220 QGraphicsSvgItem *m_itemSlip;
221 QGraphicsSvgItem *m_itemTurn;
222 QGraphicsSvgItem *m_itemPath;
223 QGraphicsSvgItem *m_itemMark;
224 QGraphicsSvgItem *m_itemBarH;
225 QGraphicsSvgItem *m_itemBarV;
226 QGraphicsSvgItem *m_itemDotH;
227 QGraphicsSvgItem *m_itemDotV;
228 QGraphicsSvgItem *m_itemMask;
229 QGraphicsSvgItem *m_itemScaleH;
230 QGraphicsSvgItem *m_itemScaleV;
234 float m_angleOfAttack;
235 float m_sideslipAngle;
251 float m_laddDeltaX_new;
252 float m_laddDeltaX_old;
253 float m_laddBackDeltaX_new;
254 float m_laddBackDeltaX_old;
255 float m_laddBackDeltaY_new;
256 float m_laddBackDeltaY_old;
257 float m_laddDeltaY_new;
258 float m_laddDeltaY_old;
259 float m_slipDeltaX_new;
260 float m_slipDeltaX_old;
261 float m_slipDeltaY_new;
262 float m_slipDeltaY_old;
263 float m_turnDeltaX_new;
264 float m_turnDeltaX_old;
265 float m_pathDeltaX_new;
266 float m_pathDeltaX_old;
267 float m_pathDeltaY_new;
268 float m_pathDeltaY_old;
269 float m_markDeltaX_new;
270 float m_markDeltaX_old;
271 float m_markDeltaY_new;
272 float m_markDeltaY_old;
273 float m_barHDeltaX_new;
274 float m_barHDeltaX_old;
275 float m_barVDeltaY_new;
276 float m_barVDeltaY_old;
277 float m_dotHDeltaX_new;
278 float m_dotHDeltaX_old;
279 float m_dotVDeltaY_new;
280 float m_dotVDeltaY_old;
285 const float m_originalPixPerDeg;
286 const float m_deltaLaddBack_max;
287 const float m_deltaLaddBack_min;
288 const float m_maxSlipDeflection;
289 const float m_maxTurnDeflection;
290 const float m_maxBarsDeflection;
291 const float m_maxDotsDeflection;
293 QPointF m_originalAdiCtr;
294 QPointF m_originalBackPos;
295 QPointF m_originalLaddPos;
296 QPointF m_originalRollPos;
297 QPointF m_originalSlipPos;
298 QPointF m_originalTurnPos;
299 QPointF m_originalPathPos;
300 QPointF m_originalBarHPos;
301 QPointF m_originalBarVPos;
302 QPointF m_originalDotHPos;
303 QPointF m_originalDotVPos;
304 QPointF m_originalScaleHPos;
305 QPointF m_originalScaleVPos;
319 void updateLadd(
float delta,
float sinRoll,
float cosRoll );
320 void updateLaddBack(
float delta,
float sinRoll,
float cosRoll );
322 void updateSlipSkid(
float sinRoll,
float cosRoll );
323 void updateTurnRate();
324 void updateFlightPath();
333 ALT( QGraphicsScene *scene );
334 void init(
float scaleX,
float scaleY );
335 void update(
float scaleX,
float scaleY );
337 void setPressure(
float pressure,
int pressureUnit );
341 QGraphicsScene *m_scene;
343 QGraphicsSvgItem *m_itemBack;
344 QGraphicsSvgItem *m_itemScale1;
345 QGraphicsSvgItem *m_itemScale2;
346 QGraphicsTextItem *m_itemLabel1;
347 QGraphicsTextItem *m_itemLabel2;
348 QGraphicsTextItem *m_itemLabel3;
349 QGraphicsSvgItem *m_itemGround;
350 QGraphicsSvgItem *m_itemFrame;
351 QGraphicsTextItem *m_itemAltitude;
352 QGraphicsTextItem *m_itemPressure;
354 QColor m_frameTextColor;
355 QColor m_pressTextColor;
356 QColor m_labelsColor;
358 QFont m_frameTextFont;
366 float m_scale1DeltaY_new;
367 float m_scale1DeltaY_old;
368 float m_scale2DeltaY_new;
369 float m_scale2DeltaY_old;
370 float m_groundDeltaY_new;
371 float m_groundDeltaY_old;
372 float m_labelsDeltaY_new;
373 float m_labelsDeltaY_old;
378 const float m_originalPixPerAlt;
379 const float m_originalScaleHeight;
380 const float m_originalLabelsX;
381 const float m_originalLabel1Y;
382 const float m_originalLabel2Y;
383 const float m_originalLabel3Y;
385 QPointF m_originalBackPos;
386 QPointF m_originalScale1Pos;
387 QPointF m_originalScale2Pos;
388 QPointF m_originalGroundPos;
389 QPointF m_originalFramePos;
390 QPointF m_originalAltitudeCtr;
391 QPointF m_originalPressureCtr;
398 const int m_frameTextZ;
401 void updateAltitude();
402 void updatePressure();
404 void updateScaleLabels();
411 ASI( QGraphicsScene *scene );
412 void init(
float scaleX,
float scaleY );
413 void update(
float scaleX,
float scaleY );
419 QGraphicsScene *m_scene;
421 QGraphicsSvgItem *m_itemBack;
422 QGraphicsSvgItem *m_itemScale1;
423 QGraphicsSvgItem *m_itemScale2;
424 QGraphicsTextItem *m_itemLabel1;
425 QGraphicsTextItem *m_itemLabel2;
426 QGraphicsTextItem *m_itemLabel3;
427 QGraphicsTextItem *m_itemLabel4;
428 QGraphicsTextItem *m_itemLabel5;
429 QGraphicsTextItem *m_itemLabel6;
430 QGraphicsTextItem *m_itemLabel7;
431 QGraphicsSvgItem *m_itemFrame;
432 QGraphicsTextItem *m_itemAirspeed;
433 QGraphicsTextItem *m_itemMachNo;
435 QColor m_frameTextColor;
436 QColor m_labelsColor;
438 QFont m_frameTextFont;
444 float m_scale1DeltaY_new;
445 float m_scale1DeltaY_old;
446 float m_scale2DeltaY_new;
447 float m_scale2DeltaY_old;
448 float m_labelsDeltaY_new;
449 float m_labelsDeltaY_old;
454 const float m_originalPixPerSpd;
455 const float m_originalScaleHeight;
456 const float m_originalLabelsX;
457 const float m_originalLabel1Y;
458 const float m_originalLabel2Y;
459 const float m_originalLabel3Y;
460 const float m_originalLabel4Y;
461 const float m_originalLabel5Y;
462 const float m_originalLabel6Y;
463 const float m_originalLabel7Y;
465 QPointF m_originalBackPos;
466 QPointF m_originalScale1Pos;
467 QPointF m_originalScale2Pos;
468 QPointF m_originalFramePos;
469 QPointF m_originalAirspeedCtr;
470 QPointF m_originalMachNoCtr;
476 const int m_frameTextZ;
479 void updateAirspeed();
481 void updateScaleLabels();
488 HSI( QGraphicsScene *scene );
489 void init(
float scaleX,
float scaleY );
490 void update(
float scaleX,
float scaleY );
495 QGraphicsScene *m_scene;
497 QGraphicsSvgItem *m_itemBack;
498 QGraphicsSvgItem *m_itemFace;
499 QGraphicsSvgItem *m_itemMarks;
500 QGraphicsTextItem *m_itemFrameText;
502 QColor m_frameTextColor;
504 QFont m_frameTextFont;
511 QPointF m_originalHsiCtr;
512 QPointF m_originalBackPos;
513 QPointF m_originalFacePos;
514 QPointF m_originalMarksPos;
515 QPointF m_originalFrameTextCtr;
520 const int m_frameTextZ;
523 void updateHeading();
530 VSI( QGraphicsScene *scene );
531 void init(
float scaleX,
float scaleY );
532 void update(
float scaleX,
float scaleY );
537 QGraphicsScene *m_scene;
539 QGraphicsSvgItem *m_itemScale;
540 QGraphicsSvgItem *m_itemArrow;
544 float m_arrowDeltaY_new;
545 float m_arrowDeltaY_old;
550 const float m_originalMarkeHeight;
551 const float m_originalPixPerSpd1;
552 const float m_originalPixPerSpd2;
553 const float m_originalPixPerSpd4;
555 QPointF m_originalScalePos;
556 QPointF m_originalArrowPos;
565 QGraphicsScene *m_scene;
573 QGraphicsSvgItem *m_itemBack;
574 QGraphicsSvgItem *m_itemMask;
579 const int m_originalHeight;
580 const int m_originalWidth;
void setFlightPathMarker(float aoa, float sideslip, bool visible=true)
Definition: qfi_PFD.h:101
void resizeEvent(QResizeEvent *event)
Definition: qfi_PFD.cpp:151
~qfi_PFD()
Definition: qfi_PFD.cpp:112
void setAltitude(float altitude)
Definition: qfi_PFD.h:153
void setPitch(float pitch)
Definition: qfi_PFD.h:92
void reinit()
Definition: qfi_PFD.cpp:132
void setBarH(float barH, bool visible=true)
Definition: qfi_PFD.h:123
void setRoll(float roll)
Definition: qfi_PFD.h:86
milibars
Definition: qfi_PFD.h:69
void setDotH(float dotH, bool visible=true)
Definition: qfi_PFD.h:139
void setTurnRate(float turnRate)
Definition: qfi_PFD.h:115
void setPressure(float pressure, PressureUnit pressureUnit)
Definition: qfi_PFD.h:161
void setAirspeed(float airspeed)
Definition: qfi_PFD.h:167
void setClimbRate(float climbRate)
Definition: qfi_PFD.h:185
void setHeading(float heading)
Definition: qfi_PFD.h:179
void setMachNo(float machNo)
Definition: qfi_PFD.h:173
void update()
Definition: qfi_PFD.cpp:144
void setBarV(float barV, bool visible=true)
Definition: qfi_PFD.h:131
standard (displays STD instead of numerical value)
Definition: qfi_PFD.h:68
PressureUnit
Definition: qfi_PFD.h:66
void setDotV(float dotV, bool visible=true)
Definition: qfi_PFD.h:147
inches of mercury
Definition: qfi_PFD.h:70
qfi_PFD(QWidget *parent=0)
Definition: qfi_PFD.cpp:71
void setSlipSkid(float slipSkid)
Definition: qfi_PFD.h:107