10 : QObject (masterController)
12 , _masterController (masterController)
13 , _missionController(masterController->missionController())
14 , _controllerVehicle(masterController->controllerVehicle())
20 : QObject (other._masterController)
28void VisualMissionItem::_commonInit(
void)
32 if (controllerVehicle->
vehicleType() != MAV_TYPE_SUBMARINE && controllerVehicle->
vehicleType() != MAV_TYPE_SURFACE_BOAT) {
33 _updateTerrainTimer.setInterval(500);
34 _updateTerrainTimer.setSingleShot(
true);
35 connect(&_updateTerrainTimer, &QTimer::timeout,
this, &VisualMissionItem::_reallyUpdateTerrainAltitude);
158void VisualMissionItem::_updateTerrainAltitude(
void)
170 _updateTerrainTimer.start();
174void VisualMissionItem::_reallyUpdateTerrainAltitude(
void)
178 _lastLatTerrainQuery = coord.latitude();
179 _lastLonTerrainQuery = coord.longitude();
180 if (_currentTerrainAtCoordinateQuery) {
182 _currentTerrainAtCoordinateQuery =
nullptr;
186 QList<QGeoCoordinate> rgCoord;
188 _currentTerrainAtCoordinateQuery->
requestData(rgCoord);
192void VisualMissionItem::_terrainDataReceived(
bool success, QList<double> heights)
196 _currentTerrainAtCoordinateQuery =
nullptr;
Master controller for mission, fence, rally.
Vehicle * controllerVehicle(void)
NOTE: TerrainAtCoordinateQuery is not thread safe. All instances/calls to ElevationProvider must be o...
void terrainDataReceived(bool success, const QList< double > &heights)
void requestData(const QList< QGeoCoordinate > &coordinates)
MAV_TYPE vehicleType() const
void _amslExitAltChanged(void)
void setIsCurrentItem(bool isCurrentItem)
void setDistanceFromStart(double distanceFromStart)
void setHasCurrentChildItem(bool hasCurrentChildItem)
PlanMasterController * _masterController
VisualMissionItem * _parentItem
bool _homePositionSpecialCase
true: This item is being used as a ui home position indicator
void distanceChanged(double distance)
void _setBoundingCube(QGCGeoBoundingCube bc)
void setTerrainCollision(bool terrainCollision)
void setAltDifference(double altDifference)
void setMissionVehicleYaw(double vehicleYaw)
bool _hasCurrentChildItem
bool hasCurrentChildItem(void) const
void amslExitAltChanged(double alt)
double altDifference(void) const
virtual double amslExitAlt(void) const =0
void setParentItem(VisualMissionItem *parentItem)
void terrainAltitudeChanged(double terrainAltitude)
void isCurrentItemChanged(bool isCurrentItem)
void terrainCollisionChanged(bool terrainCollision)
void azimuthChanged(double azimuth)
void setWizardMode(bool wizardMode)
bool isCurrentItem(void) const
double _distanceFromStart
Flight path cumalative horizontal distance from home point to this item.
double altPercent(void) const
void coordinateChanged(const QGeoCoordinate &coordinate)
double terrainPercent(void) const
void setDistance(double distance)
void missionGimbalYawChanged(double missionGimbalYaw)
virtual double amslEntryAlt(void) const =0
void setAltPercent(double altPercent)
Vehicle * _controllerVehicle
double distance(void) const
void altDifferenceChanged(double altDifference)
void amslEntryAltChanged(double alt)
void setTerrainPercent(double terrainPercent)
virtual void setMissionFlightStatus(MissionController::MissionFlightStatus_t &missionFlightStatus)
double _terrainAltitude
Altitude of terrain at coordinate position, NaN for not known.
double _terrainPercent
Percent of terrain altitude for coordinate.
double _altDifference
Difference in altitude from previous waypoint.
void parentItemChanged(VisualMissionItem *parentItem)
double distanceFromStart(void) const
bool _wizardMode
true: Item editor is showing wizard completion panel
void _amslEntryAltChanged(void)
bool wizardMode(void) const
virtual QGeoCoordinate coordinate(void) const =0
void boundingCubeChanged(void)
void previousVTOLModeChanged(void)
QGCMAVLink::VehicleClass_t _previousVTOLMode
Generic == unknown.
VisualMissionItem(PlanMasterController *masterController, bool flyView)
virtual void setDirty(bool dirty)=0
double _distance
Distance to previous waypoint.
virtual bool specifiesCoordinate(void) const =0
void setAzimuth(double azimuth)
QGCGeoBoundingCube _boundingCube
The bounding "cube" of this element.
bool _terrainCollision
true: item collides with terrain
const VisualMissionItem & operator=(const VisualMissionItem &other)
void wizardModeChanged(bool wizardMode)
void hasCurrentChildItemChanged(bool hasCurrentChildItem)
void altPercentChanged(double altPercent)
double _altPercent
Percent of total altitude change in mission.
VisualMissionItem * parentItem(void)
double azimuth(void) const
bool terrainCollision(void) const
void missionVehicleYawChanged(double missionVehicleYaw)
double _azimuth
Azimuth to previous waypoint.
double _missionVehicleYaw
void terrainPercentChanged(double terrainPercent)
void distanceFromStartChanged(double distanceFromStart)
bool fuzzyCompare(double value1, double value2)
Returns true if the two values are equal or close. Correctly handles 0 and NaN values.
QGCMAVLink::VehicleClass_t vtolMode
Either VehicleClassFixedWing, VehicleClassMultiRotor, VehicleClassGeneric (mode unknown)
double gimbalYaw
NaN signals yaw was never changed.