Thrift struct 注释
有关部分 Thrift struct 属性的注释,不是所有的属性都列了出来,除非必要。
注:
- 有关长度/距离的属性,单位是“米”
- 有关时间的属性,单位是“秒”
- 有关温度的属性,单位是“开尔文”
- 有关质量的属性,单位是“千克”
- 有关角度的属性,单位是“度”
struct Vessel {
5: double MET, // 从任务开始至今的时间
6: i32 stage, // 当前分级
7: string biome, // 载具当前处于的地貌名称
15: optional map<string, observor.VesselResource> totalResources, // 整个载具持有的资源
16: optional map<string, observor.VesselResource> inUseResources, // 当前可被消耗的资源
}
struct Orbit {
2: double apoapsis, // 远地点高度,从天体质心到远地点的距离
3: double periapsis, // 近地点高度,从天体质心到近地点的距离
4: double apoapsisAltitude, // 远地点海平面高度,从海平面到远地点的距离
5: double periapsisAltitude, // 近地点海平面高度,从海平面到近地点的距离
6: double semiMajorAxis, // 半长轴
7: double semiMinorAxis, // 短半轴
8: double radius, // 半径
9: double speed, // 在世界坐标系中的速率
10: double period, // 轨道周期
11: double timeToApoapsis, // 距离下次到达远地点的时间
12: double timeToPeriapsis, // 距离下次到达近地点的时间
13: double eccentricity, // 偏心率
14: double inclination, // 轨道倾角
15: double longitudeOfAscendingNode, // 升交点经度
16: double argumentOfPeriapsis, // 近心点角
17: double meanAnomalyAtEpoch, // 历元时刻平近点角
18: double epoch, // 从历元开始至今的时间
19: double meanAnomaly, // 当前平近点角
20: double eccentricAnomaly, // 偏近点角
21: double trueAnomaly, // 真近点角
22: double timeToSOIChange, // 距离切换到另一个天体的引力影响范围的时间
23: double orbitalSpeed, // 相对于被环绕天体质心的轨道速度
}
struct Part {
4: i32 stage, // (Part.inverseStage)在游戏GUI的分级列表中,该部件所处于的分级编号
5: double mass, // 湿重
6: double dryMass, // 干重(去掉可被消耗的资源)
10: double maxTemperature, // 若部件温度高于“maxTemperature”,则部件将被摧毁
11: double maxSkinTemperature, // 若部件表面温度高于“maxSkinTemperature”,则部件将被摧毁
12: optional Resources resources, // 部件包含的资源
}
struct CelestialBody{
4: double gravitationalParameter, // 地心引力参数
5: double surfaceGravity, // 海平面地心引力
6: double rotationalPeriod, // 恒星日长度(区别于真太阳日)
7: double rotationalSpeed, // 恒星自转角速度,单位“度/秒”
8: double rotationAngle, // 当前恒星自转角度
9: double initialRotation, // 在UT为0时刻的恒星自转角度
10: double equatorialRadius, // 赤道半径
11: double sphereOfInfluence, // 引力影响范围
13: bool hasAtmosphere, // 是否有大气层
14: double atmosphereDepth, // 大气层厚度
15: bool hasAtmosphericOxygen, // 大气是否含氧
16: list<string> biomes, // 天体所包含地貌的列表
17: double flyingHighAltitudeThreshold, // 大气层中高于此高度,则被认定为“high”
18: double spaceHighAltitudeThreshold, // 真空中高于此高度,则被认定为“high”
}
struct TargetOrbitInfo {
1: double closestApproachTime, // 与目标距离最近的时刻
2: double closestApproachDistance, // 与目标距离最近时的距离
3: double trueAnomalyAtAN, // 升交点真近点角,角度范围是0至180
4: double trueAnomalyAtDN, // 降交点真近点角,角度范围是0至180
5: double relativeInclination, // 相对于目标轨道平面的轨道倾角
}
struct ManeuverNode {
3: Vector3d deltaVVector, // 预设的deltaV向量,不会发生改变
4: double deltaV, // 预设deltaV向量的标量,不会发生改变,单位“米/秒”
5: Vector3d remainingBurnVector, // 剩余deltaV向量,随着载具实施机动而改变
6: double remainingDeltaV, // 剩余deltaV向量的标量,随着载具实施机动而改变
}
struct AttitudeInfo { // 所有属性均以“世界坐标系”作为参考系。除prograde,normal和radial,未对向量做正规化
1: Vector3d position, // 位置
2: Vector3d direction, // 指向
3: Vector3d velocity, // 速度
4: Vector3d prograde, // 轨道顺行方向(左手定则Z轴)
5: Vector3d normal, // 轨道法向方向(左手定则Y轴)
6: Vector3d radial, // 轨道径向方向(左手定则X轴)
7: Vector3d up, // 飞行姿态“Up”方向(左手定则Y轴),即“指向”
8: Vector3d forward, // 飞行姿态“Forward”方向(左手定则Z轴)
9: Vector3d right, // 飞行姿态“Right”方向(左手定则X轴)
10: KQuaternionD rotation, // 旋转
}
struct Wheel {
3: double radius, // 车轮半径
6: double brakeForce, // 刹车力度百分比
7: bool autoFrictionControl, // 是否启用自动抓地力控制(抓地力控制)
8: double manualFrictionControl, // 手动抓地力控制设置
11: bool powered, // 是否通过马达驱动
13: bool motorInverted, // 是否马达反转
15: double motorOutput, // 当前扭矩输出,单位“牛米”
16: bool tractionControlEnabled, // 是否启用牵引力控制
17: double tractionControl, // 牵引力输出范围,启用牵引力控制时,发挥作用
18: double driveLimiter, // 牵引力输出限制,禁用牵引力控制时,发挥作用
19: bool steerable, // 是否可转向
20: bool steeringEnabled, // 是否启用转向
21: bool steeringInverted, // 是否反转转向
22: bool hasSuspension, // 是否有悬挂系统
23: double suspensionSpringStrength, // 悬挂弹簧强度
24: double suspensionDamperStrength, // 悬挂阻尼器强度
27: double stress, // 当前轮上压力,单位“千帕(kPA)”
28: double stressTolerance, // 轮上压力上限,超过此压力时车轮损坏,单位“千帕(kPA)”
29: double stressPercentage, // 当前轮上压力占压力上限的百分比
30: double deflection, // 车轮偏转量
31: double slip, // 车轮滑动量
}
struct ResourceHarvester {
4: double extractionRate, // 开采速度,单位“Unit/秒”
5: double thermalEfficiency, // 热效率
6: double coreTemperature, // 核心温度
7: double optimumCoreTemperature, // 最优核心温度
}
struct ConverterResource {
// 举例,输入资源A的比率为0.3,输入资源B的比率为0.7,那么,每输出1单位资源,将消耗0.3单位A,和0.7单位B。
2: double ratio, // 资源比率
}
struct Converter {
5: double thermalEfficiency, // 热效率
6: double coreTemperature, // 核心温度
7: double optimumCoreTemperature, // 最优核心温度
8: list<ConverterResource> inputs, // 转换输入资源配比
9: list<ConverterResource> outputs, // 转换输出资源配比
10: list<ConverterResource> requirements, // 转换消耗资源
}
struct Propellant {
2: double currentAmount, // 当前节流阀开度下的实际流速,单位“Unit/秒”
3: double currentRequirement, // 当前节流阀开度下的最大流速,单位“Unit/秒”
4: double totalResourceAvailable, // 可用资源剩余量
5: double totalResourceCapacity, // 可用资源上限
6: bool isDeprived, // 是否已耗尽
}
struct Engine {
2: double thrust, // 当前推力,单位“牛”
3: double maxVacuumThrust, // 真空最大推力(真空环境下,节流阀打开100%),单位“牛”
4: double thrustPercentage, // 推力限制百分比,当前环境下的最大推力为100%
5: double specificImpulse, // 当前比冲,单位“秒”
6: double vacuumSpecificImpulse, // 真空比冲
7: double kerbinSeaLevelSpecificImpulse, // 在Kerbin海平面的比冲
9: map<string, Propellant> propellants, // 对该发动机可用的资源总和
11: double throttle, // 当前节流阀开度,可以与载具的全局节流阀设置(mainThrottle)不同,有些发动机需要时间来调整开度,比如喷气发动机
12: bool throttleLocked, // 是否节流阀已锁定
13: bool canRestart, // 是否可重新点火
14: bool canShutdown, // 是否可关闭,比如固体发动机无法关闭
15: bool hasModes, // 是否有多个燃烧模式
16: bool autoSwitchMode, // 是否自动切换模式
17: string mode, // 当前模式
18: list<string> modes, // 模式列表
19: bool gimballed, // 是否可调整喷射角度
20: double gimbalRange, // 角度调整范围
21: bool gimbalLocked, // 是否已锁定喷射角度
22: double gimbalLimit, // 角度限制范围,取值范围从-100(反转)到100
}
struct Decoupler {
1: bool decoupled, // 是否已分离
2: bool stagingEnabled, // 是否在分级列表中
3: double ejectionForce, // 分离冲量,单位“牛秒”
}
struct ControlSurface {
4: double authorityLimiter, // 控制面活动范围,取值范围从-100到100
7: double surfaceArea, // 控制面表面积,单位“平方米”
}
struct CargoBay {
2: double deployPercent, // 舱门开合度
}
struct Antenna {
2: bool canTransmit, // 是否可用于发送数据
3: bool allowPartial, // 是否允许部分数据传输
4: double power, // 功率
5: bool combinable, // 是否可以通过与其他天线组合,来增强功率和信号强度
6: double combinableExponent, // 用来计算合并功率的指数
7: double packetInterval, // 数据包传输间隔,单位“秒”
8: double packetSize, // 数据包大小,单位“米特(Mits)”
9: double packetResourceCost, // 每发送一个数据包需要消耗的电量,单位“Unit”
}
struct Resource {
2: double capacity, // 该部件当前存储的资源量
3: double amount, // 该部件持有该资源的总量的上限
}