2005-02-17 10:37:26 +00:00
|
|
|
#include "Glue.hpp"
|
|
|
|
|
2007-01-17 20:42:39 +00:00
|
|
|
#include <simgear/scene/material/mat.hxx>
|
2005-02-17 10:37:26 +00:00
|
|
|
#include "Ground.hpp"
|
|
|
|
namespace yasim {
|
|
|
|
|
|
|
|
Ground::Ground()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
Ground::~Ground()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void Ground::getGroundPlane(const double pos[3],
|
|
|
|
double plane[4], float vel[3])
|
|
|
|
{
|
|
|
|
// ground. Calculate a cartesian coordinate for the ground under
|
|
|
|
// us, find the (geodetic) up vector normal to the ground, then
|
|
|
|
// use that to find the final (radius) term of the plane equation.
|
|
|
|
float up[3];
|
|
|
|
Glue::geodUp((double*)pos, up);
|
|
|
|
int i;
|
|
|
|
for(i=0; i<3; i++) plane[i] = up[i];
|
|
|
|
plane[3] = plane[0]*pos[0] + plane[1]*pos[1] + plane[2]*pos[2];
|
|
|
|
|
|
|
|
vel[0] = 0.0;
|
|
|
|
vel[1] = 0.0;
|
|
|
|
vel[2] = 0.0;
|
|
|
|
}
|
|
|
|
|
2007-01-17 20:42:39 +00:00
|
|
|
void Ground::getGroundPlane(const double pos[3],
|
|
|
|
double plane[4], float vel[3],
|
|
|
|
int *type, const SGMaterial **material)
|
|
|
|
{
|
|
|
|
getGroundPlane(pos,plane,vel);
|
|
|
|
}
|
|
|
|
|
2005-02-17 10:37:26 +00:00
|
|
|
bool Ground::caughtWire(const double pos[4][3])
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Ground::getWire(double end[2][3], float vel[2][3])
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Ground::releaseWire(void)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
float Ground::getCatapult(const double pos[3], double end[2][3],
|
|
|
|
float vel[2][3])
|
|
|
|
{
|
|
|
|
return 1e10;
|
|
|
|
}
|
|
|
|
|
|
|
|
}; // namespace yasim
|
|
|
|
|