Difference between revisions of "API:Orbit"

From Kerbal Space Program Wiki
Jump to: navigation, search
m (Added description)
(Added some property/field descriptions)
Line 28: Line 28:
 
|name=semiLatusRectum
 
|name=semiLatusRectum
 
|hasget=1
 
|hasget=1
 +
|desc=Semi-latus Rectum, half the length of the chord parallel to the directrix through one of the orbit's foci.
 
}}
 
}}
 
{{Property
 
{{Property
Line 33: Line 34:
 
|name=semiMinorAxis
 
|name=semiMinorAxis
 
|hasget=1
 
|hasget=1
 +
|desc=Semi-minor Axis, half the length of the shorter axis through the center of the orbit.
 
}}
 
}}
 
{{PropertiesEnd}}
 
{{PropertiesEnd}}
Line 44: Line 46:
 
|type=double
 
|type=double
 
|name=altitude
 
|name=altitude
 +
|desc=Height above the surface of the reference body, including liquid bodies.
 
}}
 
}}
 
{{Field
 
{{Field
Line 56: Line 59:
 
|type=double
 
|type=double
 
|name=ClAppr
 
|name=ClAppr
 +
|desc=Presumably the distance to the target at closest approach agnostic of encounters, in meters).
 
}}
 
}}
  
Line 61: Line 65:
 
|type=double
 
|type=double
 
|name=ClEctr1
 
|name=ClEctr1
 +
|desc= presumably as distance to target during the next closest encounter, in meters.
 
}}
 
}}
  
Line 66: Line 71:
 
|type=double
 
|type=double
 
|name=ClEctr2
 
|name=ClEctr2
 +
|desc=Second closest encounter, as an unknown quantity (presumably distance to target, in meters).
 
}}
 
}}
  
Line 71: Line 77:
 
|type=CelestialBody
 
|type=CelestialBody
 
|name=closestEncounterBody
 
|name=closestEncounterBody
 +
|desc=The next celestial body to be encountered.
 
}}
 
}}
  
Line 76: Line 83:
 
|type=EncounterSolutionLevel
 
|type=EncounterSolutionLevel
 
|name=closestEncounterLevel
 
|name=closestEncounterLevel
 +
|desc=The type of the next closest encounter, constrained to the values enumerated in EncounterSolutionLevel.
 
}}
 
}}
  
Line 81: Line 89:
 
|type=Orbit
 
|type=Orbit
 
|name=closestEncounterPath
 
|name=closestEncounterPath
 +
|desc=The Orbit around the next celestial body to be encountered.
 
}}
 
}}
  
Line 86: Line 95:
 
|type=double
 
|type=double
 
|name=closestTgtApprUT
 
|name=closestTgtApprUT
 +
|desc=The time of the next closest approach, in Universal Time.
 
}}
 
}}
  
Line 91: Line 101:
 
|type=double
 
|type=double
 
|name=crAppr
 
|name=crAppr
 +
|desc=Unknown type of approach type, presumably distance in meters.
 
}}
 
}}
  
Line 131: Line 142:
 
|type=double
 
|type=double
 
|name=eccentricAnomaly
 
|name=eccentricAnomaly
 +
|desc=The eccentric anomaly of the orbit, corresponding to the angle between the periapsis and the current projected position on a circle of radius equal to the semimajor axis.
 
}}
 
}}
  
Line 136: Line 148:
 
|type=double
 
|type=double
 
|name=eccentricity
 
|name=eccentricity
 +
|desc=The eccentricity of the orbit, describing the deviation of the orbit from a perfect circle, from 0 to 1 exclusive for elliptical and 1 to infinity exclusive for hyperbolic (0 being circular and 1 being parabolic)
 
}}
 
}}
  
Line 141: Line 154:
 
|type=Vector3d
 
|type=Vector3d
 
|name=eccVec
 
|name=eccVec
 +
|desc=The eccentricity vector of the orbit, whose magnitude is the eccentricity.
 
}}
 
}}
  
Line 151: Line 165:
 
|type=double
 
|type=double
 
|name=epoch
 
|name=epoch
 +
|desc=The reference time of the orbit, presumably in Universal Time.
 
}}
 
}}
  
Line 176: Line 191:
 
|type=Vector3d
 
|type=Vector3d
 
|name=h
 
|name=h
 +
|desc=The specific relative angular momentum vector of the orbit in meters squared per second, being specifically relative to the celestial body around which the orbit exists.
 
}}
 
}}
  
Line 181: Line 197:
 
|type=double
 
|type=double
 
|name=inclination
 
|name=inclination
 +
|desc=The inclination of the orbit above the reference plane, presumably in degrees.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=LAN
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=mag
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=meanAnomaly
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=meanAnomalyAtEpoch
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=nearestTT
 +
|desc=Obsolete, Use VesselType or CelestialBodyType instead.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=ObT
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=ObTAtEpoch
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=orbitalEnergy
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=orbitalSpeed
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=orbitalPercent
 +
}}
 +
 +
{{Field
 +
|type=PatchTransitionType
 +
|name=patchEndTransition
 +
}}
 +
 +
{{Field
 +
|type=PatchTransitionType
 +
|name=patchStartTransition
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=period
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=pos
 +
}}
 +
 +
{{Field
 +
|type=Orbit
 +
|name=previousPatch
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=radius
 +
}}
 +
 +
{{Field
 +
|type=CelestialBody
 +
|name=referenceBody
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=sampleInterval
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=secondaryPosAtTransition1
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=secondaryPosAtTransition2
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=semiMajorAxis
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=SEVp
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=SEVs
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=StartUT
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=timeToAp
 +
|desc=Time in seconde before reach the actual Apoapsis.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=timeToPe
 +
|desc=Time in seconde before reach the actual Periapsis.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=timeToTransition1
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=timeToTransition2
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=toE
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=toV
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=trueAnomaly
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=UTappr
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=UTsoi
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=V
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=vel
 +
}}
 +
{{FieldsEnd}}
 +
 +
{{MethodsStart}}
 +
 +
{{Method
 +
|returntype=static
 +
|name=Orbit
 +
|args=
 +
}}
 +
{{Method
 +
|returntype=public
 +
|name=Orbit
 +
|args={{arg|double|inc}},{{arg|double|e}},{{arg|double|sma}},{{arg|double|lan}},{{arg|double|w}},{{arg|double|mEp}},{{arg|double|t}},{{arg|CelestialBody|body}}
 +
}}
 +
 +
{{Method
 +
|returntype=void
 +
|name=DrawOrbit
 +
|args=
 +
}}
 +
 +
{{Method
 +
|returntype=static void
 +
|name=FindClosestPoints
 +
|args={{arg|Orbit|p}},{{arg|Orbit|s}},{{arg|ref double|CD}},{{arg|ref double CCD}},{{arg|ref double|FFp}},{{arg|ref double|FFs}},{{arg|ref double|SFp}},{{arg|ref double SFs}},{{arg|double|epsilon}},{{arg|int|maxIterations}},{{arg|ref int|iterationCount}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetANVector
 +
|args=
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=GetDTforTrueAnomaly
 +
|args={{arg|double|tA}},{{arg|double|wrapAfterSeconds}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=GetEccentricAnomaly
 +
|args={{arg|double|tA}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetEccVector
 +
|args=
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetFrameVel
 +
|args=
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetFrameVelAtUT
 +
|args={{arg|double|UT}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=GetMeanAnomaly
 +
|args={{arg|double|E}},{{arg|double|tA}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getObTAtMeanAnomaly
 +
|args={{arg|double|M}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getObtAtUT
 +
|args={{arg|double|UT}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getOrbitalSpeedAt
 +
|args={{arg|double|time}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getOrbitalSpeedAtDistance
 +
|args={{arg|double|d}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getOrbitalSpeedAtPos
 +
|args={{arg|Vector3d|pos}}
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=getOrbitalSpeedAtRelativePos
 +
|args={{arg|Vector3d|relPos}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getOrbitalVelocityAtObT
 +
|args={{arg|double|ObT}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getOrbitalVelocityAtUT
 +
|args={{arg|double|UT}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetOrbitNormal()
 +
|args=
 +
}}
 +
 +
{{Method
 +
|returntype=Trajectory
 +
|name=GetPatchTrajectory
 +
|args={{arg|int|sampleCount}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getPositionAtT
 +
|args={{arg|double|T}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getPositionAtUT
 +
|args={{arg|double|UT}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getPositionFromEccAnomaly
 +
|args={{arg|double|E}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getPositionFromMeanAnomaly
 +
|args={{arg|double|M}}
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getPositionFromTrueAnomaly
 +
|args={{arg|double|tA}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getRelativePositionAtT
 +
|args={{arg|double|T}}
 +
 +
}}
 +
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getRelativePositionAtUT
 +
|args={{arg|double|UT}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getRelativePositionFromEccAnomaly
 +
|args={{arg|double|E}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getRelativePositionFromMeanAnomaly
 +
|args={{arg|double|m}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getRelativePositionFromTrueAnomaly
 +
|args={{arg|double|tA}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetRelativeVel
 +
|args=
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetRotFrameVel
 +
|args={{arg|CelestialBody|refBody}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=double
 +
|name=getTrueAnomaly
 +
|args={{arg|double|E}}
 +
 +
}}
 +
 +
 +
{{Method
 +
|returntype=double
 +
|name=GetTrueAnomalyOfZupVector
 +
|args={{arg|Vector3d|vector}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=getTruePositionAtUT
 +
|args={{arg|double|UT}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=GetUTforTrueAnomaly
 +
|args={{arg|double|tA}},{{arg|double|wrapAfterSeconds}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetVel
 +
|args=
 +
 +
}}
 +
 +
{{Method
 +
|returntype=Vector3d
 +
|name=GetWorldSpaceVel
 +
|args=
 +
 +
}}
 +
 +
{{Method
 +
|returntype=static bool
 +
|name=PeApIntersects
 +
|args={{arg|Orbit|primary}},{{arg|Orbit|secondary}},{{arg|double|threshold}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=RadiusAtTrueAnomaly
 +
|args={{arg|double|tA}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=static double
 +
|name=SolveClosestApproach
 +
|args={{arg|Orbit|p}},{{arg|Orbit|s}},{{arg|ref double|UT}},{{arg|double|dT}},{{arg|double|threshold}},{{arg|double|MinUT}},{{arg|double|MaxUT}},{{arg|double|epsilon}},{{arg|int|maxIterations}},{{arg|ref int|iterationCount}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=static double
 +
|name=SolveClosestBSP
 +
|args={{arg|ref double|Fp}},{{arg|ref double|Fs}},{{arg|double|Ir}},{{arg|double|dF}},{{arg|Orbit|p}},{{arg|orbit|s}},{{arg|double|epsilon}},{{arg|int|maxIterations}},{{arg|ref int|iterationCount}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=solveEccentricAnomaly
 +
|args={{arg|double|M}},{{arg|double|ecc}},{{arg|double|maxError}},{{arg|int|maxIterations}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=static bool
 +
|name=SolveSOI_BSP
 +
|args={{arg|Orbit|p}},{{arg|Orbit|s}},{{arg|ref double|UT}},{{arg|double|dT}},{{arg|double|Rsoi}},{{arg|double|MinUT}},{{arg|double|MaxUT}},{{arg|double|epsilon}},{{arg|int|maxIterations}},{{arg|ref int|iterationCount}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=TrueAnomalyAtRadius
 +
|args={{arg|double|R}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=TrueAnomalyAtT
 +
|args={{arg|double|T}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=double
 +
|name=TrueAnomalyAtUT
 +
|args={{arg|double|UT}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=void
 +
|name=UpdateFromOrbitAtUT
 +
|args={{arg|Orbit|orbit}},{{arg|double|UT}},{{arg|CelestialBody|toBody}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=void
 +
|name=UpdateFromStateVectors
 +
|args={{arg|Vector3d|pos}},{{arg|Vector3d|vel}},{{arg|CelestialBody|refBody}},{{arg|double|UT}}
 +
 +
}}
 +
 +
{{Method
 +
|returntype=void
 +
|name=UpdateFromUT
 +
|args={{arg|double|UT}}
 +
 +
}}
 +
 +
{{MethodsEnd}}
 +
 +
== Enumerations ==
 +
public enum EncounterSolutionLevel
 +
{
 +
:NONE,
 +
:ESCAPE,
 +
:ORBIT_INTERSECT,
 +
:SOI_INTERSECT_2,
 +
:SOI_INTERSECT_1
 +
}
 +
 +
public enum ObjectType
 +
{
 +
:VESSEL,
 +
:SPACE_DEBRIS,
 +
:CELESTIAL_BODIES,
 +
:UNKOWN_MISC,
 +
:KERBAL
 +
}
 +
 +
public enum PatchTransitionType{
 +
:INITIAL,
 +
:FINAL,
 +
:ENCOUNTER,
 +
:ESCAPE,
 +
:MANEUVER
 +
}
 +
== Tips ==
 +
-Use '''[[API:FlightGlobals|FlightGlobals]].[[API:FlightGlobals|ActiveVessel]].orbit.ApA''' to get the actual Apoapsis of the vessel controlled by the player.
 +
[[Category:Community API Documentation]]
 +
 +
{{PropertiesStart}}
 +
{{Property
 +
|type=double
 +
|name=ApA
 +
|hasget=1
 +
|desc=Actual Apoapsis.
 +
}}
 +
{{Property
 +
|type=double
 +
|name=ApR
 +
|hasget=1
 +
|desc=Apoapsis, including the radius of the planet.
 +
}}
 +
{{Property
 +
|type=double
 +
|name=PeA
 +
|hasget=1
 +
|desc=Actual Periapsis.
 +
}}
 +
{{Property|type=double
 +
|name=PeR
 +
|hasget=1
 +
|desc=Periapsis, including the radius of the planet.
 +
}}
 +
{{Property
 +
|type=double
 +
|name=semiLatusRectum
 +
|hasget=1
 +
|desc=Semi-latus Rectum, half the length of the chord parallel to the directrix through one of the orbit's foci.
 +
}}
 +
{{Property
 +
|type=double
 +
|name=semiMinorAxis
 +
|hasget=1
 +
|desc=Semi-minor Axis, half the length of the shorter axis through the center of the orbit.
 +
}}
 +
{{PropertiesEnd}}
 +
 +
{{FieldsStart}}
 +
{{Field
 +
|type=bool
 +
|name=activePatch
 +
}}
 +
{{Field
 +
|type=double
 +
|name=altitude
 +
|desc=Height above the surface of the reference body, including liquid bodies.
 +
}}
 +
{{Field
 +
|type=Vector3d
 +
|name=an
 +
}}
 +
{{Field
 +
|type=double
 +
|name=argumentOfPeriapsis
 +
}}
 +
{{Field
 +
|type=double
 +
|name=ClAppr
 +
|desc=Presumably the distance to the target at closest approach agnostic of encounters, in meters).
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=ClEctr1
 +
|desc= presumably as distance to target during the next closest encounter, in meters.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=ClEctr2
 +
|desc=Second closest encounter, as an unknown quantity (presumably distance to target, in meters).
 +
}}
 +
 +
{{Field
 +
|type=CelestialBody
 +
|name=closestEncounterBody
 +
|desc=The next celestial body to be encountered.
 +
}}
 +
 +
{{Field
 +
|type=EncounterSolutionLevel
 +
|name=closestEncounterLevel
 +
|desc=The type of the next closest encounter, constrained to the values enumerated in EncounterSolutionLevel.
 +
}}
 +
 +
{{Field
 +
|type=Orbit
 +
|name=closestEncounterPath
 +
|desc=The Orbit around the next celestial body to be encountered.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=closestTgtApprUT
 +
|desc=The time of the next closest approach, in Universal Time.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=crAppr
 +
|desc=Unknown type of approach type, presumably distance in meters.
 +
}}
 +
 +
{{Field
 +
|type=bool
 +
|name=debug_returnFullEllipseTrajectory
 +
}}
 +
 +
{{Field
 +
|type=Vector3
 +
|name=debugAN
 +
}}
 +
 +
{{Field
 +
|type=Vector3
 +
|name=debugEccVec
 +
}}
 +
 +
{{Field
 +
|type=Vector3
 +
|name=debugH
 +
}}
 +
 +
{{Field
 +
|type=Vector3
 +
|name=debugPos
 +
}}
 +
 +
{{Field
 +
|type=Vector3
 +
|name=debugVel
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=E
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=eccentricAnomaly
 +
|desc=The eccentric anomaly of the orbit, corresponding to the angle between the periapsis and the current projected position on a circle of radius equal to the semimajor axis.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=eccentricity
 +
|desc=The eccentricity of the orbit, describing the deviation of the orbit from a perfect circle, from 0 to 1 exclusive for elliptical and 1 to infinity exclusive for hyperbolic (0 being circular and 1 being parabolic)
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=eccVec
 +
|desc=The eccentricity vector of the orbit, whose magnitude is the eccentricity.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=EndUT
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=epoch
 +
|desc=The reference time of the orbit, presumably in Universal Time.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=FEVp
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=FEVs
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=fromE
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=fromV
 +
}}
 +
 +
{{Field
 +
|type=Vector3d
 +
|name=h
 +
|desc=The specific relative angular momentum vector of the orbit in meters squared per second, being specifically relative to the celestial body around which the orbit exists.
 +
}}
 +
 +
{{Field
 +
|type=double
 +
|name=inclination
 +
|desc=The inclination of the orbit above the reference plane, presumably in degrees.
 
}}
 
}}
  

Revision as of 06:16, 29 January 2014

Properties

The following are public properties available in Orbit.

Signature Description
double ApA { get; } Actual Apoapsis.
double ApR { get; } Apoapsis, including the radius of the planet.
double PeA { get; } Actual Periapsis.
double PeR { get; } Periapsis, including the radius of the planet.
double semiLatusRectum { get; } Semi-latus Rectum, half the length of the chord parallel to the directrix through one of the orbit's foci.
double semiMinorAxis { get; } Semi-minor Axis, half the length of the shorter axis through the center of the orbit.

Fields

The following is a list of publically-accessible fields in Orbit. This includes protected items, which can be accessed by subclasses.

Signature Description
bool activePatch ?
double altitude Height above the surface of the reference body, including liquid bodies.
Vector3d an ?
double argumentOfPeriapsis ?
double ClAppr Presumably the distance to the target at closest approach agnostic of encounters, in meters).
double ClEctr1 presumably as distance to target during the next closest encounter, in meters.
double ClEctr2 Second closest encounter, as an unknown quantity (presumably distance to target, in meters).
CelestialBody closestEncounterBody The next celestial body to be encountered.
EncounterSolutionLevel closestEncounterLevel The type of the next closest encounter, constrained to the values enumerated in EncounterSolutionLevel.
Orbit closestEncounterPath The Orbit around the next celestial body to be encountered.
double closestTgtApprUT The time of the next closest approach, in Universal Time.
double crAppr Unknown type of approach type, presumably distance in meters.
bool debug_returnFullEllipseTrajectory ?
Vector3 debugAN ?
Vector3 debugEccVec ?
Vector3 debugH ?
Vector3 debugPos ?
Vector3 debugVel ?
double E ?
double eccentricAnomaly The eccentric anomaly of the orbit, corresponding to the angle between the periapsis and the current projected position on a circle of radius equal to the semimajor axis.
double eccentricity The eccentricity of the orbit, describing the deviation of the orbit from a perfect circle, from 0 to 1 exclusive for elliptical and 1 to infinity exclusive for hyperbolic (0 being circular and 1 being parabolic)
Vector3d eccVec The eccentricity vector of the orbit, whose magnitude is the eccentricity.
double EndUT ?
double epoch The reference time of the orbit, presumably in Universal Time.
double FEVp ?
double FEVs ?
double fromE ?
double fromV ?
Vector3d h The specific relative angular momentum vector of the orbit in meters squared per second, being specifically relative to the celestial body around which the orbit exists.
double inclination The inclination of the orbit above the reference plane, presumably in degrees.
double LAN ?
double mag ?
double meanAnomaly ?
double meanAnomalyAtEpoch ?
double nearestTT Obsolete, Use VesselType or CelestialBodyType instead.
double ObT ?
double ObTAtEpoch ?
double orbitalEnergy ?
double orbitalSpeed ?
double orbitalPercent ?
PatchTransitionType patchEndTransition ?
PatchTransitionType patchStartTransition ?
double period ?
Vector3d pos ?
Orbit previousPatch ?
double radius ?
CelestialBody referenceBody ?
double sampleInterval ?
Vector3d secondaryPosAtTransition1 ?
Vector3d secondaryPosAtTransition2 ?
double semiMajorAxis ?
double SEVp ?
double SEVs ?
double StartUT ?
double timeToAp Time in seconde before reach the actual Apoapsis.
double timeToPe Time in seconde before reach the actual Periapsis.
double timeToTransition1 ?
double timeToTransition2 ?
double toE ?
double toV ?
double trueAnomaly ?
double UTappr ?
double UTsoi ?
double V ?
Vector3d vel ?

Methods

The following are methods included in Orbit.

Signature Description
static Orbit() ?
public Orbit(double inc,double e,double sma,double lan,double w,double mEp,double t,CelestialBody body) ?
void DrawOrbit() ?
static void FindClosestPoints(Orbit p,Orbit s,ref double CD,ref double CCD ,ref double FFp,ref double FFs,ref double SFp,ref double SFs ,double epsilon,int maxIterations,ref int iterationCount) ?
Vector3d GetANVector() ?
double GetDTforTrueAnomaly(double tA,double wrapAfterSeconds) ?
double GetEccentricAnomaly(double tA) ?
Vector3d GetEccVector() ?
Vector3d GetFrameVel() ?
Vector3d GetFrameVelAtUT(double UT) ?
double GetMeanAnomaly(double E,double tA) ?
double getObTAtMeanAnomaly(double M) ?
double getObtAtUT(double UT) ?
double getOrbitalSpeedAt(double time) ?
double getOrbitalSpeedAtDistance(double d) ?
double getOrbitalSpeedAtPos(Vector3d pos) ?
double getOrbitalSpeedAtRelativePos(Vector3d relPos) ?
Vector3d getOrbitalVelocityAtObT(double ObT) ?
Vector3d getOrbitalVelocityAtUT(double UT) ?
Vector3d GetOrbitNormal()() ?
Trajectory GetPatchTrajectory(int sampleCount) ?
Vector3d getPositionAtT(double T) ?
Vector3d getPositionAtUT(double UT) ?
Vector3d getPositionFromEccAnomaly(double E) ?
Vector3d getPositionFromMeanAnomaly(double M) ?
Vector3d getPositionFromTrueAnomaly(double tA) ?
Vector3d getRelativePositionAtT(double T) ?


Vector3d getRelativePositionAtUT(double UT) ?


Vector3d getRelativePositionFromEccAnomaly(double E) ?


Vector3d getRelativePositionFromMeanAnomaly(double m) ?


Vector3d getRelativePositionFromTrueAnomaly(double tA) ?


Vector3d GetRelativeVel() ?


Vector3d GetRotFrameVel(CelestialBody refBody) ?


double getTrueAnomaly(double E) ?


double GetTrueAnomalyOfZupVector(Vector3d vector) ?
Vector3d getTruePositionAtUT(double UT) ?
double GetUTforTrueAnomaly(double tA,double wrapAfterSeconds) ?
Vector3d GetVel() ?
Vector3d GetWorldSpaceVel() ?
static bool PeApIntersects(Orbit primary,Orbit secondary,double threshold) ?
double RadiusAtTrueAnomaly(double tA) ?
static double SolveClosestApproach(Orbit p,Orbit s,ref double UT,double dT,double threshold,double MinUT,double MaxUT,double epsilon,int maxIterations,ref int iterationCount) ?
static double SolveClosestBSP(ref double Fp,ref double Fs,double Ir,double dF,Orbit p,orbit s,double epsilon,int maxIterations,ref int iterationCount) ?
double solveEccentricAnomaly(double M,double ecc,double maxError,int maxIterations) ?
static bool SolveSOI_BSP(Orbit p,Orbit s,ref double UT,double dT,double Rsoi,double MinUT,double MaxUT,double epsilon,int maxIterations,ref int iterationCount) ?
double TrueAnomalyAtRadius(double R) ?
double TrueAnomalyAtT(double T) ?
double TrueAnomalyAtUT(double UT) ?
void UpdateFromOrbitAtUT(Orbit orbit,double UT,CelestialBody toBody) ?
void UpdateFromStateVectors(Vector3d pos,Vector3d vel,CelestialBody refBody,double UT) ?
void UpdateFromUT(double UT) ?

Enumerations

public enum EncounterSolutionLevel {

NONE,
ESCAPE,
ORBIT_INTERSECT,
SOI_INTERSECT_2,
SOI_INTERSECT_1

}

public enum ObjectType {

VESSEL,
SPACE_DEBRIS,
CELESTIAL_BODIES,
UNKOWN_MISC,
KERBAL

}

public enum PatchTransitionType{

INITIAL,
FINAL,
ENCOUNTER,
ESCAPE,
MANEUVER

}

Tips

-Use FlightGlobals.ActiveVessel.orbit.ApA to get the actual Apoapsis of the vessel controlled by the player.

Properties

The following are public properties available in Orbit.

Signature Description
double ApA { get; } Actual Apoapsis.
double ApR { get; } Apoapsis, including the radius of the planet.
double PeA { get; } Actual Periapsis.
double PeR { get; } Periapsis, including the radius of the planet.
double semiLatusRectum { get; } Semi-latus Rectum, half the length of the chord parallel to the directrix through one of the orbit's foci.
double semiMinorAxis { get; } Semi-minor Axis, half the length of the shorter axis through the center of the orbit.

Fields

The following is a list of publically-accessible fields in Orbit. This includes protected items, which can be accessed by subclasses.

Signature Description
bool activePatch ?
double altitude Height above the surface of the reference body, including liquid bodies.
Vector3d an ?
double argumentOfPeriapsis ?
double ClAppr Presumably the distance to the target at closest approach agnostic of encounters, in meters).
double ClEctr1 presumably as distance to target during the next closest encounter, in meters.
double ClEctr2 Second closest encounter, as an unknown quantity (presumably distance to target, in meters).
CelestialBody closestEncounterBody The next celestial body to be encountered.
EncounterSolutionLevel closestEncounterLevel The type of the next closest encounter, constrained to the values enumerated in EncounterSolutionLevel.
Orbit closestEncounterPath The Orbit around the next celestial body to be encountered.
double closestTgtApprUT The time of the next closest approach, in Universal Time.
double crAppr Unknown type of approach type, presumably distance in meters.
bool debug_returnFullEllipseTrajectory ?
Vector3 debugAN ?
Vector3 debugEccVec ?
Vector3 debugH ?
Vector3 debugPos ?
Vector3 debugVel ?
double E ?
double eccentricAnomaly The eccentric anomaly of the orbit, corresponding to the angle between the periapsis and the current projected position on a circle of radius equal to the semimajor axis.
double eccentricity The eccentricity of the orbit, describing the deviation of the orbit from a perfect circle, from 0 to 1 exclusive for elliptical and 1 to infinity exclusive for hyperbolic (0 being circular and 1 being parabolic)
Vector3d eccVec The eccentricity vector of the orbit, whose magnitude is the eccentricity.
double EndUT ?
double epoch The reference time of the orbit, presumably in Universal Time.
double FEVp ?
double FEVs ?
double fromE ?
double fromV ?
Vector3d h The specific relative angular momentum vector of the orbit in meters squared per second, being specifically relative to the celestial body around which the orbit exists.
double inclination The inclination of the orbit above the reference plane, presumably in degrees.
double LAN ?
double mag ?
double meanAnomaly ?
double meanAnomalyAtEpoch ?
double nearestTT Obsolete, Use VesselType or CelestialBodyType instead.
double ObT ?
double ObTAtEpoch ?
double orbitalEnergy ?
double orbitalSpeed ?
double orbitalPercent ?
PatchTransitionType patchEndTransition ?
PatchTransitionType patchStartTransition ?
double period ?
Vector3d pos ?
Orbit previousPatch ?
double radius ?
CelestialBody referenceBody ?
double sampleInterval ?
Vector3d secondaryPosAtTransition1 ?
Vector3d secondaryPosAtTransition2 ?
double semiMajorAxis ?
double SEVp ?
double SEVs ?
double StartUT ?
double timeToAp Time in seconde before reach the actual Apoapsis.
double timeToPe Time in seconde before reach the actual Periapsis.
double timeToTransition1 ?
double timeToTransition2 ?
double toE ?
double toV ?
double trueAnomaly ?
double UTappr ?
double UTsoi ?
double V ?
Vector3d vel ?

Methods

The following are methods included in Orbit.

Signature Description
static Orbit() ?
public Orbit(double inc,double e,double sma,double lan,double w,double mEp,double t,CelestialBody body) ?
void DrawOrbit() ?
static void FindClosestPoints(Orbit p,Orbit s,ref double CD,ref double CCD ,ref double FFp,ref double FFs,ref double SFp,ref double SFs ,double epsilon,int maxIterations,ref int iterationCount) ?
Vector3d GetANVector() ?
double GetDTforTrueAnomaly(double tA,double wrapAfterSeconds) ?
double GetEccentricAnomaly(double tA) ?
Vector3d GetEccVector() ?
Vector3d GetFrameVel() ?
Vector3d GetFrameVelAtUT(double UT) ?
double GetMeanAnomaly(double E,double tA) ?
double getObTAtMeanAnomaly(double M) ?
double getObtAtUT(double UT) ?
double getOrbitalSpeedAt(double time) ?
double getOrbitalSpeedAtDistance(double d) ?
double getOrbitalSpeedAtPos(Vector3d pos) ?
double getOrbitalSpeedAtRelativePos(Vector3d relPos) ?
Vector3d getOrbitalVelocityAtObT(double ObT) ?
Vector3d getOrbitalVelocityAtUT(double UT) ?
Vector3d GetOrbitNormal()() ?
Trajectory GetPatchTrajectory(int sampleCount) ?
Vector3d getPositionAtT(double T) ?
Vector3d getPositionAtUT(double UT) ?
Vector3d getPositionFromEccAnomaly(double E) ?
Vector3d getPositionFromMeanAnomaly(double M) ?
Vector3d getPositionFromTrueAnomaly(double tA) ?
Vector3d getRelativePositionAtT(double T) ?


Vector3d getRelativePositionAtUT(double UT) ?


Vector3d getRelativePositionFromEccAnomaly(double E) ?


Vector3d getRelativePositionFromMeanAnomaly(double m) ?


Vector3d getRelativePositionFromTrueAnomaly(double tA) ?


Vector3d GetRelativeVel() ?


Vector3d GetRotFrameVel(CelestialBody refBody) ?


double getTrueAnomaly(double E) ?


double GetTrueAnomalyOfZupVector(Vector3d vector) ?
Vector3d getTruePositionAtUT(double UT) ?
double GetUTforTrueAnomaly(double tA,double wrapAfterSeconds) ?
Vector3d GetVel() ?
Vector3d GetWorldSpaceVel() ?
static bool PeApIntersects(Orbit primary,Orbit secondary,double threshold) ?
double RadiusAtTrueAnomaly(double tA) ?
static double SolveClosestApproach(Orbit p,Orbit s,ref double UT,double dT,double threshold,double MinUT,double MaxUT,double epsilon,int maxIterations,ref int iterationCount) ?
static double SolveClosestBSP(ref double Fp,ref double Fs,double Ir,double dF,Orbit p,orbit s,double epsilon,int maxIterations,ref int iterationCount) ?
double solveEccentricAnomaly(double M,double ecc,double maxError,int maxIterations) ?
static bool SolveSOI_BSP(Orbit p,Orbit s,ref double UT,double dT,double Rsoi,double MinUT,double MaxUT,double epsilon,int maxIterations,ref int iterationCount) ?
double TrueAnomalyAtRadius(double R) ?
double TrueAnomalyAtT(double T) ?
double TrueAnomalyAtUT(double UT) ?
void UpdateFromOrbitAtUT(Orbit orbit,double UT,CelestialBody toBody) ?
void UpdateFromStateVectors(Vector3d pos,Vector3d vel,CelestialBody refBody,double UT) ?
void UpdateFromUT(double UT) ?

Enumerations

public enum EncounterSolutionLevel {

NONE,
ESCAPE,
ORBIT_INTERSECT,
SOI_INTERSECT_2,
SOI_INTERSECT_1

}

public enum ObjectType {

VESSEL,
SPACE_DEBRIS,
CELESTIAL_BODIES,
UNKOWN_MISC,
KERBAL

}

public enum PatchTransitionType{

INITIAL,
FINAL,
ENCOUNTER,
ESCAPE,
MANEUVER

}

Tips

-Use FlightGlobals.ActiveVessel.orbit.ApA to get the actual Apoapsis of the vessel controlled by the player.