1pub use cli_api::{
19 calculate_zero_angle, calculate_zero_angle_with_conditions, estimate_bc_fit,
20 estimate_bc_from_trajectory, run_monte_carlo, run_monte_carlo_with_direction_std_dev,
21 run_monte_carlo_with_wind, run_monte_carlo_with_wind_and_direction_std_dev,
22 run_monte_carlo_with_wind_and_direction_std_dev_seeded, AtmosphericConditions,
23 BallisticInputs, BallisticsError, BcEstimate, BcFitMode, MonteCarloParams,
24 MonteCarloResults, TrajectoryPoint, TrajectoryResult, TrajectorySolver, WindConditions,
25 DEFAULT_HIT_RADIUS_M, MAX_TRAJECTORY_POINTS, TARGET_NOT_REACHED_SENTINEL_M,
26};
27pub use atmosphere::{AtmoSegment, AtmoSock};
28pub use drag_model::DragModel;
29pub use moving_target::{
30 calculate_lead, lead_from_tof, mover_ring, LeadComponents, LeadError, LeadSolution,
31};
32pub use solve_json::{
33 decode_solve_request_v1, ResolvedSolveRequestV1, SolveErrorCodeV1, SolveErrorEnvelopeV1,
34 SolveRequestV1, SolveSuccessV1, MAX_SOLVE_JSON_SAMPLES_V1, SOLVE_JSON_SCHEMA_VERSION_V1,
35};
36pub use solve_v1::solve_v1;
37pub use trajectory_observation::{
38 TrajectoryObservation, TrajectoryObservationError, TrajectoryObservationFlag,
39 TrajectoryTermination,
40};
41pub use trajectory_sampling::MAX_TRAJECTORY_SAMPLES;
42
43pub mod cli_api;
45pub mod moving_target;
46mod drag_model;
47#[cfg(feature = "ffi")]
50pub mod ffi;
51pub mod solve_json;
52pub mod solve_v1;
53pub mod trajectory_observation;
54#[cfg(target_arch = "wasm32")]
55pub mod wasm;
56#[cfg(test)]
57mod wasm_tests;
58pub mod atmosphere;
60pub mod constants;
61pub mod drag;
62mod drag_tables;
63pub mod wind;
64pub mod wind_shear;
66pub mod derivatives;
68pub mod trajectory_sampling;
69pub mod fast_trajectory;
71pub mod trajectory_integration;
73pub mod pitch_damping;
75pub mod spin_decay;
76pub mod spin_drift;
77pub mod spin_drift_advanced;
78pub mod precession_nutation;
80pub mod aerodynamic_jump;
82pub mod angle_calculations;
84pub mod transonic_drag;
85pub mod reynolds;
87pub mod form_factor;
89pub mod bc_estimation;
91pub mod cluster_bc;
92pub mod monte_carlo;
93pub mod stability;
94pub mod stability_advanced;
95
96#[cfg(feature = "online")]
98pub mod api_client;
99
100#[cfg(feature = "online")]
102pub mod bc_table_download;
103
104pub mod bc_table;
106
107pub mod bc_table_5d;
109
110#[cfg(feature = "profile-import")]
112pub mod profile_import;
113
114pub(crate) type InternalBallisticInputs = BallisticInputs;
116
117#[derive(Debug, Clone)]
119pub struct BCSegmentData {
120 pub velocity_min: f64,
121 pub velocity_max: f64,
122 pub bc_value: f64,
123}