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

Namespaces

namespace  actions
 
namespace  economy
 
namespace  history
 
namespace  loading
 
namespace  names
 
namespace  resource
 
namespace  science
 
namespace  simulation
 
namespace  universegenerator
 

Classes

class  InfrastructureSim
 
class  ISimulationSystem
 
class  SysAgent
 
class  SysMarket
 
class  SysNavyControl
 
class  SysOrbit
 
class  SysPath
 
class  SysPopulationConsumption
 
class  SysPopulationGrowth
 
class  SysProduction
 
class  SysScienceLab
 
class  SysScript
 Runs scripts that are added to the game More...
 
class  SysSurface
 
class  SysTechProgress
 
class  SysTrade
 
class  SysWalletReset
 

Typedefs

typedef std::pair< glm::dvec3, double > Maneuver_t
 
typedef std::pair< Maneuver_t, Maneuver_tHohmannPair_t
 

Functions

bool BuyGood (components::AuctionHouse &auction_house, entt::entity agent, entt::entity good, double price, double quantity)
 Buys a good from the market More...
 
bool SellGood (components::AuctionHouse &auction_house, entt::entity agent, entt::entity good, double price, double quantity)
 Sells a good to the market More...
 
HohmannPair_t UnsafeHohmannTransfer (const components::types::Orbit &orbit, double altitude)
 
std::optional< HohmannPair_tHohmannTransfer (const components::types::Orbit &orbit, double altitude)
 
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)
 
HohmannPair_t CoplanarIntercept (const components::types::Orbit &start_orbit, const components::types::Orbit &end_orbit, double epoch)
 
void LeaveSOI (Universe &universe, const entt::entity &body, entt::entity &parent, cqspt::Orbit &orb, cqspt::Kinematics &pos, cqspt::Kinematics &p_pos)
 
bool EnterSOI (Universe &universe, const entt::entity &parent, const entt::entity &body)
 Change the current body's SOI into a child SOI More...
 
void LeaveSOI (Universe &universe, const entt::entity &body)
 Sets the SOI of the entity to the parent More...
 
uint64_t GetCityPopulation (const Universe &universe, entt::entity city)
 

Typedef Documentation

◆ HohmannPair_t

◆ Maneuver_t

typedef std::pair<glm::dvec3, double> cqsp::common::systems::Maneuver_t

Function Documentation

◆ BuyGood()

bool cqsp::common::systems::BuyGood ( components::AuctionHouse auction_house,
entt::entity  agent,
entt::entity  good,
double  price,
double  quantity 
)

Buys a good from the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a buy order is placed.

◆ CircularizeAtApoapsis()

std::pair< glm::dvec3, double > cqsp::common::systems::CircularizeAtApoapsis ( const Orbit orbit)

◆ CircularizeAtPeriapsis()

std::pair< glm::dvec3, double > cqsp::common::systems::CircularizeAtPeriapsis ( const Orbit orbit)

◆ CoplanarIntercept()

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

◆ EnterSOI()

bool cqsp::common::systems::EnterSOI ( Universe universe,
const entt::entity &  parent,
const entt::entity &  body 
)

Change the current body's SOI into a child SOI

Parameters
universe
parent
bodyBody that we want to check if it's entering a SOI

◆ GetCityPopulation()

uint64_t cqsp::common::systems::GetCityPopulation ( const Universe universe,
entt::entity  city 
)

◆ HohmannTransfer()

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

◆ LeaveSOI() [1/2]

void cqsp::common::systems::LeaveSOI ( Universe universe,
const entt::entity &  body 
)

Sets the SOI of the entity to the parent

Parameters
universe
bodyNeeds to have a Body and Orbit parameter

◆ LeaveSOI() [2/2]

void cqsp::common::systems::LeaveSOI ( Universe universe,
const entt::entity &  body,
entt::entity &  parent,
cqspt::Orbit orb,
cqspt::Kinematics pos,
cqspt::Kinematics p_pos 
)

◆ MatchPlanes()

std::pair< glm::dvec3, double > cqsp::common::systems::MatchPlanes ( const Orbit orbit,
const Orbit target 
)

◆ SellGood()

bool cqsp::common::systems::SellGood ( components::AuctionHouse auction_house,
entt::entity  agent,
entt::entity  good,
double  price,
double  quantity 
)

Sells a good to the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a sell order is placed.

◆ SetApoapsis()

std::pair< glm::dvec3, double > cqsp::common::systems::SetApoapsis ( const Orbit orbit,
double  altitude 
)

◆ SetCircularInclination()

std::pair< glm::dvec3, double > cqsp::common::systems::SetCircularInclination ( const Orbit orbit,
double  inclination 
)

◆ SetInclination()

std::pair< glm::dvec3, double > cqsp::common::systems::SetInclination ( const Orbit orbit,
double  inclination 
)

◆ SetPeriapsis()

std::pair< glm::dvec3, double > cqsp::common::systems::SetPeriapsis ( const Orbit orbit,
double  altitude 
)

◆ UnsafeHohmannTransfer()

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