Kerbal Space Program
1.12.4
|
Public Member Functions | |
void | CBUpdate () |
void | debugTimeWarpLimits () |
override bool | Equals (object other) |
bool | GetActiveTargetable () |
double | GetAltitude (Vector3d worldPos) |
virtual void | GetAtmoThermalStats (bool getBodyFlux, CelestialBody sunBody, Vector3d sunVector, double sunDot, Vector3d upAxis, double altitude, out double atmosphereTemperatureOffset, out double bodyEmissiveFlux, out double bodyAlbedoFlux) |
Bounds | getBounds () |
double | GetDensity (double pressure, double temperature) |
string | GetDisplayName () |
Vector3d | GetFrameVel () |
Get the velocity of the celestial body in relation to the solar system inertial frame. More... | |
Vector3d | GetFrameVelAtUT (double UT) |
virtual double | GetFullTemperature (double altitude, double atmoSunBasedTempOffset) |
virtual double | GetFullTemperature (Vector3d pos) |
Vector3 | GetFwdVector () |
override int | GetHashCode () |
bool | GetImpactLatitudeAndLongitude (Vector3d position, Vector3d velocity, out double latitude, out double longitude) |
double | GetLatitude (Vector3d pos, bool isRadial=false) |
Vector2d | GetLatitudeAndLongitude (Vector3d pos, bool isRadial=false) |
void | GetLatLonAlt (Vector3d worldPos, out double lat, out double lon, out double alt) |
void | GetLatLonAltOrbital (Vector3d worldPos, out double lat, out double lon, out double alt) |
double | GetLongitude (Vector3d pos, bool isRadial=false) |
string | GetName () |
Vector3 | GetObtVelocity () |
Orbit | GetOrbit () |
OrbitDriver | GetOrbitDriver () |
Vector3d | getPositionAtUT (double UT) |
double | GetPressure (double altitude) |
Get the pressure in kPa at a certain altitude More... | |
double | GetPressureAtm (double altitude) |
Get the pressure in Atm at a certain altitude More... | |
void | GetRandomLatitudeAndLongitude (ref double latitude, ref double longitude, bool waterAllowed=false, bool spaceCenterAllowed=false, KSPRandom generator=null) |
Vector3d | GetRelSurfaceDirection (Vector3d worldDirection) |
Returns a planet-relative direction, given the world space direction More... | |
Vector3d | GetRelSurfaceNVector (double lat, double lon) |
Returns a planet-relative normal vector, given latitude and longitude More... | |
Vector3d | GetRelSurfacePosition (double lat, double lon, double alt) |
Returns a planet-relative position, given the latitude, longitude and altitude. (takes into account planet rotation) More... | |
Vector3d | GetRelSurfacePosition (double lat, double lon, double alt, out Vector3d normal) |
Returns a planet-relative position, given the latitude, longitude and altitude, and the local normal. (takes into account planet rotation) More... | |
Vector3d | GetRelSurfacePosition (Vector3d worldPosition) |
Returns a planet-relative position, given the world space position More... | |
Vector3d | getRFrmVel (Vector3d worldPos) |
Vector3d | getRFrmVelOrbit (Orbit o) |
virtual void | GetSolarAtmosphericEffects (double sunDot, double density, out double solarAirMass, out double solarFluxMultiplier) |
double | GetSolarPowerFactor (double density) |
double | GetSpeedOfSound (double pressure, double density) |
Vector3 | GetSrfVelocity () |
Vector3d | GetSurfaceNVector (double lat, double lon) |
Returns a normal vector, given the latitude and longitude (takes planet rotation into account) More... | |
VesselTargetModes | GetTargetingMode () |
double | GetTemperature (double altitude) |
Transform | GetTransform () |
Vector3d | getTruePositionAtUT (double UT) |
Vessel | GetVessel () |
Vector3d | GetWorldSurfacePosition (double lat, double lon, double alt) |
Returns a worldspace position, given the latitude, longitude and altitude. (takes into account planet rotation) More... | |
bool | HasChild (CelestialBody body) |
bool | HasParent (CelestialBody body) |
void | HideSurfaceResource () |
void | resetTimeWarpLimits () |
double | RevealAltitude () |
string | RevealDisplayName () |
float | RevealMass () |
string | RevealName () |
string | RevealSituationString () |
double | RevealSpeed () |
string | RevealType () |
void | SetResourceMap (Texture2D map) |
void | SetupConstants () |
void | SetupShadowCasting () |
double | TerrainAltitude (double latitude, double longitude, bool allowNegative=false) |
Static Public Member Functions | |
static CelestialBody | GetBodyReferencing (CelestialBody body, CelestialBody sun) |
Public Attributes | |
AtmosphereFromGround | afg |
double | albedo = 0.35d |
double | angularV |
Vector3d | angularVelocity |
double | atmDensityASL |
bool | atmosphere |
double | atmosphereAdiabaticIndex = 1.4d |
http://en.wikipedia.org/wiki/Heat_capacity_ratio More... | |
bool | atmosphereContainsOxygen = false |
double | atmosphereDepth |
m More... | |
double | atmosphereGasMassLapseRate |
bananas per km More... | |
double | atmosphereMolarMass = 0.0289644d |
kg/mol More... | |
FloatCurve | atmospherePressureCurve = new FloatCurve() |
bool | atmospherePressureCurveIsNormalized = false |
double | atmospherePressureSeaLevel = 101.325d |
kPA More... | |
FloatCurve | atmosphereTemperatureCurve = new FloatCurve() |
bool | atmosphereTemperatureCurveIsNormalized = false |
double | atmosphereTemperatureLapseRate |
K/km. More... | |
double | atmosphereTemperatureSeaLevel = 288d |
K. More... | |
FloatCurve | atmosphereTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
bool | atmosphereUsePressureCurve = false |
bool | atmosphereUseTemperatureCurve = false |
Color | atmosphericAmbientColor |
double | atmPressureASL |
Atmospheric Pressure in kPa at sea level. More... | |
FloatCurve | axialTemperatureSunBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
FloatCurve | axialTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
CBAttributeMapSO | BiomeMap |
string | bodyAdjectiveDisplayName = "Unnamed" |
This is the Celestial Body name text that is used in UI displays when it is used as an adjective. It is localized and has a Gender for Lingoona. Genders are ^m - Male, ^f - Female, ^n - Neutral. We need a separate one from the displayName because different languages might handle adjectives differently. If we use the normal display name, it eats all the previous "the"s in that precede it as an adjective. More... | |
string | bodyDescription = "A mysterious uncharted celestial body." |
string | bodyDisplayName = "Unnamed" |
This is the Celestial Body name text that is used in UI displays. It is localized and has a Gender for Lingoona. Genders are ^M - Male, ^F - Female, ^N - Neutral. More... | |
Planetarium.CelestialFrame | BodyFrame |
string | bodyName = "Unnamed" |
This is the Celestial Body name text. It will always be in English. More... | |
double | bodyTemperature = 0d |
The Temperature of the body at the surface under the current vessel. More... | |
Transform | bodyTransform |
CelestialBodyType | bodyType |
bool | clampInverseRotThreshold = true |
double | convectionMultiplier = 1d |
double | coreTemperatureOffset = 0d |
double | Density |
double | directRotAngle = 0.0 |
FloatCurve | eccentricityTemperatureBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
double | emissivity = 0.65d |
double | GeeASL |
double | gMagnitudeAtCenter |
double | gravParameter |
bool | hasSolidSurface |
double | hillSphere |
double | initialRotation = 0.0 |
bool | inverseRotation |
float | inverseRotThresholdAltitude = 15000f |
bool | isCometPerturber = false |
is this body the key for calculating the orbit types of comets More... | |
bool | isHomeWorld = false |
bool | isStar = false |
FloatCurve | latitudeTemperatureBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
FloatCurve | latitudeTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
double | Mass |
double | maxAxialDot = 0d |
MiniBiome[] | MiniBiomes |
double | minOrbitalDistance = 100000d |
double | navballSwitchRadiusMult = 0.06d |
double | navballSwitchRadiusMultLow = 0.055d |
bool | ocean |
float | oceanAFGAltMult = 0.05f |
float | oceanAFGBase = 0.6f |
bool | oceanAFGLerp = false |
float | oceanAFGMin = 0.05f |
float | oceanAlbedoDistanceScalar = 0.01f |
float | oceanAlphaDistanceScalar = 0.01f |
double | oceanDensity = 1d |
Color | oceanFogColorEnd = new Color(0f, 0.084f, 0.122f, 1f) |
Color | oceanFogColorStart = new Color(0f, 0.337254902f, 0.4862745098f, 1f) |
float | oceanFogDawnFactor = 10f |
float | oceanFogDensityAltScalar = -0.0008f |
float | oceanFogDensityEnd = 0.13f |
float | oceanFogDensityExponent = 1f |
float | oceanFogDensityPQSMult = 0.02f |
float | oceanFogDensityStart = 0.015f |
double | oceanFogPQSDepth = 1000d |
float | oceanFogPQSDepthRecip = 0.001f |
float | oceanMaxAlbedoFog = 0.95f |
float | oceanMaxAlphaFog = 0.9f |
float | oceanMinAlphaFogDistance = 200f |
float | oceanSkyColorMult = 1.2f |
float | oceanSkyColorOpacityAltMult = 2f |
float | oceanSkyColorOpacityBase = 0.2f |
float | oceanSunAltMult = 0.01f |
float | oceanSunBase = 0.5f |
float | oceanSunMin = 0.05f |
bool | oceanUseFog = true |
OrbitDriver | orbitDriver |
List< CelestialBody > | orbitingBodies = new List<CelestialBody>() |
PQS | pqsController |
PQSSurfaceObject[] | pqsSurfaceObjects |
KSPAchievements.CelestialBodySubtree | progressTree |
double | Radius |
double | radiusAtmoFactor = 1d |
bool | rotates |
QuaternionD | rotation |
double | rotationAngle = 0.0 |
double | rotationPeriod = 0d |
GameObject | scaledBody |
Vector3d | scaledElipRadMult = Vector3d.one |
bool | scaledEllipsoid = true |
double | scaledRadiusHorizonMultiplier = 1d |
CelestialBodyScienceParams | scienceValues |
double | shockTemperatureMultiplier = 1d |
double | solarDayLength = 0.0 |
bool | solarRotationPeriod |
double | sphereOfInfluence = double.PositiveInfinity |
double | SurfaceArea |
bool | tidallyLocked |
float[] | timeWarpAltitudeLimits |
Vector3d | transformRight |
This is the Right vector normalised from the CBs transform. More... | |
Vector3d | transformUp |
This is the Up vector normalised from the CBs transform. More... | |
bool | use_The_InName |
Protected Attributes | |
const double | bodyEmissiveScalarS0Back = 0.093081228d |
const double | bodyEmissiveScalarS0Front = 0.782048841d |
const double | bodyEmissiveScalarS0Top = 0.398806364d |
const double | bodyEmissiveScalarS1 = 0.87513007d |
const double | bodyEmissiveScalarS1Top = 0.797612728d |
Properties | |
DiscoveryInfo | DiscoveryInfo [get] |
string | displayName [get] |
This is the Celestial Body name that is used in UI displays. It includes the planets Gender tag for grammar purposes. More... | |
int | flightGlobalsIndex [get, set] |
MapObject | MapObject [get, set] |
new string | name [get] |
Orbit | orbit [get] |
Vector3d | position [get, set] |
CelestialBody | referenceBody [get] |
Texture2D | ResourceMap [get] |
Vector3d | RotationAxis [get] |
string | theName [get] |
This is the Celestial Body name text with the word the in front of it. Always in English. More... | |
Properties inherited from IDiscoverable | |
DiscoveryInfo | DiscoveryInfo [get] |
|
inline |
< update rotation before position, as the orbit calculations will use Planetarium.Rotation, and that needs to be updated
< Set solar day length
|
inline |
|
inline |
|
inline |
Implements ITargetable.
|
inline |
|
inlinevirtual |
< now that we computed the angle, we choose the right pole for the axial dot.
< correct sunDot based on the fact peak temp is ~3pm and min temp is ~3am, or so we will assume
< get normalized dot
< assume an average in the edge case.
< orbital altitude variation
< now calculate two temperatures: the effective temp, and the maximum possible surface temperature
< now use some magic numbers to calculate minimum and maximum temperatures
< FIXME need to use terrain height here
< for now just clamp at 1x
|
inlinestatic |
|
inline |
|
inline |
|
inline |
Implements ITargetable.
|
inline |
Get the velocity of the celestial body in relation to the solar system inertial frame.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
Implements ITargetable.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Implements ITargetable.
|
inline |
Implements ITargetable.
|
inline |
Implements ITargetable.
|
inline |
Implements ITargetable.
|
inline |
|
inline |
Get the pressure in kPa at a certain altitude
altitude | Altitude in m |
|
inline |
Get the pressure in Atm at a certain altitude
altitude | Altitude in m |
|
inline |
< We won't try to do a land search without land. Just open it up to the whole planet.
< Use limited iterations to prevent a land search on a purely oceanic planet from locking up the game.
Returns a planet-relative direction, given the world space direction
|
inline |
Returns a planet-relative normal vector, given latitude and longitude
|
inline |
Returns a planet-relative position, given the latitude, longitude and altitude. (takes into account planet rotation)
|
inline |
Returns a planet-relative position, given the latitude, longitude and altitude, and the local normal. (takes into account planet rotation)
Returns a planet-relative position, given the world space position
|
inlinevirtual |
< (becuase we're determining temperature based on density, and density based on temperature)
< On the first FI frame, density hasn't been set yet, so this will be high.
|
inline |
|
inline |
|
inline |
Implements ITargetable.
|
inline |
Returns a normal vector, given the latitude and longitude (takes planet rotation into account)
|
inline |
Implements ITargetable.
|
inline |
< baseValue += latitudeTemperatureBiasCurve.Evaluate(latitudeDot);
|
inline |
Implements ITargetable.
|
inline |
|
inline |
Implements ITargetable.
|
inline |
Returns a worldspace position, given the latitude, longitude and altitude. (takes into account planet rotation)
|
inline |
|
inline |
< sun case
|
inline |
|
inline |
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
Implements IDiscoverable.
|
inline |
|
inline |
< depth to scaleheight (approx)
|
inline |
|
inline |
AtmosphereFromGround CelestialBody.afg |
double CelestialBody.albedo = 0.35d |
double CelestialBody.angularV |
Vector3d CelestialBody.angularVelocity |
double CelestialBody.atmDensityASL |
bool CelestialBody.atmosphere |
double CelestialBody.atmosphereAdiabaticIndex = 1.4d |
bool CelestialBody.atmosphereContainsOxygen = false |
double CelestialBody.atmosphereDepth |
m
double CelestialBody.atmosphereGasMassLapseRate |
bananas per km
double CelestialBody.atmosphereMolarMass = 0.0289644d |
kg/mol
FloatCurve CelestialBody.atmospherePressureCurve = new FloatCurve() |
bool CelestialBody.atmospherePressureCurveIsNormalized = false |
double CelestialBody.atmospherePressureSeaLevel = 101.325d |
kPA
FloatCurve CelestialBody.atmosphereTemperatureCurve = new FloatCurve() |
bool CelestialBody.atmosphereTemperatureCurveIsNormalized = false |
double CelestialBody.atmosphereTemperatureLapseRate |
K/km.
double CelestialBody.atmosphereTemperatureSeaLevel = 288d |
K.
FloatCurve CelestialBody.atmosphereTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
bool CelestialBody.atmosphereUsePressureCurve = false |
bool CelestialBody.atmosphereUseTemperatureCurve = false |
Color CelestialBody.atmosphericAmbientColor |
double CelestialBody.atmPressureASL |
Atmospheric Pressure in kPa at sea level.
FloatCurve CelestialBody.axialTemperatureSunBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
FloatCurve CelestialBody.axialTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
CBAttributeMapSO CelestialBody.BiomeMap |
string CelestialBody.bodyAdjectiveDisplayName = "Unnamed" |
This is the Celestial Body name text that is used in UI displays when it is used as an adjective. It is localized and has a Gender for Lingoona. Genders are ^m - Male, ^f - Female, ^n - Neutral. We need a separate one from the displayName because different languages might handle adjectives differently. If we use the normal display name, it eats all the previous "the"s in that precede it as an adjective.
string CelestialBody.bodyDescription = "A mysterious uncharted celestial body." |
string CelestialBody.bodyDisplayName = "Unnamed" |
This is the Celestial Body name text that is used in UI displays. It is localized and has a Gender for Lingoona. Genders are ^M - Male, ^F - Female, ^N - Neutral.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Planetarium.CelestialFrame CelestialBody.BodyFrame |
string CelestialBody.bodyName = "Unnamed" |
This is the Celestial Body name text. It will always be in English.
double CelestialBody.bodyTemperature = 0d |
The Temperature of the body at the surface under the current vessel.
Transform CelestialBody.bodyTransform |
CelestialBodyType CelestialBody.bodyType |
bool CelestialBody.clampInverseRotThreshold = true |
double CelestialBody.convectionMultiplier = 1d |
double CelestialBody.coreTemperatureOffset = 0d |
double CelestialBody.Density |
double CelestialBody.directRotAngle = 0.0 |
FloatCurve CelestialBody.eccentricityTemperatureBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
double CelestialBody.emissivity = 0.65d |
double CelestialBody.GeeASL |
double CelestialBody.gMagnitudeAtCenter |
double CelestialBody.gravParameter |
bool CelestialBody.hasSolidSurface |
double CelestialBody.hillSphere |
double CelestialBody.initialRotation = 0.0 |
bool CelestialBody.inverseRotation |
float CelestialBody.inverseRotThresholdAltitude = 15000f |
bool CelestialBody.isCometPerturber = false |
is this body the key for calculating the orbit types of comets
bool CelestialBody.isHomeWorld = false |
bool CelestialBody.isStar = false |
FloatCurve CelestialBody.latitudeTemperatureBiasCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
FloatCurve CelestialBody.latitudeTemperatureSunMultCurve = new FloatCurve(new Keyframe[] { new Keyframe(0f, 0f) }) |
double CelestialBody.Mass |
double CelestialBody.maxAxialDot = 0d |
MiniBiome [] CelestialBody.MiniBiomes |
double CelestialBody.minOrbitalDistance = 100000d |
double CelestialBody.navballSwitchRadiusMult = 0.06d |
double CelestialBody.navballSwitchRadiusMultLow = 0.055d |
bool CelestialBody.ocean |
float CelestialBody.oceanAFGAltMult = 0.05f |
float CelestialBody.oceanAFGBase = 0.6f |
bool CelestialBody.oceanAFGLerp = false |
float CelestialBody.oceanAFGMin = 0.05f |
float CelestialBody.oceanAlbedoDistanceScalar = 0.01f |
float CelestialBody.oceanAlphaDistanceScalar = 0.01f |
double CelestialBody.oceanDensity = 1d |
Color CelestialBody.oceanFogColorEnd = new Color(0f, 0.084f, 0.122f, 1f) |
Color CelestialBody.oceanFogColorStart = new Color(0f, 0.337254902f, 0.4862745098f, 1f) |
float CelestialBody.oceanFogDawnFactor = 10f |
float CelestialBody.oceanFogDensityAltScalar = -0.0008f |
float CelestialBody.oceanFogDensityEnd = 0.13f |
float CelestialBody.oceanFogDensityExponent = 1f |
float CelestialBody.oceanFogDensityPQSMult = 0.02f |
float CelestialBody.oceanFogDensityStart = 0.015f |
double CelestialBody.oceanFogPQSDepth = 1000d |
float CelestialBody.oceanFogPQSDepthRecip = 0.001f |
float CelestialBody.oceanMaxAlbedoFog = 0.95f |
float CelestialBody.oceanMaxAlphaFog = 0.9f |
float CelestialBody.oceanMinAlphaFogDistance = 200f |
float CelestialBody.oceanSkyColorMult = 1.2f |
float CelestialBody.oceanSkyColorOpacityAltMult = 2f |
float CelestialBody.oceanSkyColorOpacityBase = 0.2f |
float CelestialBody.oceanSunAltMult = 0.01f |
float CelestialBody.oceanSunBase = 0.5f |
float CelestialBody.oceanSunMin = 0.05f |
bool CelestialBody.oceanUseFog = true |
OrbitDriver CelestialBody.orbitDriver |
List<CelestialBody> CelestialBody.orbitingBodies = new List<CelestialBody>() |
PQS CelestialBody.pqsController |
PQSSurfaceObject [] CelestialBody.pqsSurfaceObjects |
KSPAchievements.CelestialBodySubtree CelestialBody.progressTree |
double CelestialBody.Radius |
double CelestialBody.radiusAtmoFactor = 1d |
bool CelestialBody.rotates |
QuaternionD CelestialBody.rotation |
double CelestialBody.rotationAngle = 0.0 |
double CelestialBody.rotationPeriod = 0d |
GameObject CelestialBody.scaledBody |
Vector3d CelestialBody.scaledElipRadMult = Vector3d.one |
bool CelestialBody.scaledEllipsoid = true |
double CelestialBody.scaledRadiusHorizonMultiplier = 1d |
CelestialBodyScienceParams CelestialBody.scienceValues |
double CelestialBody.shockTemperatureMultiplier = 1d |
double CelestialBody.solarDayLength = 0.0 |
bool CelestialBody.solarRotationPeriod |
double CelestialBody.sphereOfInfluence = double.PositiveInfinity |
double CelestialBody.SurfaceArea |
bool CelestialBody.tidallyLocked |
float [] CelestialBody.timeWarpAltitudeLimits |
Vector3d CelestialBody.transformRight |
This is the Right vector normalised from the CBs transform.
Vector3d CelestialBody.transformUp |
This is the Up vector normalised from the CBs transform.
bool CelestialBody.use_The_InName |
|
get |
|
get |
This is the Celestial Body name that is used in UI displays. It includes the planets Gender tag for grammar purposes.
|
getset |
|
getset |
|
get |
|
get |
|
getset |
|
get |
|
get |
|
get |
|
get |
This is the Celestial Body name text with the word the in front of it. Always in English.