]> git.mxchange.org Git - flightgear.git/blob - src/FDM/YASim/FGGround.hpp
Maik JUSTUS: (OK'ed by Andy)
[flightgear.git] / src / FDM / YASim / FGGround.hpp
1 #ifndef _FGGROUND_HPP
2 #define _FGGROUND_HPP
3
4 #include "Ground.hpp"
5
6 class FGInterface;
7 class SGMaterial;
8
9 namespace yasim {
10
11 // The XYZ coordinate system has Z as the earth's axis, the Y axis
12 // pointing out the equator at zero longitude, and the X axis pointing
13 // out the middle of the western hemisphere.
14 class FGGround : public Ground {
15 public:
16     FGGround(FGInterface *iface);
17     virtual ~FGGround();
18
19     virtual void getGroundPlane(const double pos[3],
20                                 double plane[4], float vel[3]);
21
22     virtual void getGroundPlane(const double pos[3],
23                               double plane[4], float vel[3],
24                               int *type, const SGMaterial **material);/*
25                               double *frictionFactor, 
26                               double *rollingFriction,
27                               double *loadCapacity,
28                               double *loadResistance,
29                               double *bumpiness,
30                               bool *isSolid);*/
31
32     virtual bool caughtWire(const double pos[4][3]);
33
34     virtual bool getWire(double end[2][3], float vel[2][3]);
35
36     virtual void releaseWire(void);
37
38     virtual float getCatapult(const double pos[3],
39                               double end[2][3], float vel[2][3]);
40
41     void setTimeOffset(double toff);
42
43 private:
44     FGInterface *_iface;
45     double _toff;
46 };
47
48 }; // namespace yasim
49 #endif // _FGGROUND_HPP