Difference between revisions of "API:Orbit"
From Kerbal Space Program Wiki
Leoshnoire (talk | contribs) m (Clarified some definitions) |
m (-random case;) |
||
Line 5: | Line 5: | ||
|name=ApA | |name=ApA | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Apoapsis | + | |desc=Apoapsis altitude, distance from the apoapsis to the surface of the reference body. |
}} | }} | ||
{{Property | {{Property | ||
Line 11: | Line 11: | ||
|name=ApR | |name=ApR | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Apoapsis | + | |desc=Apoapsis radius, distance from the apoapsis to the center of the reference body. |
}} | }} | ||
{{Property | {{Property | ||
Line 17: | Line 17: | ||
|name=PeA | |name=PeA | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Periapsis | + | |desc=Periapsis altitude, distance from the periapsis to the surface of the reference body. |
}} | }} | ||
{{Property|type=double | {{Property|type=double | ||
|name=PeR | |name=PeR | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Periapsis | + | |desc=Periapsis radius, distance from the periapsis to the center of the reference body. |
}} | }} | ||
{{Property | {{Property | ||
Line 28: | Line 28: | ||
|name=semiLatusRectum | |name=semiLatusRectum | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Semi- | + | |desc=Semi-latus rectum, half the length of the chord parallel to the directrix through one of the orbit's foci. |
}} | }} | ||
{{Property | {{Property | ||
Line 34: | Line 34: | ||
|name=semiMinorAxis | |name=semiMinorAxis | ||
|hasget=1 | |hasget=1 | ||
− | |desc=Semi- | + | |desc=Semi-minor axis, half the length of the shorter axis through the center of the orbit. |
}} | }} | ||
{{PropertiesEnd}} | {{PropertiesEnd}} | ||
Line 324: | Line 324: | ||
|type=double | |type=double | ||
|name=timeToAp | |name=timeToAp | ||
− | |desc=Time in | + | |desc=Time in seconds before reach the apoapsis. |
}} | }} | ||
Line 330: | Line 330: | ||
|type=double | |type=double | ||
|name=timeToPe | |name=timeToPe | ||
− | |desc=Time in | + | |desc=Time in seconds before reach the periapsis. |
}} | }} | ||
Revision as of 10:33, 5 February 2014
Contents
Properties
The following are public properties available in Orbit.
Signature | Description |
---|---|
double ApA { get; } | Apoapsis altitude, distance from the apoapsis to the surface of the reference body. |
double ApR { get; } | Apoapsis radius, distance from the apoapsis to the center of the reference body. |
double PeA { get; } | Periapsis altitude, distance from the periapsis to the surface of the reference body. |
double PeR { get; } | Periapsis radius, distance from the periapsis to the center of the reference body. |
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 seconds before reach the apoapsis. |
double timeToPe | Time in seconds before reach the 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.