-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathOrbits.kc
77 lines (68 loc) · 1.73 KB
/
Orbits.kc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
module KOS::Orbits;
import KOS::Builtin unqualified;
import KOS::Collections unqualified;
import KOS::Math unqualified;
import KOS::Geography unqualified;
builtin structure Orbit : Structure {
String Name get;
Scalar Apoapsis get;
Scalar Periapsis get;
Body Body get;
Scalar Period get;
Scalar Inclination get;
Scalar Eccentricity get;
Scalar SemiMajorAxis get;
Scalar SemiMinorAxis get;
Scalar LAN get;
Scalar LongitudeOfAscendingNode get;
Scalar ArgumentOfPeriapsis get;
Scalar TrueAnomaly get;
Scalar MeanAnomalyAtEpoch get;
String Transition get; // TODO: enum
Vector Position get;
Vector Velocity get;
Orbit NextPatch get;
Scalar NextPatchETA get;
Boolean HasNextPatch get;
}
builtin structure Orbitable : Structure {
String Name get;
Body Body get;
Boolean HasBody get;
Boolean HasOrbit get;
Orbit Orbit get;
Direction Up get;
Direction North get;
Direction Prograde get;
Direction SrfPrograde get;
Direction Retrograde get;
Direction SrfRetrograde get;
Vector Position get;
OrbitableVelocity Velocity get;
Scalar Distance get;
Direction Direction get;
Scalar Latitude get;
Scalar Longitude get;
Scalar Altitude get;
GeoCoordinates GeoPosition get;
List<Orbit> Patches get;
}
builtin structure OrbitableVelocity : Structure {
Vector Orbit get;
Vector Surface get;
}
builtin structure ETA : Structure {
Scalar Apoapsis;
Scalar Periapsis;
Scalar Transition;
}
builtin ETA ETA get;
builtin structure ALT : Structure {
Scalar Apoapsis;
Scalar Periapsis;
Scalar Radar;
}
builtin ALT ALT get;
builtin Vector PositionAt(Orbitable sat, Scalar time);
builtin OrbitableVelocity VelocityAt(Orbitable sat, Scalar time);
builtin Orbit OrbitAt(Orbitable sat, Scalar time);