dlgConfiguration: remove polar panel
[xcsoar.git] / src / Replay / AircraftSim.hpp
blobb218e49df9e8497f036a9d1cdb1a17e3a3ec02cf
1 /* Copyright_License {
3 XCSoar Glide Computer - http://www.xcsoar.org/
4 Copyright (C) 2000-2013 The XCSoar Project
5 A detailed list of copyright holders can be found in the file "AUTHORS".
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 #ifndef AIRCRAFT_SIM_HPP
23 #define AIRCRAFT_SIM_HPP
25 #include "Navigation/Aircraft.hpp"
27 class AircraftSim {
28 AircraftState state, state_last;
30 public:
31 const AircraftState& GetState() const {
32 return state;
34 const AircraftState& GetLastState() const {
35 return state_last;
37 AircraftState& GetState() {
38 return state;
41 void SetWind(const fixed speed, const Angle direction);
43 void Start(const GeoPoint& location_start,
44 const GeoPoint& location_last,
45 fixed altitude);
47 bool Update(const Angle heading, const fixed timestep=fixed(1));
49 fixed GetTime() const {
50 return state.time;
53 private:
54 void Integrate(const Angle heading, const fixed timestep);
56 GeoPoint GetEndPoint(const Angle heading, const fixed timestep) const;
59 #endif