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
cqsp::common::systems Namespace Reference

Namespaces

namespace  commands
 
namespace  history
 
namespace  lambert
 
namespace  simulation
 
namespace  universegenerator
 

Classes

struct  EconomyConfig
 
class  InfrastructureSim
 
class  ISimulationSystem
 
class  SysAgent
 
class  SysInterplanetaryTrade
 
class  SysMarket
 
class  SysMarketReset
 
class  SysOrbit
 
class  SysPlanetaryTrade
 
class  SysPopulationConsumption
 
class  SysPopulationGrowth
 
class  SysProduction
 
class  SysScienceLab
 
class  SysScript
 Runs scripts that are added to the game More...
 
class  SysSpacePort
 
class  SysTechProgress
 
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_tHohmannTransfer (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 ProcessIndustries (Node &node)
 Runs the production cycle Consumes material from the market based on supply and then sells the manufactured goods on the market. More...
 

Function Documentation

◆ CircularizeAtApoapsis()

components::Maneuver_t cqsp::common::systems::CircularizeAtApoapsis ( const Orbit orbit)

◆ CircularizeAtPeriapsis()

components::Maneuver_t cqsp::common::systems::CircularizeAtPeriapsis ( const Orbit orbit)

◆ CoplanarIntercept()

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

◆ GetBodyVelocityVectorInOrbitPlane()

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

◆ GetBodyVelocityVectorInOrbitPlaneTrueAnomaly()

double cqsp::common::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::common::systems::HohmannTransfer ( const Orbit orbit,
double  altitude 
)

◆ MatchPlanes()

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

◆ ProcessIndustries()

void cqsp::common::systems::ProcessIndustries ( Node node)

Runs the production cycle Consumes material from the market based on supply and then sells the manufactured goods on the market.

Parameters
universeRegistry used for searching for components
entityEntity containing an Inudstries that need to be processed
marketThe market the industry uses.

◆ SetApoapsis()

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

◆ SetCircularInclination()

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

◆ SetInclination()

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

◆ SetPeriapsis()

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

◆ TransferFromBody()

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

Transfers

◆ UnsafeHohmannTransfer()

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