Pioneer
Loading...
Searching...
No Matches
Classes | Public Member Functions | Friends | List of all members
SystemBody Class Reference

#include <SystemBody.h>

Inheritance diagram for SystemBody:
Inheritance graph
[legend]
Collaboration diagram for SystemBody:
Collaboration graph
[legend]

Classes

class  EditorAPI
 

Public Member Functions

 SystemBody (const SystemPath &path, StarSystem *system)
 
const SystemPathGetPath () const
 
SystemBodyGetParent () const
 
bool IsPlanet () const
 
bool IsMoon () const
 
bool IsJumpable () const
 
SystemBodyGetNearestJumpable (double atTime)
 
bool HasChildren () const
 
Uint32 GetNumChildren () const
 
IterationProxy< std::vector< SystemBody * > > GetChildren ()
 
const IterationProxy< const std::vector< SystemBody * > > GetChildren () const
 
const std::vector< SystemBody * > CollectAllChildren ()
 
const std::string & GetName () const
 
std::string GetAstroDescription () const
 
const char * GetIcon () const
 
BodyType GetType () const
 
BodySuperType GetSuperType () const
 
bool IsCustomBody () const
 
bool IsCoOrbitalWith (const SystemBody *other) const
 
bool IsCoOrbital () const
 
fixed GetRadiusAsFixed () const
 
double GetRadius () const
 
double GetEquatorialRadius () const
 
double GetAspectRatio () const
 
fixed GetMassAsFixed () const
 
double GetMass () const
 
fixed GetMassInEarths () const
 
bool IsRotating () const
 
double GetRotationPeriodInDays () const
 
fixed GetRotationPeriodAsFixed () const
 
double GetRotationPeriod () const
 
bool HasRotationPhase () const
 
double GetRotationPhaseAtStart () const
 
double GetAxialTilt () const
 
fixed GetAxialTiltAsFixed () const
 
const OrbitGetOrbit () const
 
double GetEccentricity () const
 
fixed GetEccentricityAsFixed () const
 
double GetOrbMin () const
 
double GetOrbMax () const
 
fixed GetOrbMinAsFixed () const
 
fixed GetOrbMaxAsFixed () const
 
double GetSemiMajorAxis () const
 
fixed GetSemiMajorAxisAsFixed () const
 
fixed GetInclinationAsFixed () const
 
fixed GetArgOfPeriapsisAsFixed () const
 
void SetOrbitPlane (const matrix3x3d &orient)
 
int GetAverageTemp () const
 
const std::string & GetHeightMapFilename () const
 
unsigned int GetHeightMapFractal () const
 
Uint32 GetSeed () const
 
fixed GetMetallicityAsFixed () const
 
double GetMetallicity () const
 
fixed GetVolatileGasAsFixed () const
 
double GetVolatileGas () const
 
fixed GetVolatileLiquidAsFixed () const
 
double GetVolatileLiquid () const
 
fixed GetVolatileIcesAsFixed () const
 
double GetVolatileIces () const
 
fixed GetVolcanicityAsFixed () const
 
double GetVolcanicity () const
 
double GetAtmosOxidizing () const
 
fixed GetLifeAsFixed () const
 
double GetLife () const
 
fixed GetAgriculturalAsFixed () const
 
double GetAgricultural () const
 
fixed GetPopulationAsFixed () const
 
double GetPopulation () const
 
double CalcSurfaceGravity () const
 
double CalcEscapeVelocity () const
 
double CalcMeanDensity () const
 
double GetMaxChildOrbitalDistance () const
 
bool HasRings () const
 
const RingStyleGetRings () const
 
bool HasAtmosphere () const
 
Color GetAlbedo () const
 
void GetAtmosphereFlavor (Color *outColor, double *outDensity) const
 
double GetAtmSurfaceDensity () const
 
double GetAtmSurfacePressure () const
 
double GetAtmRadius () const
 
double GetAtmPressure (double altitude) const
 
double GetAtmAverageTemp (double altitude) const
 
double GetAtmDensity (double altitude, double pressure) const
 
double ComputeDensity (const double radius, const double atmosphereHeight, const double h, const double scaleHeight) const
 
vector3f GetCoefficients (const double radius, const double atmHeight, const double scaleHeight) const
 
AtmosphereParameters CalcAtmosphereParams () const
 
bool IsScoopable () const
 
void Dump (FILE *file, const char *indent="") const
 
StarSystemGetStarSystem () const
 
const std::string & GetSpaceStationType () const
 
- Public Member Functions inherited from RefCounted
 RefCounted ()
 
virtual ~RefCounted ()
 
void IncRefCount () const
 
void DecRefCount () const
 
int GetRefCount () const
 
- Public Member Functions inherited from LuaWrappable
virtual ~LuaWrappable ()
 

Friends

class StarSystem
 
class ObjectViewerView
 
class StarSystemLegacyGeneratorBase
 
class StarSystemCustomGenerator
 
class StarSystemRandomGenerator
 
class PopulateStarSystemGenerator
 
class CustomSystemsDatabase
 

Additional Inherited Members

- Public Types inherited from SystemBodyType
enum  BodyType : uint32_t {
  TYPE_GRAVPOINT = 0 , TYPE_BROWN_DWARF = 1 , TYPE_WHITE_DWARF = 2 , TYPE_STAR_M = 3 ,
  TYPE_STAR_K = 4 , TYPE_STAR_G = 5 , TYPE_STAR_F = 6 , TYPE_STAR_A = 7 ,
  TYPE_STAR_B = 8 , TYPE_STAR_O = 9 , TYPE_STAR_M_GIANT = 10 , TYPE_STAR_K_GIANT = 11 ,
  TYPE_STAR_G_GIANT = 12 , TYPE_STAR_F_GIANT = 13 , TYPE_STAR_A_GIANT = 14 , TYPE_STAR_B_GIANT = 15 ,
  TYPE_STAR_O_GIANT = 16 , TYPE_STAR_M_SUPER_GIANT = 17 , TYPE_STAR_K_SUPER_GIANT = 18 , TYPE_STAR_G_SUPER_GIANT = 19 ,
  TYPE_STAR_F_SUPER_GIANT = 20 , TYPE_STAR_A_SUPER_GIANT = 21 , TYPE_STAR_B_SUPER_GIANT = 22 , TYPE_STAR_O_SUPER_GIANT = 23 ,
  TYPE_STAR_M_HYPER_GIANT = 24 , TYPE_STAR_K_HYPER_GIANT = 25 , TYPE_STAR_G_HYPER_GIANT = 26 , TYPE_STAR_F_HYPER_GIANT = 27 ,
  TYPE_STAR_A_HYPER_GIANT = 28 , TYPE_STAR_B_HYPER_GIANT = 29 , TYPE_STAR_O_HYPER_GIANT = 30 , TYPE_STAR_M_WF = 31 ,
  TYPE_STAR_B_WF = 32 , TYPE_STAR_O_WF = 33 , TYPE_STAR_S_BH = 34 , TYPE_STAR_IM_BH = 35 ,
  TYPE_STAR_SM_BH = 36 , TYPE_PLANET_GAS_GIANT = 37 , TYPE_PLANET_ASTEROID = 38 , TYPE_PLANET_TERRESTRIAL = 39 ,
  TYPE_STARPORT_ORBITAL = 40 , TYPE_STARPORT_SURFACE = 41 , TYPE_MIN = TYPE_BROWN_DWARF , TYPE_MAX = TYPE_STARPORT_SURFACE ,
  TYPE_STAR_MIN = TYPE_BROWN_DWARF , TYPE_STAR_MAX = TYPE_STAR_SM_BH
}
 
enum  BodySuperType : uint32_t {
  SUPERTYPE_NONE = 0 , SUPERTYPE_STAR = 1 , SUPERTYPE_ROCKY_PLANET = 2 , SUPERTYPE_GAS_GIANT = 3 ,
  SUPERTYPE_STARPORT = 4
}
 
- Protected Member Functions inherited from SystemBodyData
 SystemBodyData ()
 
void SaveToJson (Json &out)
 
void LoadFromJson (const Json &obj)
 
- Protected Attributes inherited from SystemBodyData
std::string m_name
 
SystemBodyType::BodyType m_type = SystemBodyType::TYPE_GRAVPOINT
 
Uint32 m_seed
 
fixed m_radius
 
fixed m_aspectRatio
 
fixed m_mass
 
fixed m_rotationPeriod
 
fixed m_rotationalPhaseAtStart
 
fixed m_humanActivity
 
fixed m_semiMajorAxis
 
fixed m_eccentricity
 
fixed m_orbitalOffset
 
fixed m_orbitalPhaseAtStart
 
fixed m_axialTilt
 
fixed m_inclination
 
fixed m_argOfPeriapsis
 
int m_averageTemp
 
fixed m_metallicity
 
fixed m_volcanicity
 
fixed m_volatileLiquid
 
fixed m_volatileIces
 
fixed m_volatileGas
 
fixed m_atmosOxidizing
 
fixed m_life
 
fixed m_population
 
fixed m_agricultural
 
RingStyle m_rings
 
Color m_atmosColor
 
std::string m_heightMapFilename
 
unsigned int m_heightMapFractal
 
std::string m_spaceStationType
 

Constructor & Destructor Documentation

◆ SystemBody()

SystemBody::SystemBody ( const SystemPath path,
StarSystem system 
)

Member Function Documentation

◆ CalcAtmosphereParams()

AtmosphereParameters SystemBody::CalcAtmosphereParams ( ) const
Here is the call graph for this function:

◆ CalcEscapeVelocity()

double SystemBody::CalcEscapeVelocity ( ) const
Here is the call graph for this function:

◆ CalcMeanDensity()

double SystemBody::CalcMeanDensity ( ) const
Here is the call graph for this function:

◆ CalcSurfaceGravity()

double SystemBody::CalcSurfaceGravity ( ) const
Here is the call graph for this function:

◆ CollectAllChildren()

const std::vector< SystemBody * > SystemBody::CollectAllChildren ( )
Here is the call graph for this function:

◆ ComputeDensity()

double SystemBody::ComputeDensity ( const double  radius,
const double  atmosphereHeight,
const double  h,
const double  scaleHeight 
) const

◆ Dump()

void SystemBody::Dump ( FILE *  file,
const char *  indent = "" 
) const
Here is the call graph for this function:

◆ GetAgricultural()

double SystemBody::GetAgricultural ( ) const
inline
Here is the call graph for this function:

◆ GetAgriculturalAsFixed()

fixed SystemBody::GetAgriculturalAsFixed ( ) const
inline

◆ GetAlbedo()

Color SystemBody::GetAlbedo ( ) const
inline

◆ GetArgOfPeriapsisAsFixed()

fixed SystemBody::GetArgOfPeriapsisAsFixed ( ) const
inline

◆ GetAspectRatio()

double SystemBody::GetAspectRatio ( ) const
inline
Here is the call graph for this function:

◆ GetAstroDescription()

std::string SystemBody::GetAstroDescription ( ) const
Here is the call graph for this function:

◆ GetAtmAverageTemp()

double SystemBody::GetAtmAverageTemp ( double  altitude) const
Here is the call graph for this function:

◆ GetAtmDensity()

double SystemBody::GetAtmDensity ( double  altitude,
double  pressure 
) const
Here is the call graph for this function:

◆ GetAtmosOxidizing()

double SystemBody::GetAtmosOxidizing ( ) const
inline
Here is the call graph for this function:

◆ GetAtmosphereFlavor()

void SystemBody::GetAtmosphereFlavor ( Color outColor,
double *  outDensity 
) const
inline
Here is the call graph for this function:

◆ GetAtmPressure()

double SystemBody::GetAtmPressure ( double  altitude) const
Here is the call graph for this function:

◆ GetAtmRadius()

double SystemBody::GetAtmRadius ( ) const
inline

◆ GetAtmSurfaceDensity()

double SystemBody::GetAtmSurfaceDensity ( ) const
inline
Here is the call graph for this function:

◆ GetAtmSurfacePressure()

double SystemBody::GetAtmSurfacePressure ( ) const
inline

◆ GetAverageTemp()

int SystemBody::GetAverageTemp ( ) const
inline

◆ GetAxialTilt()

double SystemBody::GetAxialTilt ( ) const
inline
Here is the call graph for this function:

◆ GetAxialTiltAsFixed()

fixed SystemBody::GetAxialTiltAsFixed ( ) const
inline

◆ GetChildren() [1/2]

IterationProxy< std::vector< SystemBody * > > SystemBody::GetChildren ( )
inline
Here is the call graph for this function:

◆ GetChildren() [2/2]

const IterationProxy< const std::vector< SystemBody * > > SystemBody::GetChildren ( ) const
inline
Here is the call graph for this function:

◆ GetCoefficients()

vector3f SystemBody::GetCoefficients ( const double  radius,
const double  atmHeight,
const double  scaleHeight 
) const
Here is the call graph for this function:

◆ GetEccentricity()

double SystemBody::GetEccentricity ( ) const
inline
Here is the call graph for this function:

◆ GetEccentricityAsFixed()

fixed SystemBody::GetEccentricityAsFixed ( ) const
inline

◆ GetEquatorialRadius()

double SystemBody::GetEquatorialRadius ( ) const
inline
Here is the call graph for this function:

◆ GetHeightMapFilename()

const std::string & SystemBody::GetHeightMapFilename ( ) const
inline

◆ GetHeightMapFractal()

unsigned int SystemBody::GetHeightMapFractal ( ) const
inline

◆ GetIcon()

const char * SystemBody::GetIcon ( ) const
Here is the call graph for this function:

◆ GetInclinationAsFixed()

fixed SystemBody::GetInclinationAsFixed ( ) const
inline

◆ GetLife()

double SystemBody::GetLife ( ) const
inline
Here is the call graph for this function:

◆ GetLifeAsFixed()

fixed SystemBody::GetLifeAsFixed ( ) const
inline

◆ GetMass()

double SystemBody::GetMass ( ) const
inline
Here is the call graph for this function:

◆ GetMassAsFixed()

fixed SystemBody::GetMassAsFixed ( ) const
inline

◆ GetMassInEarths()

fixed SystemBody::GetMassInEarths ( ) const
inline
Here is the call graph for this function:

◆ GetMaxChildOrbitalDistance()

double SystemBody::GetMaxChildOrbitalDistance ( ) const
Here is the call graph for this function:

◆ GetMetallicity()

double SystemBody::GetMetallicity ( ) const
inline
Here is the call graph for this function:

◆ GetMetallicityAsFixed()

fixed SystemBody::GetMetallicityAsFixed ( ) const
inline

◆ GetName()

const std::string & SystemBody::GetName ( ) const
inline

◆ GetNearestJumpable()

SystemBody * SystemBody::GetNearestJumpable ( double  atTime)
Here is the call graph for this function:

◆ GetNumChildren()

Uint32 SystemBody::GetNumChildren ( ) const
inline

◆ GetOrbit()

const Orbit & SystemBody::GetOrbit ( ) const
inline

◆ GetOrbMax()

double SystemBody::GetOrbMax ( ) const
inline
Here is the call graph for this function:

◆ GetOrbMaxAsFixed()

fixed SystemBody::GetOrbMaxAsFixed ( ) const
inline

◆ GetOrbMin()

double SystemBody::GetOrbMin ( ) const
inline
Here is the call graph for this function:

◆ GetOrbMinAsFixed()

fixed SystemBody::GetOrbMinAsFixed ( ) const
inline

◆ GetParent()

SystemBody * SystemBody::GetParent ( ) const
inline

◆ GetPath()

const SystemPath & SystemBody::GetPath ( ) const
inline

◆ GetPopulation()

double SystemBody::GetPopulation ( ) const
inline
Here is the call graph for this function:

◆ GetPopulationAsFixed()

fixed SystemBody::GetPopulationAsFixed ( ) const
inline

◆ GetRadius()

double SystemBody::GetRadius ( ) const
inline
Here is the call graph for this function:

◆ GetRadiusAsFixed()

fixed SystemBody::GetRadiusAsFixed ( ) const
inline

◆ GetRings()

const RingStyle & SystemBody::GetRings ( ) const
inline

◆ GetRotationPeriod()

double SystemBody::GetRotationPeriod ( ) const
inline
Here is the call graph for this function:

◆ GetRotationPeriodAsFixed()

fixed SystemBody::GetRotationPeriodAsFixed ( ) const
inline

◆ GetRotationPeriodInDays()

double SystemBody::GetRotationPeriodInDays ( ) const
inline
Here is the call graph for this function:

◆ GetRotationPhaseAtStart()

double SystemBody::GetRotationPhaseAtStart ( ) const
inline
Here is the call graph for this function:

◆ GetSeed()

Uint32 SystemBody::GetSeed ( ) const
inline

◆ GetSemiMajorAxis()

double SystemBody::GetSemiMajorAxis ( ) const
inline
Here is the call graph for this function:

◆ GetSemiMajorAxisAsFixed()

fixed SystemBody::GetSemiMajorAxisAsFixed ( ) const
inline

◆ GetSpaceStationType()

const std::string & SystemBody::GetSpaceStationType ( ) const
inline

◆ GetStarSystem()

StarSystem * SystemBody::GetStarSystem ( ) const
inline

◆ GetSuperType()

SystemBody::BodySuperType SystemBody::GetSuperType ( ) const
Here is the call graph for this function:

◆ GetType()

BodyType SystemBody::GetType ( ) const
inline

◆ GetVolatileGas()

double SystemBody::GetVolatileGas ( ) const
inline
Here is the call graph for this function:

◆ GetVolatileGasAsFixed()

fixed SystemBody::GetVolatileGasAsFixed ( ) const
inline

◆ GetVolatileIces()

double SystemBody::GetVolatileIces ( ) const
inline
Here is the call graph for this function:

◆ GetVolatileIcesAsFixed()

fixed SystemBody::GetVolatileIcesAsFixed ( ) const
inline

◆ GetVolatileLiquid()

double SystemBody::GetVolatileLiquid ( ) const
inline
Here is the call graph for this function:

◆ GetVolatileLiquidAsFixed()

fixed SystemBody::GetVolatileLiquidAsFixed ( ) const
inline

◆ GetVolcanicity()

double SystemBody::GetVolcanicity ( ) const
inline
Here is the call graph for this function:

◆ GetVolcanicityAsFixed()

fixed SystemBody::GetVolcanicityAsFixed ( ) const
inline

◆ HasAtmosphere()

bool SystemBody::HasAtmosphere ( ) const

◆ HasChildren()

bool SystemBody::HasChildren ( ) const
inline

◆ HasRings()

bool SystemBody::HasRings ( ) const
inline

◆ HasRotationPhase()

bool SystemBody::HasRotationPhase ( ) const
inline

◆ IsCoOrbital()

bool SystemBody::IsCoOrbital ( ) const
Here is the call graph for this function:

◆ IsCoOrbitalWith()

bool SystemBody::IsCoOrbitalWith ( const SystemBody other) const
Here is the call graph for this function:

◆ IsCustomBody()

bool SystemBody::IsCustomBody ( ) const
inline

◆ IsJumpable()

bool SystemBody::IsJumpable ( ) const
inline
Here is the call graph for this function:

◆ IsMoon()

bool SystemBody::IsMoon ( ) const
inline
Here is the call graph for this function:

◆ IsPlanet()

bool SystemBody::IsPlanet ( ) const
Here is the call graph for this function:

◆ IsRotating()

bool SystemBody::IsRotating ( ) const
inline

◆ IsScoopable()

bool SystemBody::IsScoopable ( ) const
Here is the call graph for this function:

◆ SetOrbitPlane()

void SystemBody::SetOrbitPlane ( const matrix3x3d orient)
inline
Here is the call graph for this function:

Friends And Related Function Documentation

◆ CustomSystemsDatabase

friend class CustomSystemsDatabase
friend

◆ ObjectViewerView

friend class ObjectViewerView
friend

◆ PopulateStarSystemGenerator

friend class PopulateStarSystemGenerator
friend

◆ StarSystem

friend class StarSystem
friend

◆ StarSystemCustomGenerator

friend class StarSystemCustomGenerator
friend

◆ StarSystemLegacyGeneratorBase

friend class StarSystemLegacyGeneratorBase
friend

◆ StarSystemRandomGenerator

friend class StarSystemRandomGenerator
friend

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