34#ifndef FGGROUNDCALLBACK_H
35#define FGGROUNDCALLBACK_H
108 virtual void SetEllipse(
double semimajor,
double semiminor) {}
129 a(semiMajor), b(semiMinor) {}
137 { mTerrainElevation = h; }
140 { a = semimajor; b = semiminor; }
144 double mTerrainElevation = 0.0;
This class implements a 3 element column vector.
FGDefaultGroundCallback(double semiMajor, double semiMinor)
double GetAGLevel(double t, const FGLocation &location, FGLocation &contact, FGColumnVector3 &normal, FGColumnVector3 &v, FGColumnVector3 &w) const override
Compute the altitude above ground.
void SetEllipse(double semimajor, double semiminor) override
Set the planet semimajor and semiminor axes.
void SetTerrainElevation(double h) override
Set the terrain elevation.
virtual void SetTerrainElevation(double h)
Set the terrain elevation.
void SetTime(double _time)
Set the simulation time.
virtual void SetEllipse(double semimajor, double semiminor)
Set the planet semimajor and semiminor axes.
virtual ~FGGroundCallback()
virtual double GetAGLevel(const FGLocation &location, FGLocation &contact, FGColumnVector3 &normal, FGColumnVector3 &v, FGColumnVector3 &w) const
Compute the altitude above ground.
virtual double GetAGLevel(double t, const FGLocation &location, FGLocation &contact, FGColumnVector3 &normal, FGColumnVector3 &v, FGColumnVector3 &w) const =0
Compute the altitude above ground.
FGLocation holds an arbitrary location in the Earth centered Earth fixed reference frame (ECEF).