lob 0.3.0
 
All Classes Namespaces Files Functions Variables Pages
Loading...
Searching...
No Matches
lob.hpp File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <type_traits>
#include "lob/lob_export.hpp"

Go to the source code of this file.

Classes

struct  lob::Input
 Structure of input parameters consumed by the solver. More...
 
struct  lob::Input::Gravity
 Height of the optic above the bore. More...
 
struct  lob::Input::Wind
 
struct  lob::Input::Coriolis
 
class  lob::Builder
 Builder class for constructing Input objects with a friendly interface. More...
 
struct  lob::Options
 Structure holding optional parameters for the Solve function. More...
 
struct  lob::Output
 Structure holding the output results of the ballistic calculation. More...
 

Namespaces

namespace  lob
 

Functions

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

Variables

enum LOB_EXPORT lob::DragFunctionT
 Enumerates the supported drag functions.
 
enum LOB_EXPORT lob::kG2
 G1 drag function.
 
enum LOB_EXPORT lob::kG5
 G2 drag function.
 
enum LOB_EXPORT lob::kG6
 G5 drag function.
 
enum LOB_EXPORT lob::kG7
 G6 drag function.
 
enum LOB_EXPORT lob::kG8
 G7 drag function.
 
enum LOB_EXPORT lob::AtmosphereReferenceT
 Enumerates the supported atmosphere reference types.
 
enum LOB_EXPORT lob::kIcao
 Army Standard Metro.
 
enum LOB_EXPORT lob::ClockAngleT
 Enumerates clock angle positions.
 
enum LOB_EXPORT lob::kII
 three o'clock
 
enum LOB_EXPORT lob::kI
 two o'clock
 
enum LOB_EXPORT lob::kXII
 one o'clock
 
enum LOB_EXPORT lob::kXI
 twelve o'clock
 
enum LOB_EXPORT lob::kX
 eleven o'clock
 
enum LOB_EXPORT lob::kIX
 ten o'clock
 
enum LOB_EXPORT lob::kVIII
 nine o'clock
 
enum LOB_EXPORT lob::kVII
 eight o'clock
 
enum LOB_EXPORT lob::kVI
 seven o'clock
 
enum LOB_EXPORT lob::kV
 six o'clock
 
enum LOB_EXPORT lob::kIV
 five o'clock