2005-02-17 10:37:26 +00:00
|
|
|
#ifndef _FGGROUND_HPP
|
|
|
|
#define _FGGROUND_HPP
|
|
|
|
|
|
|
|
#include "Ground.hpp"
|
|
|
|
|
|
|
|
class FGInterface;
|
2007-01-17 20:42:39 +00:00
|
|
|
class SGMaterial;
|
2005-02-17 10:37:26 +00:00
|
|
|
|
|
|
|
namespace yasim {
|
|
|
|
|
|
|
|
// The XYZ coordinate system has Z as the earth's axis, the Y axis
|
|
|
|
// pointing out the equator at zero longitude, and the X axis pointing
|
|
|
|
// out the middle of the western hemisphere.
|
|
|
|
class FGGround : public Ground {
|
|
|
|
public:
|
|
|
|
FGGround(FGInterface *iface);
|
|
|
|
virtual ~FGGround();
|
|
|
|
|
|
|
|
virtual void getGroundPlane(const double pos[3],
|
|
|
|
double plane[4], float vel[3]);
|
|
|
|
|
2007-01-17 20:42:39 +00:00
|
|
|
virtual void getGroundPlane(const double pos[3],
|
|
|
|
double plane[4], float vel[3],
|
|
|
|
int *type, const SGMaterial **material);/*
|
|
|
|
double *frictionFactor,
|
|
|
|
double *rollingFriction,
|
|
|
|
double *loadCapacity,
|
|
|
|
double *loadResistance,
|
|
|
|
double *bumpiness,
|
|
|
|
bool *isSolid);*/
|
|
|
|
|
2005-02-17 10:37:26 +00:00
|
|
|
virtual bool caughtWire(const double pos[4][3]);
|
|
|
|
|
|
|
|
virtual bool getWire(double end[2][3], float vel[2][3]);
|
|
|
|
|
|
|
|
virtual void releaseWire(void);
|
|
|
|
|
|
|
|
virtual float getCatapult(const double pos[3],
|
|
|
|
double end[2][3], float vel[2][3]);
|
|
|
|
|
|
|
|
void setTimeOffset(double toff);
|
|
|
|
|
|
|
|
private:
|
|
|
|
FGInterface *_iface;
|
|
|
|
double _toff;
|
|
|
|
};
|
|
|
|
|
|
|
|
}; // namespace yasim
|
|
|
|
#endif // _FGGROUND_HPP
|