lob 0.2.2
 
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  Options
 Structure holding optional parameters for the Solve function. 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.
 
LOB_EXPORT size_t Solve (const Input &in, const uint32_t *pranges, Output *pouts, size_t size, const Options &options)
 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, const Options &options=Options{})
 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
 G1 drag function.
 
enum LOB_EXPORT kG5
 G2 drag function.
 
enum LOB_EXPORT kG6
 G5 drag function.
 
enum LOB_EXPORT kG7
 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
 three o'clock
 
enum LOB_EXPORT kI
 two o'clock
 
enum LOB_EXPORT kXII
 one o'clock
 
enum LOB_EXPORT kXI
 twelve o'clock
 
enum LOB_EXPORT kX
 eleven o'clock
 
enum LOB_EXPORT kIX
 ten o'clock
 
enum LOB_EXPORT kVIII
 nine o'clock
 
enum LOB_EXPORT kVII
 eight o'clock
 
enum LOB_EXPORT kVI
 seven o'clock
 
enum LOB_EXPORT kV
 six o'clock
 
enum LOB_EXPORT kIV
 five o'clock
 

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.

◆ 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,
const Options & options = Options{} )

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.
prangesPointer to an array of ranges (in feet) to solve for.
poutsPointer to an array wherec the output results will be stored.
optionsOptional parameters for the solver.
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,
const Options & options )

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.
optionsOptional parameters for the solver.
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.

◆ kG2

enum LOB_EXPORT lob::kG2

G1 drag function.

◆ kG5

enum LOB_EXPORT lob::kG5

G2 drag function.

◆ kG6

enum LOB_EXPORT lob::kG6

G5 drag function.

◆ kG7

enum LOB_EXPORT lob::kG7

G6 drag function.

◆ kG8

enum LOB_EXPORT lob::kG8

G7 drag function.

G8 drag function

◆ kI

enum LOB_EXPORT lob::kI

two o'clock

◆ kIcao

enum LOB_EXPORT lob::kIcao

Army Standard Metro.

International Civil Aviation Organization (ICAO)

◆ kII

enum LOB_EXPORT lob::kII

three o'clock

◆ kIV

enum LOB_EXPORT lob::kIV

five o'clock

four o'clock

◆ kIX

enum LOB_EXPORT lob::kIX

ten o'clock

◆ kV

enum LOB_EXPORT lob::kV

six o'clock

◆ kVI

enum LOB_EXPORT lob::kVI

seven o'clock

◆ kVII

enum LOB_EXPORT lob::kVII

eight o'clock

◆ kVIII

enum LOB_EXPORT lob::kVIII

nine o'clock

◆ kX

enum LOB_EXPORT lob::kX

eleven o'clock

◆ kXI

enum LOB_EXPORT lob::kXI

twelve o'clock

◆ kXII

enum LOB_EXPORT lob::kXII

one o'clock