lob 0.6.5
 
Loading...
Searching...
No Matches
lob Namespace Reference

Classes

class  Builder
 Builder class for constructing Input objects with a friendly interface. More...
 
struct  Input
 Structure of input parameters consumed by the solver. More...
 
struct  Output
 Structure holding the output results of the ballistic calculation. More...
 

Functions

LOB_EXPORT const char * Version ()
 Gets the library version in major.minor.patch format.
 
template<typename T = double>
constexpr T NaN ()
 Not-a-Number for floating-point values.
 
LOB_EXPORT size_t Solve (const Input &in, const uint32_t *pranges, Output *pouts, size_t size)
 Solves the exterior ballistics problem for a given set of ranges.
 
template<size_t N>
size_t Solve (const Input &in, const std::array< uint32_t, N > &pranges, std::array< Output, N > &pouts)
 Solves the exterior ballistics problem for a given set of ranges.
 
LOB_EXPORT double MoaToMil (double value)
 Converts minutes of angle (MOA) to milliradians (MIL).
 
LOB_EXPORT double MoaToDeg (double value)
 Converts minutes of angle (MOA) to degrees.
 
LOB_EXPORT double MoaToIphy (double value)
 Converts minutes of angle (MOA) to inches per hundred yards (IPHY).
 
LOB_EXPORT double MoaToInch (double value, double range_ft)
 Converts minutes of angle (MOA) to projected inches at a given range in feet.
 
LOB_EXPORT double MilToMoa (double value)
 Converts milliradians (MIL) to minutes of angle (MOA).
 
LOB_EXPORT double MilToDeg (double value)
 Converts milliradians (MIL) to degrees.
 
LOB_EXPORT double MilToIphy (double value)
 Converts milliradians (MIL) to inches per hundred yards (IPHY).
 
LOB_EXPORT double MilToInch (double value, double range_ft)
 Converts milliradians (MIL) to projected inches at a given range in feet.
 
LOB_EXPORT double DegToMoa (double value)
 Converts degrees to minutes of angle (MOA).
 
LOB_EXPORT double DegToMil (double value)
 Converts degrees to milliradians (MIL).
 
LOB_EXPORT double InchToMoa (double value, double range_ft)
 Inches of projection at a given range to minutes of angle (MOA)
 
LOB_EXPORT double InchToMil (double value, double range_ft)
 Inches of projection at a given range to milliradians (MIL)
 
LOB_EXPORT double InchToDeg (double value, double range_ft)
 Inches of projection at a given range to degrees.
 
LOB_EXPORT double JToFtLbs (double value)
 Converts joules to foot-pounds.
 
LOB_EXPORT double FtLbsToJ (double value)
 Converts foot-pounds to joules.
 
LOB_EXPORT double MtoYd (double value)
 Converts meters to yards.
 
LOB_EXPORT double YdToFt (double value)
 Converts yards to feet.
 
LOB_EXPORT double MToFt (double value)
 Converts meters to feet.
 
LOB_EXPORT double FtToIn (double value)
 Converts feet to inches.
 
LOB_EXPORT double MmToIn (double value)
 Converts millimeters to inches.
 
LOB_EXPORT double CmToIn (double value)
 Converts centimeters to inches.
 
LOB_EXPORT double YdToM (double value)
 Converts yards to meters.
 
LOB_EXPORT double FtToM (double value)
 Converts feet to meters.
 
LOB_EXPORT double FtToYd (double value)
 Converts feet to yards.
 
LOB_EXPORT double InToMm (double value)
 Converts inches to millimeters.
 
LOB_EXPORT double InToCm (double value)
 Converts inches to centimeters.
 
LOB_EXPORT double InToFt (double value)
 Converts inches to feet.
 
LOB_EXPORT double PaToInHg (double value)
 Converts pascals to inches of mercury.
 
LOB_EXPORT double MbarToInHg (double value)
 Converts millibars to inches of mercury.
 
LOB_EXPORT double PsiToInHg (double value)
 Converts pounds per square inch (PSI) to inches of mercury.
 
LOB_EXPORT double LbsToGrain (double value)
 Converts pounds to grains.
 
LOB_EXPORT double GToGrain (double value)
 Converts grams to grains.
 
LOB_EXPORT double KgToGrain (double value)
 Converts kilograms to grains.
 
LOB_EXPORT double KgSqMToPmsi (double value)
 Converts kilograms per square meter to pounds mass per square inch.
 
LOB_EXPORT double FpsToMps (double value)
 Converts feet per second to meters per second.
 
LOB_EXPORT double MpsToFps (double value)
 Converts meters per second to feet per second.
 
LOB_EXPORT double KphToMph (double value)
 Converts kilometers per hour to miles per hour.
 
LOB_EXPORT double KnToMph (double value)
 Converts Knots to miles per hour.
 
LOB_EXPORT double MsToS (double value)
 Converts milliseconds to seconds.
 
LOB_EXPORT double UsToS (double value)
 Converts microseconds to seconds.
 
LOB_EXPORT double SToMs (double value)
 Converts seconds to milliseconds.
 
LOB_EXPORT double SToUs (double value)
 Converts seconds to microseconds.
 
LOB_EXPORT double DegCToDegF (double value)
 Converts degrees celsius to degrees fahrenheit.
 

Variables

enum LOB_EXPORT DragFunctionT
 Enumerates the supported drag functions.
 
enum LOB_EXPORT kG2 = 2U
 G1 drag function.
 
enum LOB_EXPORT kG5 = 5U
 G2 drag function.
 
enum LOB_EXPORT kG6 = 6U
 G5 drag function.
 
enum LOB_EXPORT kG7 = 7U
 G6 drag function.
 
enum LOB_EXPORT kG8
 G7 drag function.
 
enum LOB_EXPORT AtmosphereReferenceT
 Enumerates the supported atmosphere reference types.
 
enum LOB_EXPORT kIcao
 Army Standard Metro.
 
enum LOB_EXPORT ClockAngleT
 Enumerates clock angle positions.
 
enum LOB_EXPORT kII
 one o'clock
 
enum LOB_EXPORT kIII
 two o'clock
 
enum LOB_EXPORT kIV
 three o'clock
 
enum LOB_EXPORT kV
 four o'clock
 
enum LOB_EXPORT kVI
 five o'clock
 
enum LOB_EXPORT kVII
 six o'clock
 
enum LOB_EXPORT kVIII
 seven o'clock
 
enum LOB_EXPORT kIX
 eight o'clock
 
enum LOB_EXPORT kX
 nine o'clock
 
enum LOB_EXPORT kXI
 ten o'clock
 
enum LOB_EXPORT kXII
 eleven o'clock
 
enum LOB_EXPORT ErrorT
 
enum LOB_EXPORT kAirPressure
 
enum LOB_EXPORT kAltitude
 
enum LOB_EXPORT kAzimuth
 
enum LOB_EXPORT kBallisticCoefficient
 
enum LOB_EXPORT kBaseDiameter
 
enum LOB_EXPORT kDiameter
 
enum LOB_EXPORT kHumidity
 
enum LOB_EXPORT kInitialVelocity
 
enum LOB_EXPORT kLatitude
 
enum LOB_EXPORT kLength
 
enum LOB_EXPORT kMachDragTable
 
enum LOB_EXPORT kMass
 
enum LOB_EXPORT kMaximumTime
 
enum LOB_EXPORT kMeplatDiameter
 
enum LOB_EXPORT kNoseLength
 
enum LOB_EXPORT kOgiveRtR
 
enum LOB_EXPORT kRangeAngle
 
enum LOB_EXPORT kTailLength
 
enum LOB_EXPORT kWindHeading
 
enum LOB_EXPORT kZeroAngle
 
enum LOB_EXPORT kZeroDistance
 
enum LOB_EXPORT kNotFormed
 

Function Documentation

◆ CmToIn()

LOB_EXPORT double lob::CmToIn ( double value)

Converts centimeters to inches.

Parameters
valueLength in centimeters.
Returns
Equivalent length in inches.

◆ DegCToDegF()

LOB_EXPORT double lob::DegCToDegF ( double value)

Converts degrees celsius to degrees fahrenheit.

Parameters
valueTemperature in degrees celsius
Returns
Equivalent temperature in Degrees Fahrenheit

◆ DegToMil()

LOB_EXPORT double lob::DegToMil ( double value)

Converts degrees to milliradians (MIL).

Parameters
valueAngle in degrees.
Returns
Equivalent angle in MIL.

◆ DegToMoa()

LOB_EXPORT double lob::DegToMoa ( double value)

Converts degrees to minutes of angle (MOA).

Parameters
valueAngle in degrees.
Returns
Equivalent angle in MOA.

◆ FpsToMps()

LOB_EXPORT double lob::FpsToMps ( double value)

Converts feet per second to meters per second.

Parameters
valueSpeed in feet per second.
Returns
Equivalent speed in meters per second.

◆ FtLbsToJ()

LOB_EXPORT double lob::FtLbsToJ ( double value)

Converts foot-pounds to joules.

Parameters
valueEnergy in foot-pounds.
Returns
Equivalent energy in joules.

◆ FtToIn()

LOB_EXPORT double lob::FtToIn ( double value)

Converts feet to inches.

Parameters
valueLength in feet.
Returns
Equivalent length in inches.

◆ FtToM()

LOB_EXPORT double lob::FtToM ( double value)

Converts feet to meters.

Parameters
valueLength in feet.
Returns
Equivalent length in meters.

◆ FtToYd()

LOB_EXPORT double lob::FtToYd ( double value)

Converts feet to yards.

Parameters
valueLength in feet.
Returns
Equivalent length in yards.

◆ GToGrain()

LOB_EXPORT double lob::GToGrain ( double value)

Converts grams to grains.

Parameters
valueMass in grams.
Returns
Equivalent mass in grains.

◆ InchToDeg()

LOB_EXPORT double lob::InchToDeg ( double value,
double range_ft )

Inches of projection at a given range to degrees.

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in degrees.

◆ InchToMil()

LOB_EXPORT double lob::InchToMil ( double value,
double range_ft )

Inches of projection at a given range to milliradians (MIL)

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in MIL.

◆ InchToMoa()

LOB_EXPORT double lob::InchToMoa ( double value,
double range_ft )

Inches of projection at a given range to minutes of angle (MOA)

Parameters
valueProjected inches.
range_ftRange in feet.
Returns
Equivalent angle in MOA.

◆ InToCm()

LOB_EXPORT double lob::InToCm ( double value)

Converts inches to centimeters.

Parameters
valueLength in inches.
Returns
Equivalent length in centimeters.

◆ InToFt()

LOB_EXPORT double lob::InToFt ( double value)

Converts inches to feet.

Parameters
valueLength in inches.
Returns
Equivalent length in feet.

◆ InToMm()

LOB_EXPORT double lob::InToMm ( double value)

Converts inches to millimeters.

Parameters
valueLength in inches.
Returns
Equivalent length in millimeters.

◆ JToFtLbs()

LOB_EXPORT double lob::JToFtLbs ( double value)

Converts joules to foot-pounds.

Parameters
valueEnergy in joules.
Returns
Equivalent energy in foot-pounds.

◆ KgSqMToPmsi()

LOB_EXPORT double lob::KgSqMToPmsi ( double value)

Converts kilograms per square meter to pounds mass per square inch.

Parameters
valueSectional density in Kg/m².
Returns
Equivalent sectional density in lb/in².

◆ KgToGrain()

LOB_EXPORT double lob::KgToGrain ( double value)

Converts kilograms to grains.

Parameters
valueMass in kilograms.
Returns
Equivalent mass in grains.

◆ KnToMph()

LOB_EXPORT double lob::KnToMph ( double value)

Converts Knots to miles per hour.

Parameters
valueSpeed in Knots.
Returns
Equivalent speed in miles per hour.

◆ KphToMph()

LOB_EXPORT double lob::KphToMph ( double value)

Converts kilometers per hour to miles per hour.

Parameters
valueSpeed in kilometers per hour.
Returns
Equivalent speed in miles per hour.

◆ LbsToGrain()

LOB_EXPORT double lob::LbsToGrain ( double value)

Converts pounds to grains.

Parameters
valueMass in pounds.
Returns
Equivalent mass in grains.

◆ MbarToInHg()

LOB_EXPORT double lob::MbarToInHg ( double value)

Converts millibars to inches of mercury.

Parameters
valuePressure in millibars.
Returns
Equivalent pressure in inches of mercury.

◆ MilToDeg()

LOB_EXPORT double lob::MilToDeg ( double value)

Converts milliradians (MIL) to degrees.

Parameters
valueAngle in MIL.
Returns
Equivalent angle in degrees.

◆ MilToInch()

LOB_EXPORT double lob::MilToInch ( double value,
double range_ft )

Converts milliradians (MIL) to projected inches at a given range in feet.

Parameters
valueAngle in MIL.
range_ftRange in feet.
Returns
Equivalent projected inches.

◆ MilToIphy()

LOB_EXPORT double lob::MilToIphy ( double value)

Converts milliradians (MIL) to inches per hundred yards (IPHY).

Parameters
valueAngle in MIL.
Returns
Equivalent angle in IPHY.

◆ MilToMoa()

LOB_EXPORT double lob::MilToMoa ( double value)

Converts milliradians (MIL) to minutes of angle (MOA).

Parameters
valueAngle in MIL.
Returns
Equivalent angle in MOA.

◆ MmToIn()

LOB_EXPORT double lob::MmToIn ( double value)

Converts millimeters to inches.

Parameters
valueLength in millimeters.
Returns
Equivalent length in inches.

◆ MoaToDeg()

LOB_EXPORT double lob::MoaToDeg ( double value)

Converts minutes of angle (MOA) to degrees.

Parameters
valueAngle in MOA.
Returns
Equivalent angle in degrees.

◆ MoaToInch()

LOB_EXPORT double lob::MoaToInch ( double value,
double range_ft )

Converts minutes of angle (MOA) to projected inches at a given range in feet.

Parameters
valueAngle in MOA.
range_ftRange in feet.
Returns
Equivalent projected inches.

◆ MoaToIphy()

LOB_EXPORT double lob::MoaToIphy ( double value)

Converts minutes of angle (MOA) to inches per hundred yards (IPHY).

Parameters
valueAngle in MOA.
Returns
Equivalent angle in IPHY.

◆ MoaToMil()

LOB_EXPORT double lob::MoaToMil ( double value)

Converts minutes of angle (MOA) to milliradians (MIL).

Parameters
valueAngle in MOA.
Returns
Equivalent angle in MIL.

◆ MpsToFps()

LOB_EXPORT double lob::MpsToFps ( double value)

Converts meters per second to feet per second.

Parameters
valueSpeed in meters per second.
Returns
Equivalent speed in feet per second.

◆ MsToS()

LOB_EXPORT double lob::MsToS ( double value)

Converts milliseconds to seconds.

Parameters
valueTime in milliseconds.
Returns
Equivalent time in seconds.

◆ MToFt()

LOB_EXPORT double lob::MToFt ( double value)

Converts meters to feet.

Parameters
valueLength in meters.
Returns
Equivalent length in feet.

◆ MtoYd()

LOB_EXPORT double lob::MtoYd ( double value)

Converts meters to yards.

Parameters
valueLength in meters.
Returns
Equivalent length in yards.

◆ NaN()

template<typename T = double>
T lob::NaN ( )
constexpr

Not-a-Number for floating-point values.

◆ PaToInHg()

LOB_EXPORT double lob::PaToInHg ( double value)

Converts pascals to inches of mercury.

Parameters
valuePressure in pascals.
Returns
Equivalent pressure in inches of mercury.

◆ PsiToInHg()

LOB_EXPORT double lob::PsiToInHg ( double value)

Converts pounds per square inch (PSI) to inches of mercury.

Parameters
valuePressure in PSI.
Returns
Equivalent pressure in inches of mercury.

◆ Solve() [1/2]

template<size_t N>
size_t lob::Solve ( const Input & in,
const std::array< uint32_t, N > & pranges,
std::array< Output, N > & pouts )

Solves the exterior ballistics problem for a given set of ranges.

Template Parameters
NThe number of ranges to solve for.
Parameters
inInput parameters for the calculation.
prangesReference to an array of ranges (in feet) to solve for.
poutsReference to an array where the output results will be stored.
Returns
The number of successful solutions.

◆ Solve() [2/2]

LOB_EXPORT size_t lob::Solve ( const Input & in,
const uint32_t * pranges,
Output * pouts,
size_t size )

Solves the exterior ballistics problem for a given set of ranges.

Parameters
inInput parameters for the calculation.
prangesPointer to an array of ranges (in feet) to solve for.
poutsPointer to an array wherec the output results will be stored.
sizeThe number of ranges to solve for.
Returns
The number of successful solutions.

◆ SToMs()

LOB_EXPORT double lob::SToMs ( double value)

Converts seconds to milliseconds.

Parameters
valueTime in seconds.
Returns
Equivalent time in milliseconds.

◆ SToUs()

LOB_EXPORT double lob::SToUs ( double value)

Converts seconds to microseconds.

Parameters
valueTime in seconds.
Returns
Equivalent time in microseconds.

◆ UsToS()

LOB_EXPORT double lob::UsToS ( double value)

Converts microseconds to seconds.

Parameters
valueTime in microseconds.
Returns
Equivalent time in seconds.

◆ Version()

LOB_EXPORT const char * lob::Version ( )

Gets the library version in major.minor.patch format.

Returns
Version string.

◆ YdToFt()

LOB_EXPORT double lob::YdToFt ( double value)

Converts yards to feet.

Parameters
valueLength in yards.
Returns
Equivalent length in feet.

◆ YdToM()

LOB_EXPORT double lob::YdToM ( double value)

Converts yards to meters.

Parameters
valueLength in yards.
Returns
Equivalent length in meters.

Variable Documentation

◆ AtmosphereReferenceT

enum LOB_EXPORT lob::AtmosphereReferenceT
strong

Enumerates the supported atmosphere reference types.

◆ ClockAngleT

enum LOB_EXPORT lob::ClockAngleT
strong

Enumerates clock angle positions.

Note
Values are named with Roman numerals. This is used for reasoning about wind direction.

◆ DragFunctionT

enum LOB_EXPORT lob::DragFunctionT
strong

Enumerates the supported drag functions.

◆ ErrorT

enum LOB_EXPORT lob::ErrorT
strong

◆ kAirPressure

enum LOB_EXPORT lob::kAirPressure

◆ kAltitude

enum LOB_EXPORT lob::kAltitude

◆ kAzimuth

enum LOB_EXPORT lob::kAzimuth

◆ kBallisticCoefficient

enum LOB_EXPORT lob::kBallisticCoefficient

◆ kBaseDiameter

enum LOB_EXPORT lob::kBaseDiameter

◆ kDiameter

enum LOB_EXPORT lob::kDiameter

◆ kG2

enum LOB_EXPORT lob::kG2 = 2U

G1 drag function.

◆ kG5

enum LOB_EXPORT lob::kG5 = 5U

G2 drag function.

◆ kG6

enum LOB_EXPORT lob::kG6 = 6U

G5 drag function.

◆ kG7

enum LOB_EXPORT lob::kG7 = 7U

G6 drag function.

◆ kG8

enum LOB_EXPORT lob::kG8
Initial value:
= 8U
}

G7 drag function.

◆ kHumidity

enum LOB_EXPORT lob::kHumidity

◆ kIcao

enum LOB_EXPORT lob::kIcao

Army Standard Metro.

International Civil Aviation Organization (ICAO)

◆ kII

enum LOB_EXPORT lob::kII

one o'clock

◆ kIII

enum LOB_EXPORT lob::kIII

two o'clock

◆ kInitialVelocity

enum LOB_EXPORT lob::kInitialVelocity

◆ kIV

enum LOB_EXPORT lob::kIV

three o'clock

◆ kIX

enum LOB_EXPORT lob::kIX

eight o'clock

◆ kLatitude

enum LOB_EXPORT lob::kLatitude

◆ kLength

enum LOB_EXPORT lob::kLength

◆ kMachDragTable

enum LOB_EXPORT lob::kMachDragTable

◆ kMass

enum LOB_EXPORT lob::kMass

◆ kMaximumTime

enum LOB_EXPORT lob::kMaximumTime

◆ kMeplatDiameter

enum LOB_EXPORT lob::kMeplatDiameter

◆ kNoseLength

enum LOB_EXPORT lob::kNoseLength

◆ kNotFormed

enum LOB_EXPORT lob::kNotFormed

◆ kOgiveRtR

enum LOB_EXPORT lob::kOgiveRtR

◆ kRangeAngle

enum LOB_EXPORT lob::kRangeAngle

◆ kTailLength

enum LOB_EXPORT lob::kTailLength

◆ kV

enum LOB_EXPORT lob::kV

four o'clock

◆ kVI

enum LOB_EXPORT lob::kVI

five o'clock

◆ kVII

enum LOB_EXPORT lob::kVII

six o'clock

◆ kVIII

enum LOB_EXPORT lob::kVIII

seven o'clock

◆ kWindHeading

enum LOB_EXPORT lob::kWindHeading

◆ kX

enum LOB_EXPORT lob::kX

nine o'clock

◆ kXI

enum LOB_EXPORT lob::kXI

ten o'clock

◆ kXII

enum LOB_EXPORT lob::kXII

eleven o'clock

twelve o'clock

◆ kZeroAngle

enum LOB_EXPORT lob::kZeroAngle

◆ kZeroDistance

enum LOB_EXPORT lob::kZeroDistance