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
Enums
- BCLIBCFFI_BaseTrajInterpKey
- Interpolation key for BCLIBC_BaseTrajData fields.
- BCLIBCFFI_IntegrationMethod
- BCLIBCFFI_Status
- BCLIBCFFI_TerminationReason
- BCLIBCFFI_TrajFlag
- TrajFlag
- Unit
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.
Constants
- cGravityConstant → const double
- cMaximumDrop → const double
- cMaxIterations → const int
- cMinimumAltitude → const double
- cMinimumVelocity → const double
- cStepMultiplier → const double
- cZeroFindingAccuracy → const double
- defaultConfig → const BcConfig
-
tableG1
→ const List<
DragDataPoint> -
tableG2
→ const List<
DragDataPoint> -
tableG5
→ const List<
DragDataPoint> -
tableG6
→ const List<
DragDataPoint> -
tableG7
→ const List<
DragDataPoint> -
tableG8
→ const List<
DragDataPoint> -
tableGI
→ const List<
DragDataPoint> -
tableGS
→ const List<
DragDataPoint> -
tableRA4
→ const List<
DragDataPoint>
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})