]> git.mxchange.org Git - flightgear.git/blob - src/Instrumentation/agradar.hxx
abdf18e9ee4a16e34490f8c35b4a5e10bb94d03f
[flightgear.git] / src / Instrumentation / agradar.hxx
1 // Air Ground Radar
2 //
3 // Written by Vivian MEAZZA, started Feb 2008.
4 // 
5 //
6 // Copyright (C) 2008  Vivain MEAZZA - vivian.meazza@lineone.net
7 //
8 // This program is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU General Public License as
10 // published by the Free Software Foundation; either version 2 of the
11 // License, or (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful, but
14 // WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 // General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 //
22 //
23
24 #ifndef _INST_AGRADAR_HXX
25 #define _INST_AGRADAR_HXX
26
27 #include <simgear/structure/subsystem_mgr.hxx>
28 #include <Scenery/scenery.hxx>
29 #include <simgear/scene/material/mat.hxx>
30
31 #include "wxradar.hxx"
32
33 class agRadar : public wxRadarBg{
34 public:
35
36     agRadar ( SGPropertyNode *node );
37     agRadar ();
38     virtual ~agRadar ();
39
40     virtual void init ();
41     virtual void update (double dt);
42
43     void setUserPos();
44     void setUserVec(int az, double el);
45     void update_terrain();
46     void setAntennaPos();
47
48     bool getMaterial();
49
50     double _load_resistance;    // ground load resistanc N/m^2
51     double _frictionFactor;     // dimensionless modifier for Coefficient of Friction
52     double _bumpinessFactor;    // dimensionless modifier for Bumpiness
53     double _elevation_m;        // ground elevation in meters
54     bool   _solid;              // if true ground is solid for FDMs
55
56     const SGMaterial* _material;
57
58     string _mat_name; // ground material
59
60     SGVec3d getCartUserPos() const;
61     SGVec3d getCartAntennaPos()const;
62
63     SGVec3d uservec;
64
65     SGPropertyNode_ptr _user_hdg_deg_node;
66     SGPropertyNode_ptr _user_roll_deg_node;
67     SGPropertyNode_ptr _user_pitch_deg_node;
68     SGPropertyNode_ptr _terrain_warning_node;
69
70     SGGeod userpos;
71     SGGeod hitpos;
72     SGGeod antennapos;
73 };
74
75 #endif // _INST_AGRADAR_HXX