+ // Return the altitude above ground below the wgs84 point pt
+ // Search for the nearest triangle to pt.
+ // Return ground properties like the ground type, the maximum load
+ // this kind kind of ground can carry, the friction factor between
+ // 0 and 1 which can be used to model lower friction with wet runways
+ // and finally the altitude above ground.
+ bool get_agl_m(double t, const double pt[3],
+ double contact[3], double normal[3], double vel[3],
+ int *type, double *loadCapacity,
+ double *frictionFactor, double *agl);
+ bool get_agl_ft(double t, const double pt[3],
+ double contact[3], double normal[3], double vel[3],
+ int *type, double *loadCapacity,
+ double *frictionFactor, double *agl);
+ bool get_agl_m(double t, const double pt[3], double max_altoff,
+ double contact[3], double normal[3], double vel[3],
+ int *type, double *loadCapacity,
+ double *frictionFactor, double *agl);
+ bool get_agl_ft(double t, const double pt[3], double max_altoff,
+ double contact[3], double normal[3], double vel[3],
+ int *type, double *loadCapacity,
+ double *frictionFactor, double *agl);
+ double get_groundlevel_m(double lat, double lon, double alt);
+
+
+ // Return 1 if the hook intersects with a wire.
+ // That test is done by checking if the quad spanned by the points pt*
+ // intersects with the line representing the wire.
+ // If the wire is caught, the cache will trace this wires endpoints until
+ // the FDM calls release_wire().
+ bool caught_wire_m(double t, const double pt[4][3]);
+ bool caught_wire_ft(double t, const double pt[4][3]);
+
+ // Return the location and speed of the wire endpoints.
+ bool get_wire_ends_m(double t, double end[2][3], double vel[2][3]);
+ bool get_wire_ends_ft(double t, double end[2][3], double vel[2][3]);