|
lob 0.11.0
Exterior ballistics library — API + technical reference
|
Classes | |
| class | Builder |
| Builder class for constructing Context objects with a friendly interface. More... | |
| struct | Context |
| Structure of parameters consumed by the solver. More... | |
Typedefs | |
| using | Gravity = ::LobGravity |
Gravity vector. See LobGravity for member details. | |
| using | Wind = ::LobWind |
Wind vector. See LobWind for member details. | |
| using | Coriolis = ::LobCoriolis |
Coriolis effect parameters. See LobCoriolis for member details. | |
| using | Output = ::LobOutput |
Structure holding output results. See LobOutput for member details. | |
Enumerations | |
| enum class | DragFunctionT : LobDragFunctionT { kG1 = ::kLobDragFunctionG1 , kG2 = ::kLobDragFunctionG2 , kG5 = ::kLobDragFunctionG5 , kG6 = ::kLobDragFunctionG6 , kG7 = ::kLobDragFunctionG7 , kG8 = ::kLobDragFunctionG8 } |
| Enumerates the supported drag functions. More... | |
| enum class | AtmosphereReferenceT : LobAtmosphereReferenceT { kArmyStandardMetro , kIcao = ::kLobAtmosphereReferenceIcao } |
| Enumerates the supported atmosphere reference types. More... | |
| enum class | ClockAngleT : LobClockAngleT { kI = ::kLobClockAngleI , kII = ::kLobClockAngleII , kIII = ::kLobClockAngleIII , kIV = ::kLobClockAngleIV , kV = ::kLobClockAngleV , kVI = ::kLobClockAngleVI , kVII = ::kLobClockAngleVII , kVIII = ::kLobClockAngleVIII , kIX = ::kLobClockAngleIX , kX = ::kLobClockAngleX , kXI = ::kLobClockAngleXI , kXII = ::kLobClockAngleXII } |
| Enumerates clock angle positions. More... | |
| enum class | ErrorT : LobErrorT { kNone = ::kLobErrorNone , kAirPressureOOR = ::kLobErrorAirPressureOOR , kAltitudeOfBarometerOOR = ::kLobErrorAltitudeOfBarometerOOR , kAltitudeOfFiringSiteOOR = ::kLobErrorAltitudeOfFiringSiteOOR , kAltitudeOfThermometerOOR = ::kLobErrorAltitudeOfThermometerOOR , kAzimuthOOR = ::kLobErrorAzimuthOOR , kBallisticCoefficientOOR = ::kLobErrorBallisticCoefficientOOR , kBallisticCoefficientRequired = ::kLobErrorBallisticCoefficientRequired , kBaseDiameterOOR = ::kLobErrorBaseDiameterOOR , kBcBandsInvalid = ::kLobErrorBcBandsInvalid , kBcBandsNotMonotonic = ::kLobErrorBcBandsNotMonotonic , kBcBandsTooShort = ::kLobErrorBcBandsTooShort , kDiameterOOR = ::kLobErrorDiameterOOR , kHumidityOOR = ::kLobErrorHumidityOOR , kInitialVelocityRequired = ::kLobErrorInitialVelocityRequired , kInternalError = ::kLobErrorInternalError , kLatitudeOOR = ::kLobErrorLatitudeOOR , kLengthOOR = ::kLobErrorLengthOOR , kMachDragTableInvalid = ::kLobErrorMachDragTableInvalid , kMachDragTableNotMonotonic = ::kLobErrorMachDragTableNotMonotonic , kMachDragTableTooShort = ::kLobErrorMachDragTableTooShort , kMassOOR = ::kLobErrorMassOOR , kMaximumTimeOOR = ::kLobErrorMaximumTimeOOR , kMeplatDiameterOOR = ::kLobErrorMeplatDiameterOOR , kNoseLengthOOR = ::kLobErrorNoseLengthOOR , kNotFormed = ::kLobErrorNotFormed , kOgiveRtROOR = ::kLobErrorOgiveRtROOR , kRangeAngleOOR = ::kLobErrorRangeAngleOOR , kTailLengthOOR = ::kLobErrorTailLengthOOR , kWindHeadingOOR = ::kLobErrorWindHeadingOOR , kZeroAngleOOR = ::kLobErrorZeroAngleOOR , kZeroDataRequired = ::kLobErrorZeroDataRequired , kZeroDistanceOOR = ::kLobErrorZeroDistanceOOR , kZeroUnreachable = ::kLobErrorZeroUnreachable } |
| Error codes returned by the builder. More... | |
Functions | |
| bool | operator== (::LobErrorT a, ErrorT b) noexcept |
| bool | operator!= (::LobErrorT a, ErrorT b) noexcept |
| bool | operator== (ErrorT a, ::LobErrorT b) noexcept |
| bool | operator!= (ErrorT a, ::LobErrorT b) noexcept |
| size_t | Solve (const Context &ctx, const uint32_t *pranges, Output *pouts, size_t size) |
| Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution. | |
| template<size_t N> | |
| size_t | Solve (const Context &ctx, const std::array< uint32_t, N > &ranges, std::array< Output, N > *pouts) |
| Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution. | |
| size_t | Solve (const Context &ctx, uint32_t range, Output *pout) |
| Solves the exterior ballistics problem for a single range. Results contain a forward-solution. | |
| size_t | FastInverse (const Context &ctx, Output *pouts, size_t size) |
| Converts forward-solution output to inverse-solution adjustments. | |
| template<size_t N> | |
| size_t | FastInverse (const Context &ctx, std::array< Output, N > *pouts) |
| Converts forward-solution output to inverse-solution adjustments. | |
| size_t | FastInverse (const Context &ctx, Output *pout) |
| Converts forward-solution output to inverse-solution adjustments for a single output. | |
| size_t | SolveInverse (const Context &ctx, const uint32_t *pranges, Output *pouts, size_t size) |
| Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution. | |
| template<size_t N> | |
| size_t | SolveInverse (const Context &ctx, const std::array< uint32_t, N > &ranges, std::array< Output, N > *pouts) |
| Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution. | |
| size_t | SolveInverse (const Context &ctx, uint32_t range, Output *pout) |
| Solves the exterior ballistics problem for a single range. Results contain an inverse-solution. | |
| const char * | Version () |
| Gets the library version in major.minor.patch format. | |
| double | MoaToMil (double value) |
| Converts minutes of angle (MOA) to milliradians (MIL). | |
| double | MoaToDeg (double value) |
| Converts minutes of angle (MOA) to degrees. | |
| double | MoaToIphy (double value) |
| Converts minutes of angle (MOA) to inches per hundred yards (IPHY). | |
| double | MoaToInch (double value, double range_ft) |
| Converts minutes of angle (MOA) to projected inches at a given range in feet. | |
| double | MilToMoa (double value) |
| Converts milliradians (MIL) to minutes of angle (MOA). | |
| double | MilToDeg (double value) |
| Converts milliradians (MIL) to degrees. | |
| double | MilToIphy (double value) |
| Converts milliradians (MIL) to inches per hundred yards (IPHY). | |
| double | MilToInch (double value, double range_ft) |
| Converts milliradians (MIL) to projected inches at a given range in feet. | |
| double | DegToMoa (double value) |
| Converts degrees to minutes of angle (MOA). | |
| double | DegToMil (double value) |
| Converts degrees to milliradians (MIL). | |
| double | InchToMoa (double value, double range_ft) |
| Inches of projection at a given range to minutes of angle (MOA). | |
| double | InchToMil (double value, double range_ft) |
| Inches of projection at a given range to milliradians (MIL). | |
| double | InchToDeg (double value, double range_ft) |
| Inches of projection at a given range to degrees. | |
| double | JToFtLbs (double value) |
| Converts joules to foot-pounds. | |
| double | FtLbsToJ (double value) |
| Converts foot-pounds to joules. | |
| double | MToYd (double value) |
| Converts meters to yards. | |
| double | YdToFt (double value) |
| Converts yards to feet. | |
| double | MToFt (double value) |
| Converts meters to feet. | |
| double | FtToIn (double value) |
| Converts feet to inches. | |
| double | MmToIn (double value) |
| Converts millimeters to inches. | |
| double | CmToIn (double value) |
| Converts centimeters to inches. | |
| double | YdToM (double value) |
| Converts yards to meters. | |
| double | FtToM (double value) |
| Converts feet to meters. | |
| double | FtToYd (double value) |
| Converts feet to yards. | |
| double | InToMm (double value) |
| Converts inches to millimeters. | |
| double | InToCm (double value) |
| Converts inches to centimeters. | |
| double | InToFt (double value) |
| Converts inches to feet. | |
| double | PaToInHg (double value) |
| Converts pascals to inches of mercury. | |
| double | MbarToInHg (double value) |
| Converts millibars to inches of mercury. | |
| double | PsiToInHg (double value) |
| Converts pounds per square inch (PSI) to inches of mercury. | |
| double | LbsToGrain (double value) |
| Converts pounds to grains. | |
| double | GToGrain (double value) |
| Converts grams to grains. | |
| double | KgToGrain (double value) |
| Converts kilograms to grains. | |
| double | KgSqMToPmsi (double value) |
| Converts kilograms per square meter to pounds mass per square inch. | |
| double | FpsToMps (double value) |
| Converts feet per second to meters per second. | |
| double | MpsToFps (double value) |
| Converts meters per second to feet per second. | |
| double | KphToMph (double value) |
| Converts kilometers per hour to miles per hour. | |
| double | KnToMph (double value) |
| Converts Knots to miles per hour. | |
| double | MsToS (double value) |
| Converts milliseconds to seconds. | |
| double | UsToS (double value) |
| Converts microseconds to seconds. | |
| double | SToMs (double value) |
| Converts seconds to milliseconds. | |
| double | SToUs (double value) |
| Converts seconds to microseconds. | |
| double | DegCToDegF (double value) |
| Converts degrees celsius to degrees fahrenheit. | |
Variables | |
| constexpr size_t | kLobBuilderBufferSize = 272 |
| The size in bytes of the builder buffer. | |
| constexpr size_t | kLobCoeffsSize = 15 * static_cast<size_t>(4) |
| The size of spline coeffs in Context. | |
| using lob::Coriolis = ::LobCoriolis |
Coriolis effect parameters. See LobCoriolis for member details.
| using lob::Gravity = ::LobGravity |
Gravity vector. See LobGravity for member details.
| using lob::Output = ::LobOutput |
Structure holding output results. See LobOutput for member details.
|
strong |
|
strong |
Enumerates clock angle positions.
|
strong |
|
strong |
Error codes returned by the builder.
|
inline |
Converts centimeters to inches.
| value | Length in centimeters. |
|
inline |
Converts degrees celsius to degrees fahrenheit.
| value | Temperature in degrees celsius. |
|
inline |
Converts degrees to milliradians (MIL).
| value | Angle in degrees. |
|
inline |
Converts degrees to minutes of angle (MOA).
| value | Angle in degrees. |
Converts forward-solution output to inverse-solution adjustments for a single output.
| ctx | Context parameters for the calculation. |
| pout | Pointer to an output to convert in place. |
Converts forward-solution output to inverse-solution adjustments.
| ctx | Context parameters for the calculation. |
| pouts | Pointer to an array of forward-solution outputs to convert in place. |
| size | The number of outputs to convert. |
|
inline |
Converts forward-solution output to inverse-solution adjustments.
| N | The number of outputs to convert. |
| ctx | Context parameters for the calculation. |
| pouts | Reference to an array of outputs to convert in place. |
|
inline |
Converts feet per second to meters per second.
| value | Speed in feet per second. |
|
inline |
Converts foot-pounds to joules.
| value | Energy in foot-pounds. |
|
inline |
Converts feet to inches.
| value | Length in feet. |
|
inline |
Converts feet to meters.
| value | Length in feet. |
|
inline |
Converts feet to yards.
| value | Length in feet. |
|
inline |
Converts grams to grains.
| value | Mass in grams. |
|
inline |
Inches of projection at a given range to degrees.
| value | Projected inches. |
| range_ft | Range in feet. |
|
inline |
Inches of projection at a given range to milliradians (MIL).
| value | Projected inches. |
| range_ft | Range in feet. |
|
inline |
Inches of projection at a given range to minutes of angle (MOA).
| value | Projected inches. |
| range_ft | Range in feet. |
|
inline |
Converts inches to centimeters.
| value | Length in inches. |
|
inline |
Converts inches to feet.
| value | Length in inches. |
|
inline |
Converts inches to millimeters.
| value | Length in inches. |
|
inline |
Converts joules to foot-pounds.
| value | Energy in joules. |
|
inline |
Converts kilograms per square meter to pounds mass per square inch.
| value | Sectional density in Kg/m^2. |
|
inline |
Converts kilograms to grains.
| value | Mass in kilograms. |
|
inline |
Converts Knots to miles per hour.
| value | Speed in Knots. |
|
inline |
Converts kilometers per hour to miles per hour.
| value | Speed in kilometers per hour. |
|
inline |
Converts pounds to grains.
| value | Mass in pounds. |
|
inline |
Converts millibars to inches of mercury.
| value | Pressure in millibars. |
|
inline |
Converts milliradians (MIL) to degrees.
| value | Angle in MIL. |
|
inline |
Converts milliradians (MIL) to projected inches at a given range in feet.
| value | Angle in MIL. |
| range_ft | Range in feet. |
|
inline |
Converts milliradians (MIL) to inches per hundred yards (IPHY).
| value | Angle in MIL. |
|
inline |
Converts milliradians (MIL) to minutes of angle (MOA).
| value | Angle in MIL. |
|
inline |
Converts millimeters to inches.
| value | Length in millimeters. |
|
inline |
Converts minutes of angle (MOA) to degrees.
| value | Angle in MOA. |
|
inline |
Converts minutes of angle (MOA) to projected inches at a given range in feet.
| value | Angle in MOA. |
| range_ft | Range in feet. |
|
inline |
Converts minutes of angle (MOA) to inches per hundred yards (IPHY).
| value | Angle in MOA. |
|
inline |
Converts minutes of angle (MOA) to milliradians (MIL).
| value | Angle in MOA. |
|
inline |
Converts meters per second to feet per second.
| value | Speed in meters per second. |
|
inline |
Converts milliseconds to seconds.
| value | Time in milliseconds. |
|
inline |
Converts meters to feet.
| value | Length in meters. |
|
inline |
Converts meters to yards.
| value | Length in meters. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Converts pascals to inches of mercury.
| value | Pressure in pascals. |
|
inline |
Converts pounds per square inch (PSI) to inches of mercury.
| value | Pressure in PSI. |
|
inline |
Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.
| N | The number of ranges to solve for. |
| ctx | Context parameters for the calculation. |
| ranges | Reference to an array of ranges (in feet) to solve for. |
| pouts | Pointer to an array where the output results will be stored. |
|
inline |
Solves the exterior ballistics problem for a given set of ranges. Results contain a forward-solution.
| ctx | Context parameters for the calculation. |
| pranges | Pointer to an array of ranges (in feet) to solve for. |
| pouts | Pointer to an array where the output results will be stored. |
| size | The number of ranges to solve for. |
Solves the exterior ballistics problem for a single range. Results contain a forward-solution.
| ctx | Context parameters for the calculation. |
| range | Ranges (in feet) to solve for. |
| pout | Pointer to an output where results will be stored. |
|
inline |
Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.
| N | The number of ranges to solve for. |
| ctx | Context parameters for the calculation. |
| ranges | Reference to an array of ranges (in feet) to solve for. |
| pouts | Pointer to an array where the output results will be stored. |
|
inline |
Solves the exterior ballistics problem for a given set of ranges. Results contain an inverse-solution.
| ctx | Context parameters for the calculation. |
| pranges | Pointer to an array of ranges (in feet) to solve for. |
| pouts | Pointer to an array where the output results will be stored. |
| size | The number of ranges to solve for. |
Solves the exterior ballistics problem for a single range. Results contain an inverse-solution.
| ctx | Context parameters for the calculation. |
| range | Range (in feet) to solve for. |
| pout | Pointer to an output where results will be stored. |
|
inline |
Converts seconds to milliseconds.
| value | Time in seconds. |
|
inline |
Converts seconds to microseconds.
| value | Time in seconds. |
|
inline |
Converts microseconds to seconds.
| value | Time in microseconds. |
|
inline |
Gets the library version in major.minor.patch format.
|
inline |
Converts yards to feet.
| value | Length in yards. |
|
inline |
Converts yards to meters.
| value | Length in yards. |
|
constexpr |
The size in bytes of the builder buffer.
|
constexpr |
The size of spline coeffs in Context.