6 #include "ui_relativeaircraftposition.h"
8 using namespace swift::misc::geo;
9 using namespace swift::misc::physical_quantities;
11 namespace swift::gui::editors
13 CRelativeAircraftPosition::CRelativeAircraftPosition(QWidget *parent)
23 ui->sb_Distance->setReadOnly(readOnly);
24 ui->sb_RelativeBearing->setReadOnly(readOnly);
29 const int distMeters = distance.
valueInteger(CLengthUnit::m());
30 ui->sb_Distance->setValue(distMeters);
35 if (m_originCoordinate.
isNull()) {
return CCoordinateGeodetic::null(); }
36 const CLength distance(ui->sb_Distance->value(), CLengthUnit::m());
37 CAngle relBearing(ui->sb_RelativeBearing->value(), CAngleUnit::deg());
38 if (!bearingOffset.
isNull()) { relBearing += bearingOffset; }
45 ui->le_Info->setText(QStringLiteral(
"%1 / %2").arg(m_originCoordinate.
toQString(
true), p.
toQString(
true)));
Position relative to other aircraft.
void setDistance(const swift::misc::physical_quantities::CLength &distance)
Set the distance.
void displayInfo(const swift::misc::geo::CCoordinateGeodetic &relPos=swift::misc::geo::CCoordinateGeodetic::null())
Display coordinate info.
swift::misc::geo::CCoordinateGeodetic getRelativeCoordinate(const swift::misc::physical_quantities::CAngle &bearingOffset=swift::misc::physical_quantities::CAngle::null()) const
Relative coordinate based on entered data.
virtual ~CRelativeAircraftPosition()
Destructor.
virtual void setReadOnly(bool readOnly)
Set editable.
CCoordinateGeodetic calculatePosition(const physical_quantities::CLength &distance, const physical_quantities::CAngle &relBearing) const
Calculate a position in distance/bearing.
virtual bool isNull() const
Is null?
QString toQString(bool i18n=false) const
Cast as QString.
Physical unit angle (radians, degrees)
Physical unit length (length)
int valueInteger(MU unit) const
As integer value.
bool isNull() const
Is quantity null?