Difference between revisions of "API:Orbit"

From Kerbal Space Program Wiki
Jump to: navigation, search
(Added brief description of constructor parameters)
m (Blanked the page)
Line 1: Line 1:
  
{{PropertiesStart}}
 
{{Property
 
|type=double
 
|name=ApA
 
|hasget=1
 
|desc=Apoapsis altitude, distance from the apoapsis to the surface of the reference body.
 
}}
 
{{Property
 
|type=double
 
|name=ApR
 
|hasget=1
 
|desc=Apoapsis radius, distance from the apoapsis to the center of the reference body.
 
}}
 
{{Property
 
|type=double
 
|name=PeA
 
|hasget=1
 
|desc=Periapsis altitude, distance from the periapsis to the surface of the reference body.
 
}}
 
{{Property|type=double
 
|name=PeR
 
|hasget=1
 
|desc=Periapsis radius, distance from the periapsis to the center of the reference body.
 
}}
 
{{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
 
|desc=[[w:Argument of periapsis|Argument of periapsis]] (degrees)
 
}}
 
{{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 (degrees)
 
}}
 
 
{{Field
 
|type=double
 
|name=LAN
 
|desc=[[w:Longitude of the ascending node|Longitude of the ascending node]] (degrees)
 
}}
 
 
{{Field
 
|type=double
 
|name=mag
 
}}
 
 
{{Field
 
|type=double
 
|name=meanAnomaly
 
|desc=Current [[w:Mean Anomaly|mean anomaly]] (radians, not an angle)
 
}}
 
 
{{Field
 
|type=double
 
|name=meanAnomalyAtEpoch
 
|desc=[[w:Mean Anomaly|Mean anomaly]] at epoch (radians, not an angle)
 
}}
 
 
{{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
 
|desc=The current orbital speed(m/s). Use Orbit.vel.magnitude to get the actual orbital speed instead.
 
}}
 
 
{{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
 
|desc=CelestialBody around which you are orbiting.
 
}}
 
 
{{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 seconds before reach the apoapsis.
 
}}
 
 
{{Field
 
|type=double
 
|name=timeToPe
 
|desc=Time in seconds before reach the 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
 
|desc=Actual orbital velocity (orbital speed).
 
}}
 
{{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}}
 
|desc="inc" is probably inclination, "e" is probably eccentricity, "sma" is probably semi-major axis, "lan" is probably longitude of the ascending node, "w" is probably the argument of periapsis (omega), and mEp is probably a mean anomaly at some time, like epoch, and t is probably current time, See https://en.wikipedia.org/wiki/Orbital_elements
 
}}
 
 
{{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.<br />
 
-Use '''[[API:FlightGlobals|FlightGlobals]].[[API:FlightGlobals|ActiveVessel]].orbit.vel.magnitude''' to get the actual orbital speed in m/s of the vessel controlled by the player.
 
[[Category:Community API Documentation]]
 

Revision as of 17:44, 17 March 2017