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.
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cqsp::common::util::OrbitGenerator Class Reference

#include <randomorbit.h>

Public Member Functions

 OrbitGenerator (double position, double velocity)
 
 OrbitGenerator (glm::dvec3 position, glm::dvec3 velocity)
 
 OrbitGenerator (double distribution)
 
common::components::types::Orbit GenerateOrbit (double GM, double time)
 
std::pair< glm::dvec3, glm::dvec3 > GenerateVectors ()
 

Private Member Functions

double RandomValue (double range)
 
glm::dvec3 RandomVector (const glm::dvec3 &range)
 

Private Attributes

glm::dvec3 position_distribution
 
glm::dvec3 velocity_distribution
 
std::random_device random_device
 
std::mt19937 gen
 

Constructor & Destructor Documentation

◆ OrbitGenerator() [1/3]

cqsp::common::util::OrbitGenerator::OrbitGenerator ( double  position,
double  velocity 
)
inline

◆ OrbitGenerator() [2/3]

cqsp::common::util::OrbitGenerator::OrbitGenerator ( glm::dvec3  position,
glm::dvec3  velocity 
)
inline

◆ OrbitGenerator() [3/3]

cqsp::common::util::OrbitGenerator::OrbitGenerator ( double  distribution)
inline

Member Function Documentation

◆ GenerateOrbit()

common::components::types::Orbit cqsp::common::util::OrbitGenerator::GenerateOrbit ( double  GM,
double  time 
)

◆ GenerateVectors()

std::pair< glm::dvec3, glm::dvec3 > cqsp::common::util::OrbitGenerator::GenerateVectors ( )

Generates a position and velocity pair.

◆ RandomValue()

double cqsp::common::util::OrbitGenerator::RandomValue ( double  range)
private

◆ RandomVector()

glm::dvec3 cqsp::common::util::OrbitGenerator::RandomVector ( const glm::dvec3 &  range)
private

Member Data Documentation

◆ gen

std::mt19937 cqsp::common::util::OrbitGenerator::gen
private

◆ position_distribution

glm::dvec3 cqsp::common::util::OrbitGenerator::position_distribution
private

◆ random_device

std::random_device cqsp::common::util::OrbitGenerator::random_device
private

◆ velocity_distribution

glm::dvec3 cqsp::common::util::OrbitGenerator::velocity_distribution
private

The documentation for this class was generated from the following files: