Skip to main content

Module motors

Module motors 

Source
Expand description

The motors a .ork design flies: its motor configurations, the motor each mount holds in each of them, when that motor ignites, its ejection delay, and the thrust curve it flies on.

Where a .ork keeps them. A design declares its configurations once, under <rocket>, as <motorconfiguration configid="…"> elements with a name, a default flag and the stages that fly. The motors themselves are not there: each body tube or inner tube that is a motor mount carries a <motormount>, and that holds one <motor configid="…"> per configuration it is loaded in (a manufacturer, a designation, a digest, a case diameter and length and a delay), plus when it ignites, as a default for the mount and an <ignitionconfiguration> per configuration that changes it (the file specification, Motor Mount). So a configuration is read by collecting every mount’s motor with its id (Loft lesson L65: Loft read only one of the two places).

The thrust curve. A <motor> names a motor; it does not describe one. From schema 1.11 the archive can carry the curve itself as thrustcurves/<digest>.rse (the file specification, Embedded Thrust Curve Data). That curve is used first: it is the one the design was saved with, named by the file’s own digest (Loft lesson L57: Loft threw such curves away). Next come any curves the caller supplies by digest (SuppliedCurves, design_with), such as OpenRocket’s own motor database: a digest names the curve exactly, so a supplied curve is the one the design was saved with too. Last, the motor is looked up in the bundled catalog by manufacturer and designation. A motor found in none of these places is read with its reason, and nothing is invented for it.

What hpr flies. A configuration whose every motor has a curve and a size, in a mount hpr reads, and lights when hpr can light it, becomes one of the rocket’s configurations, with each motor’s ignition and its separations read as the staging module says (M1.9c, decision ADR-076). Every other one is kept here, whole, with the reason it is not flown.

Structs§

CaseSize
The case a supplied curve describes: where its motor’s size comes from, to compare with the size the design gives the motor.
Ignition
When a motor ignites: an event and a delay after it.
LeftOut
Why a configuration is not among the rocket’s.
MotorConfiguration
A motor configuration: what the rocket declares, and every motor the mounts put in it.
Motors
Every motor configuration a .ork design holds.
OrkMotor
A motor in a mount, in one configuration: what the <motor> element says, when it ignites in that configuration, and the curve it flies on.
SuppliedCurves
Thrust curves the caller supplies, each for the OpenRocket digest a <motor> records.
UnreadMotor
A <motor> inside a part hpr does not read, such as a pod’s mount.

Enums§

Curve
Where a <motor> element’s thrust curve came from.
IgnitionEvent
When a motor ignites, as <ignitionevent> names it.
NoCurve
Why a motor has no thrust curve.
NotFlown
The reasons a configuration cannot be flown as written, in the order they are checked; each is checked across every motor before the next, so the one given is the first on this list that applies.