double waypointAlertTime() const
{ return _waypointAlertTime; }
- bool tuneNavRadioToRefVor() const
- { return _tuneRadio1ToRefVor; }
-
bool requireHardSurface() const
{ return _requireHardSurface; }
double minRunwayLengthFt() const
{ return _minRunwayLengthFt; }
- double getExternalCourse() const;
-
- void setExternalCourse(double aCourseDeg);
-
bool cdiDeflectionIsAngular() const
{ return (_cdiMaxDeflectionNm <= 0.0); }
bool driveAutopilot() const
{ return _driveAutopilot; }
+
+ bool courseSelectable() const
+ { return _courseSelectable; }
private:
bool _enableTurnAnticipation;
// (in seconds)
double _waypointAlertTime;
- // should GPS automatically tune NAV1 to the reference VOR?
- bool _tuneRadio1ToRefVor;
-
// minimum runway length to require when filtering
double _minRunwayLengthFt;
// should we require a hard-surfaced runway when filtering?
bool _requireHardSurface;
- // helpers to tie course-source property
- const char* getCourseSource() const;
- void setCourseSource(const char* aPropPath);
-
- // property to retrieve the external course from
- SGPropertyNode_ptr _extCourseSource;
-
double _cdiMaxDeflectionNm;
+ // should we drive the autopilot directly or not?
bool _driveAutopilot;
+
+ // is selected-course-deg read to set desired-course or not?
+ bool _courseSelectable;
};
class SearchFilter : public FGPositioned::Filter
void updateTrackingBug();
void updateReferenceNavaid(double dt);
void referenceNavaidSet(const std::string& aNavaid);
- void tuneNavRadios();
void updateRouteData();
void driveAutopilot();
bool getScratchHasNext() const { return _searchHasNext; }
double getSelectedCourse() const { return _selectedCourse; }
+ void setSelectedCourse(double crs);
+ double getDesiredCourse() const { return _desiredCourse; }
+
double getCDIDeflection() const;
double getLegDistance() const;
SGPropertyNode_ptr _trip_odometer_node;
SGPropertyNode_ptr _true_bug_error_node;
SGPropertyNode_ptr _magnetic_bug_error_node;
+ SGPropertyNode_ptr _eastWestVelocity;
+ SGPropertyNode_ptr _northSouthVelocity;
SGPropertyNode_ptr _ref_navaid_id_node;
SGPropertyNode_ptr _ref_navaid_bearing_node;
SGPropertyNode_ptr _routeETE;
SGPropertyNode_ptr _routeEditedSignal;
SGPropertyNode_ptr _routeFinishedSignal;
-
+ SGPropertyNode_ptr _desiredCourseNode;
+
double _selectedCourse;
+ double _desiredCourse;
bool _dataValid;
SGGeod _last_pos;
double _last_speed_kts;
double _last_true_track;
double _last_vertical_speed;
+ double _lastEWVelocity;
+ double _lastNSVelocity;
std::string _mode;
GPSListener* _listener;
SGPropertyNode_ptr _realismSimpleGps; ///< should the GPS be simple or realistic?
// autopilot drive properties
+ SGPropertyNode_ptr _apDrivingFlag;
SGPropertyNode_ptr _apTrueHeading;
SGPropertyNode_ptr _apTargetAltitudeFt;
SGPropertyNode_ptr _apAltitudeLock;
- std::vector<SGPropertyNode*> _tiedNodes;
+ std::vector<SGPropertyNode_ptr> _tiedNodes;
};