272 return Color(200, 200, 200, 255);
293 double GetAtmDensity(
double altitude,
double pressure)
const;
296 double ComputeDensity(
const double radius,
const double atmosphereHeight,
const double h,
const double scaleHeight)
const;
303 void Dump(FILE *file,
const char *indent =
"")
const;
325 void SetOrbitFromParameters();
326 void SetAtmFromParameters();
331 std::vector<SystemBody *> m_children;
336 fixed m_orbMin, m_orbMax;
340 double m_atmosPressure;
342 double m_atmosRadius;
Color4ub Color
Definition: Color.h:212
IterationProxy< Container > MakeIterationProxy(Container &container)
Definition: IterationProxy.h:51
nlohmann::json Json
Definition: Json.h:8
Definition: CustomSystem.h:91
Definition: IterationProxy.h:13
Definition: ObjectViewerView.h:13
void SetPlane(const matrix3x3d &orient)
Definition: Orbit.h:33
Definition: StarSystemGenerator.h:66
Definition: RefCounted.h:11
Definition: StarSystemGenerator.h:32
Definition: StarSystemGenerator.h:15
Definition: StarSystemGenerator.h:43
Definition: StarSystem.h:28
Definition: SystemBody.h:89
fixed m_volatileGas
Definition: SystemBody.h:120
fixed m_metallicity
Definition: SystemBody.h:116
fixed m_semiMajorAxis
Definition: SystemBody.h:106
std::string m_heightMapFilename
Definition: SystemBody.h:131
fixed m_inclination
Definition: SystemBody.h:111
std::string m_name
Definition: SystemBody.h:96
fixed m_argOfPeriapsis
Definition: SystemBody.h:112
fixed m_eccentricity
Definition: SystemBody.h:107
fixed m_agricultural
Definition: SystemBody.h:126
int m_averageTemp
Definition: SystemBody.h:113
RingStyle m_rings
Definition: SystemBody.h:128
Color m_atmosColor
Definition: SystemBody.h:129
fixed m_rotationalPhaseAtStart
Definition: SystemBody.h:104
fixed m_orbitalOffset
Definition: SystemBody.h:108
fixed m_orbitalPhaseAtStart
Definition: SystemBody.h:109
fixed m_rotationPeriod
Definition: SystemBody.h:103
fixed m_volatileIces
Definition: SystemBody.h:119
void SaveToJson(Json &out)
Definition: SystemBody.cpp:28
SystemBodyData()
Definition: SystemBody.cpp:13
fixed m_life
Definition: SystemBody.h:122
fixed m_axialTilt
Definition: SystemBody.h:110
std::string m_spaceStationType
Definition: SystemBody.h:134
Uint32 m_seed
Definition: SystemBody.h:99
fixed m_population
Definition: SystemBody.h:125
SystemBodyType::BodyType m_type
Definition: SystemBody.h:97
fixed m_aspectRatio
Definition: SystemBody.h:101
unsigned int m_heightMapFractal
Definition: SystemBody.h:132
fixed m_volcanicity
Definition: SystemBody.h:117
fixed m_radius
Definition: SystemBody.h:100
void LoadFromJson(const Json &obj)
Definition: SystemBody.cpp:79
fixed m_humanActivity
Definition: SystemBody.h:105
fixed m_volatileLiquid
Definition: SystemBody.h:118
fixed m_mass
Definition: SystemBody.h:102
fixed m_atmosOxidizing
Definition: SystemBody.h:121
Definition: SystemBody.h:23
BodySuperType
Definition: SystemBody.h:75
@ SUPERTYPE_NONE
Definition: SystemBody.h:76
@ SUPERTYPE_STAR
Definition: SystemBody.h:77
@ SUPERTYPE_ROCKY_PLANET
Definition: SystemBody.h:78
@ SUPERTYPE_STARPORT
Definition: SystemBody.h:80
@ SUPERTYPE_GAS_GIANT
Definition: SystemBody.h:79
BodyType
Definition: SystemBody.h:25
@ TYPE_PLANET_TERRESTRIAL
Definition: SystemBody.h:65
@ TYPE_STAR_K_SUPER_GIANT
Definition: SystemBody.h:44
@ TYPE_STAR_O_WF
Definition: SystemBody.h:59
@ TYPE_STAR_M_GIANT
Definition: SystemBody.h:36
@ TYPE_STAR_G_SUPER_GIANT
Definition: SystemBody.h:45
@ TYPE_STARPORT_ORBITAL
Definition: SystemBody.h:66
@ TYPE_GRAVPOINT
Definition: SystemBody.h:26
@ TYPE_STAR_M
Definition: SystemBody.h:29
@ TYPE_STAR_MAX
Definition: SystemBody.h:71
@ TYPE_PLANET_GAS_GIANT
Definition: SystemBody.h:63
@ TYPE_STAR_SM_BH
Definition: SystemBody.h:62
@ TYPE_MAX
Definition: SystemBody.h:69
@ TYPE_STAR_B_HYPER_GIANT
Definition: SystemBody.h:55
@ TYPE_STAR_M_HYPER_GIANT
Definition: SystemBody.h:50
@ TYPE_STAR_B_GIANT
Definition: SystemBody.h:41
@ TYPE_STAR_F_HYPER_GIANT
Definition: SystemBody.h:53
@ TYPE_STAR_B
Definition: SystemBody.h:34
@ TYPE_STAR_O
Definition: SystemBody.h:35
@ TYPE_STAR_O_SUPER_GIANT
Definition: SystemBody.h:49
@ TYPE_STAR_A_HYPER_GIANT
Definition: SystemBody.h:54
@ TYPE_STAR_M_WF
Definition: SystemBody.h:57
@ TYPE_STAR_G_HYPER_GIANT
Definition: SystemBody.h:52
@ TYPE_STAR_A
Definition: SystemBody.h:33
@ TYPE_STAR_K
Definition: SystemBody.h:30
@ TYPE_STAR_F_SUPER_GIANT
Definition: SystemBody.h:46
@ TYPE_STAR_B_SUPER_GIANT
Definition: SystemBody.h:48
@ TYPE_STAR_A_GIANT
Definition: SystemBody.h:40
@ TYPE_STAR_O_HYPER_GIANT
Definition: SystemBody.h:56
@ TYPE_STAR_MIN
Definition: SystemBody.h:70
@ TYPE_STAR_K_GIANT
Definition: SystemBody.h:37
@ TYPE_STARPORT_SURFACE
Definition: SystemBody.h:67
@ TYPE_STAR_G_GIANT
Definition: SystemBody.h:38
@ TYPE_STAR_F_GIANT
Definition: SystemBody.h:39
@ TYPE_STAR_O_GIANT
Definition: SystemBody.h:42
@ TYPE_STAR_K_HYPER_GIANT
Definition: SystemBody.h:51
@ TYPE_STAR_M_SUPER_GIANT
Definition: SystemBody.h:43
@ TYPE_STAR_S_BH
Definition: SystemBody.h:60
@ TYPE_BROWN_DWARF
Definition: SystemBody.h:27
@ TYPE_STAR_B_WF
Definition: SystemBody.h:58
@ TYPE_STAR_F
Definition: SystemBody.h:32
@ TYPE_STAR_A_SUPER_GIANT
Definition: SystemBody.h:47
@ TYPE_WHITE_DWARF
Definition: SystemBody.h:28
@ TYPE_STAR_G
Definition: SystemBody.h:31
@ TYPE_PLANET_ASTEROID
Definition: SystemBody.h:64
@ TYPE_STAR_IM_BH
Definition: SystemBody.h:61
@ TYPE_MIN
Definition: SystemBody.h:68
Definition: GalaxyEditAPI.h:53
Definition: SystemBody.h:137
double GetEccentricity() const
Definition: SystemBody.h:218
const std::vector< SystemBody * > CollectAllChildren()
Definition: SystemBody.cpp:819
double GetAtmosOxidizing() const
Definition: SystemBody.h:246
const IterationProxy< const std::vector< SystemBody * > > GetChildren() const
Definition: SystemBody.h:156
bool IsJumpable() const
Definition: SystemBody.h:150
double GetAtmRadius() const
Definition: SystemBody.h:284
const Orbit & GetOrbit() const
Definition: SystemBody.h:217
double GetEquatorialRadius() const
Definition: SystemBody.h:180
fixed GetMassInEarths() const
Definition: SystemBody.h:197
fixed GetOrbMinAsFixed() const
Definition: SystemBody.h:222
double GetVolcanicity() const
Definition: SystemBody.h:245
double GetMetallicity() const
Definition: SystemBody.h:237
fixed GetVolcanicityAsFixed() const
Definition: SystemBody.h:244
Uint32 GetSeed() const
Definition: SystemBody.h:234
fixed GetMetallicityAsFixed() const
Definition: SystemBody.h:236
vector3f GetCoefficients(const double radius, const double atmHeight, const double scaleHeight) const
Definition: SystemBody.cpp:293
bool HasAtmosphere() const
Definition: SystemBody.cpp:248
void SetOrbitPlane(const matrix3x3d &orient)
Definition: SystemBody.h:228
BodyType GetType() const
Definition: SystemBody.h:163
double GetAtmSurfacePressure() const
Definition: SystemBody.h:283
double GetVolatileLiquid() const
Definition: SystemBody.h:241
fixed GetInclinationAsFixed() const
Definition: SystemBody.h:226
fixed GetAxialTiltAsFixed() const
Definition: SystemBody.h:215
bool IsCoOrbital() const
Definition: SystemBody.cpp:851
AtmosphereParameters CalcAtmosphereParams() const
Definition: SystemBody.cpp:313
bool IsCoOrbitalWith(const SystemBody *other) const
Definition: SystemBody.cpp:844
const RingStyle & GetRings() const
Definition: SystemBody.h:262
bool IsMoon() const
Definition: SystemBody.h:148
const SystemPath & GetPath() const
Definition: SystemBody.h:144
double GetRotationPeriodInDays() const
Definition: SystemBody.h:206
fixed GetMassAsFixed() const
Definition: SystemBody.h:189
fixed GetSemiMajorAxisAsFixed() const
Definition: SystemBody.h:225
double GetAspectRatio() const
Definition: SystemBody.h:188
double GetLife() const
Definition: SystemBody.h:248
double GetSemiMajorAxis() const
Definition: SystemBody.h:224
SystemBody * GetNearestJumpable(double atTime)
Definition: SystemBody.cpp:940
fixed GetVolatileGasAsFixed() const
Definition: SystemBody.h:238
void GetAtmosphereFlavor(Color *outColor, double *outDensity) const
Definition: SystemBody.h:276
BodySuperType GetSuperType() const
Definition: SystemBody.cpp:379
fixed GetPopulationAsFixed() const
Definition: SystemBody.h:252
double CalcSurfaceGravity() const
Definition: SystemBody.cpp:858
double GetOrbMin() const
Definition: SystemBody.h:220
fixed GetVolatileIcesAsFixed() const
Definition: SystemBody.h:242
double CalcMeanDensity() const
Definition: SystemBody.cpp:878
fixed GetEccentricityAsFixed() const
Definition: SystemBody.h:219
double GetAxialTilt() const
Definition: SystemBody.h:214
Color GetAlbedo() const
Definition: SystemBody.h:267
fixed GetArgOfPeriapsisAsFixed() const
Definition: SystemBody.h:227
bool IsScoopable() const
Definition: SystemBody.cpp:253
double GetVolatileGas() const
Definition: SystemBody.h:239
fixed GetLifeAsFixed() const
Definition: SystemBody.h:247
double GetAtmPressure(double altitude) const
Definition: SystemBody.cpp:196
SystemBody * GetParent() const
Definition: SystemBody.h:145
bool IsRotating() const
Definition: SystemBody.h:204
double GetAtmDensity(double altitude, double pressure) const
Definition: SystemBody.cpp:208
const std::string & GetName() const
Definition: SystemBody.h:160
double GetRotationPeriod() const
Definition: SystemBody.h:208
double GetRotationPhaseAtStart() const
Definition: SystemBody.h:213
bool HasChildren() const
Definition: SystemBody.h:153
unsigned int GetHeightMapFractal() const
Definition: SystemBody.h:232
fixed GetRadiusAsFixed() const
Definition: SystemBody.h:168
double GetAtmSurfaceDensity() const
Definition: SystemBody.h:282
IterationProxy< std::vector< SystemBody * > > GetChildren()
Definition: SystemBody.h:155
double GetMaxChildOrbitalDistance() const
Definition: SystemBody.cpp:832
const char * GetIcon() const
Definition: SystemBody.cpp:654
fixed GetRotationPeriodAsFixed() const
Definition: SystemBody.h:207
std::string GetAstroDescription() const
Definition: SystemBody.cpp:435
bool IsPlanet() const
Definition: SystemBody.cpp:798
double GetAtmAverageTemp(double altitude) const
Definition: SystemBody.cpp:216
double GetPopulation() const
Definition: SystemBody.h:253
Uint32 GetNumChildren() const
Definition: SystemBody.h:154
bool HasRings() const
Definition: SystemBody.h:261
fixed GetOrbMaxAsFixed() const
Definition: SystemBody.h:223
double ComputeDensity(const double radius, const double atmosphereHeight, const double h, const double scaleHeight) const
Definition: SystemBody.cpp:270
double GetMass() const
Definition: SystemBody.h:190
void Dump(FILE *file, const char *indent="") const
Definition: SystemBody.cpp:888
bool IsCustomBody() const
Definition: SystemBody.h:165
const std::string & GetSpaceStationType() const
Definition: SystemBody.h:307
const std::string & GetHeightMapFilename() const
Definition: SystemBody.h:231
StarSystem * GetStarSystem() const
Definition: SystemBody.h:305
double GetVolatileIces() const
Definition: SystemBody.h:243
double GetOrbMax() const
Definition: SystemBody.h:221
int GetAverageTemp() const
Definition: SystemBody.h:230
bool HasRotationPhase() const
Definition: SystemBody.h:212
fixed GetVolatileLiquidAsFixed() const
Definition: SystemBody.h:240
fixed GetAgriculturalAsFixed() const
Definition: SystemBody.h:250
double GetRadius() const
Definition: SystemBody.h:171
double CalcEscapeVelocity() const
Definition: SystemBody.cpp:868
double GetAgricultural() const
Definition: SystemBody.h:251
Definition: SystemPath.h:13
Sint64 v
Definition: fixed.h:239
double ToDouble() const
Definition: fixed.h:192
fixedf< 32 > fixed
Definition: fixed.h:242
Definition: AtmosphereParameters.h:7
Definition: RingStyle.h:10
fixed maxRadius
Definition: RingStyle.h:14