|
|
|
|
@ -4,13 +4,8 @@
|
|
|
|
|
#include "physics.h" |
|
|
|
|
#include "orbital_mechanics.h" |
|
|
|
|
|
|
|
|
|
// Forward declarations
|
|
|
|
|
struct SimulationState; |
|
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
|
// Rendezvous Types
|
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
|
|
enum RendezvousState { |
|
|
|
|
RENDEZVOUS_NONE, |
|
|
|
|
RENDEZVOUS_PLANNING, |
|
|
|
|
@ -20,7 +15,8 @@ enum RendezvousState {
|
|
|
|
|
RENDEZVOUS_FAILED |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
struct RendezvousTarget { // Active rendezvous target configuration
|
|
|
|
|
// Represents a spacecraft or probe in the simulation.
|
|
|
|
|
struct RendezvousTarget { |
|
|
|
|
int target_index; // Index of target spacecraft/body
|
|
|
|
|
RendezvousState state; // Current rendezvous state
|
|
|
|
|
double approach_distance; // Distance to start approach phase (m)
|
|
|
|
|
@ -30,10 +26,10 @@ struct RendezvousTarget { // Active rendezvous target configuration
|
|
|
|
|
bool is_spacecraft_target; // True if target is spacecraft, false if body
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
|
// Celestial Body Structure
|
|
|
|
|
|
|
|
|
|
struct CelestialBody { // Gravitational body in the simulation
|
|
|
|
|
// Represents a planet, star, moon, or other gravitational body in the
|
|
|
|
|
// simulation. Supports hierarchical orbital mechanics with parent-child
|
|
|
|
|
// relationships and sphere of influence calculations.
|
|
|
|
|
struct CelestialBody { |
|
|
|
|
char name[64]; |
|
|
|
|
double mass; // kg
|
|
|
|
|
double radius; // meters
|
|
|
|
|
|