bclibc library

Classes

Ammo
Angular
Atmo
BallisticConstants
Global physical and atmospheric constants for ballistic calculations. All constants follow international standards (ISA, ICAO).
BcBaseTrajData
BcConfig
BcDragPoint
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