bclibc library

Classes

Ammo
Angular
AsyncCalculator
Atmo
BallisticConstants
Global physical and atmospheric constants for ballistic calculations. All constants follow international standards (ISA, ICAO).
BcBaseTrajData
BcConfig
BcDragPoint
BcEngine
BcHitResult
BcInterception
BcLibC
BCLIBCFFI_Atmosphere
BCLIBCFFI_BaseTrajData
BCLIBCFFI_Config
BCLIBCFFI_Coriolis
BCLIBCFFI_DragPoint
BCLIBCFFI_Error
Error output struct – filled by every function on failure.
BCLIBCFFI_Interception
BCLIBCFFI_MaxRangeResult
BCLIBCFFI_Shot
User-facing shot descriptor in natural units.
BCLIBCFFI_ShotProps
Flat shot properties passed to every engine function.
BCLIBCFFI_TrajectoryData
BCLIBCFFI_TrajectoryRequest
BCLIBCFFI_Wind
BcLibCFFIBindings
Bindings for the bclibc ballistics engine C API.
BcMaxRangeResult
BCPoint
BcShot
Shot descriptor in natural units.
BcTrajectoryData
BcTrajectoryRequest
BcWind
Calculator
Coriolis
Dimension<T extends Dimension<T>>
Distance
DragModel
DragTable
Energy
HitResult
Pressure
Ratio
Shot
Temperature
Time
Torque
TrajectoryData
Vacuum
Vector
Velocity
Weapon
Weight
Wind

Extensions

MachToVelocity on double
Creates a Velocity from a Mach number using the given atmosphere. Defaults to ICAO sea-level conditions.
UnitConvertor on double
VelocityMachExtension on Velocity
Atmosphere-aware Mach conversion for Velocity.

Functions

calcPowderSensCoeff(double v0Mps, double t0C, double v1Mps, double t1C) double?
Calculates powder sensitivity coefficient (fractional velocity change per 15°C)/// from two raw measurement pairs without requiring an Ammo object. from two raw measurement pairs without requiring an Ammo object.
calculateMillerStability({required double twistInch, dynamic bulletLenInch, dynamic bulletDiamInch, dynamic bulletWghtGrains, dynamic muzzleVelocityFps, dynamic tempF, dynamic pressureInHg}) double
calculateSectionalDensity(double weight, double diameter) double
createDragModelMultiBC({required List<BCPoint> bcPoints, required dynamic dragTable, Weight? weight, Distance? diameter, Distance? length}) DragModel
linearInterpolation(List<double> x, List<double> xp, List<double> yp) List<double>
makeDataPoints(List table) List<DragDataPoint>
velocityForPowderTemp(double vMps, double tC, double tCurC, double tempModifier) double

Typedefs

DragDataPoint = ({double cd, double mach})

Exceptions / Errors

BcException