49 #include "../../BODYPHYS.h"
50 #include "../../TGTPARAM.h"
51 #include "SHIP_PARAMS.h"
52 #include "../../../lib/Systems/Systems.hpp"
53 #include "Satellite.h"
70 EnjoLib::Spherical CalculateSatellitePosition();
71 bool IsNodeInFrontOfShip();
72 EnjoLib::Vect3 CalcNode( );
73 double CalcAngDistToNode(
const EnjoLib::Spherical & sph );
74 double CalcAngDistStartPosToNode();
76 double CalcAngDistInPlane(
const EnjoLib::Spherical & shPos,
const EnjoLib::Spherical & satPos );
77 double CalcTimeToNodeOnGround();
81 virtual bool InitInternalVars() = 0;
82 virtual double GetShipsInitialAcceleration() = 0;
84 void UpdateGreatCircleShip();
85 void UpdateGreatCircleSatellite();
86 void UpdatePlaneMomentumShip();
87 void UpdatePlaneMomentumSatellite();
89 double CalcSatFullRevolutionTime();
90 double CalcPlaneRotationLongitude(
double waitingTime );
93 EnjoLib::Spherical CalcPointOnWholeGreatCircle(
double angRatio,
double r,
double latStart,
double lonStart,
bool bSatellite =
false );
95 double CalcAngDistOfPlanes(
const EnjoLib::Spherical & sph, EnjoLib::Vect3 v3SatPlaneN );
96 double CalculateAsymptore(
const EnjoLib::Spherical & sphPos);
97 EnjoLib::Vect3 CalcShipVel3D(
const EnjoLib::Vect3 & shPos);
98 EnjoLib::Point ConvertShipVel3Dto2D(
const EnjoLib::Spherical & sphPos,
const EnjoLib::Vect3 & shVel3D);
99 EnjoLib::Vect3 ConvertShipVel2Dto3D(
const EnjoLib::Spherical & sphPos,
const EnjoLib::Point & shVel2D);
100 EnjoLib::Vect3 Get2dPlaneY();
101 EnjoLib::Vect3 Get2dPlaneX(
const EnjoLib::Spherical & sphPos);
118 void main_loop_finalise();
123 static const int max_i;
128 bool fuelEfSolNotPossible;
130 double initial_rotation_vel;
131 double initial_rotation_vel_wlat;
137 double distanceShipSatFinal;
145 double target_radius;
146 EnjoLib::Point tgt_orbit_v2_ref;
147 double tgt_orbit_v2_ref_module;
150 double sshx_excession;
154 double latStart, lonStart, lonCurrent;
156 double debug, debug2, debug3, debug4, debug5;