Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
Namespaces | Classes | Functions | Variables
cqsp::core::systems Namespace Reference

Namespaces

namespace  commands
 
namespace  history
 
namespace  lambert
 
namespace  simulation
 
namespace  universegenerator
 

Classes

struct  EconomyConfig
 
class  InfrastructureSim
 
class  ISimulationSystem
 
class  SysInterplanetaryTrade
 
class  SysLaborDistribution
 
class  SysLaborMarket
 
class  SysLaunchVehicleProduction
 
class  SysMarket
 
class  SysMarketReset
 
class  SysOrbit
 
class  SysPlanetaryTrade
 
class  SysPopulationConsumption
 
class  SysProduction
 
class  SysScript
 Runs scripts that are added to the game More...
 
class  SysSpacePort
 
class  SysWalletReset
 

Functions

std::pair< glm::dvec3, double > CircularizeAtApoapsis (const Orbit &orbit)
 
std::pair< glm::dvec3, double > CircularizeAtPeriapsis (const Orbit &orbit)
 
std::pair< glm::dvec3, double > SetApoapsis (const Orbit &orbit, double altitude)
 
std::pair< glm::dvec3, double > SetPeriapsis (const Orbit &orbit, double altitude)
 
std::pair< glm::dvec3, double > SetInclination (const Orbit &orbit, double inclination)
 
std::pair< glm::dvec3, double > SetCircularInclination (const Orbit &orbit, double inclination)
 
std::pair< glm::dvec3, double > MatchPlanes (const Orbit &orbit, const Orbit &target)
 
components::HohmannPair_t UnsafeHohmannTransfer (const Orbit &orbit, double altitude)
 
std::optional< components::HohmannPair_t > HohmannTransfer (const Orbit &orbit, double altitude)
 
components::HohmannPair_t CoplanarIntercept (const Orbit &start_orbit, const Orbit &end_orbit, double epoch)
 
components::Maneuver_t TransferFromBody (Universe &universe, const components::types::Orbit &orbit, const components::types::Kinematics &kinematics, double altitude)
 
glm::dvec3 GetBodyVelocityVectorInOrbitPlane (const components::types::Orbit &orbit, const components::types::Kinematics &body_kinematics)
 
double GetBodyVelocityVectorInOrbitPlaneTrueAnomaly (const components::types::Orbit &orbit, const components::types::Kinematics &kinematics, const components::types::Kinematics &orbiting_kinematics)
 
void ApplyModifier (Universe &universe, entt::entity modifier_entity, entt::entity target_entity)
 
void RemoveModifier (Universe &universe, entt::entity modifier_entity, entt::entity target_entity)
 

Variables

const int ECONOMIC_TICK = components::StarDate::DAY
 

Function Documentation

◆ ApplyModifier()

void cqsp::core::systems::ApplyModifier ( Universe &  universe,
entt::entity  modifier_entity,
entt::entity  target_entity 
)

◆ CircularizeAtApoapsis()

components::Maneuver_t cqsp::core::systems::CircularizeAtApoapsis ( const Orbit &  orbit)

◆ CircularizeAtPeriapsis()

components::Maneuver_t cqsp::core::systems::CircularizeAtPeriapsis ( const Orbit &  orbit)

◆ CoplanarIntercept()

components::HohmannPair_t cqsp::core::systems::CoplanarIntercept ( const Orbit &  start_orbit,
const Orbit &  end_orbit,
double  epoch 
)

◆ GetBodyVelocityVectorInOrbitPlane()

glm::dvec3 cqsp::core::systems::GetBodyVelocityVectorInOrbitPlane ( const components::types::Orbit &  orbit,
const components::types::Kinematics &  body_kinematics 
)

◆ GetBodyVelocityVectorInOrbitPlaneTrueAnomaly()

double cqsp::core::systems::GetBodyVelocityVectorInOrbitPlaneTrueAnomaly ( const components::types::Orbit &  orbit,
const components::types::Kinematics &  kinematics,
const components::types::Kinematics &  orbiting_kinematics 
)

Gets the true anomaly of the velocity vector projected onto the body plane.

Projects the velocity vector onto the orbital plane, and gets the true anomaly of that with reference to the orbit.

Parameters
orbitorbit to define the orbital plane
kinematicskinematics of the orbit
orbiting_kinematicsKinematics of the orbiting body

◆ HohmannTransfer()

std::optional< components::HohmannPair_t > cqsp::core::systems::HohmannTransfer ( const Orbit &  orbit,
double  altitude 
)

◆ MatchPlanes()

components::Maneuver_t cqsp::core::systems::MatchPlanes ( const Orbit &  orbit,
const Orbit &  target 
)

◆ RemoveModifier()

void cqsp::core::systems::RemoveModifier ( Universe &  universe,
entt::entity  modifier_entity,
entt::entity  target_entity 
)

◆ SetApoapsis()

components::Maneuver_t cqsp::core::systems::SetApoapsis ( const Orbit &  orbit,
double  altitude 
)

◆ SetCircularInclination()

components::Maneuver_t cqsp::core::systems::SetCircularInclination ( const Orbit &  orbit,
double  inclination 
)

◆ SetInclination()

components::Maneuver_t cqsp::core::systems::SetInclination ( const Orbit &  orbit,
double  inclination 
)

◆ SetPeriapsis()

components::Maneuver_t cqsp::core::systems::SetPeriapsis ( const Orbit &  orbit,
double  altitude 
)

◆ TransferFromBody()

components::Maneuver_t cqsp::core::systems::TransferFromBody ( Universe &  universe,
const components::types::Orbit &  orbit,
const components::types::Kinematics &  kinematics,
double  altitude 
)

Transfers

◆ UnsafeHohmannTransfer()

components::HohmannPair_t cqsp::core::systems::UnsafeHohmannTransfer ( const Orbit &  orbit,
double  altitude 
)

Variable Documentation

◆ ECONOMIC_TICK

const int cqsp::core::systems::ECONOMIC_TICK = components::StarDate::DAY