Skip to main content

linear_sim/
lib.rs

1//! # `linear_sim` <IMG STYLE="vertical-align: middle" SRC="https://gitlab.com/spearman/linear-sim-rs/-/raw/master/doc/iconl.png">
2//!
3//! A minimal particle simulation.
4//!
5//! # `debug_dump` feature
6//!
7//! Set the environment variable `LINEAR_SIM_DEBUG_DUMP=1` and before the step you want
8//! to capture, raise the `collision::DEBUG_DUMP` flag to `true`. This will write a
9//! binary serialization of the System state to `linear-sim-<step>.dump` in the local
10//! directory. In the course of development, some automatic triggers may be added in the
11//! collision pipeline to raise the `DEBUG_DUMP` flag automatically (e.g. when collision
12//! max iters has been exceeded).
13//!
14//! The `debug_dump_tester` binary will load a target dump file and process a simulation
15//! step with the deserialized `System`.
16
17#![feature(decl_macro)]
18#![warn(unused_extern_crates)]
19#![cfg_attr(test, feature(test))]
20#![cfg_attr(docsrs, feature(doc_cfg))]
21
22pub use math_utils           as math;
23pub use math_utils::geometry as geometry;
24
25pub mod collision;
26pub mod component;
27pub mod constraint;
28pub mod event;
29pub mod force;
30pub mod integrator;
31pub mod object;
32pub mod system;
33
34pub use collision::Collision;
35pub use constraint::Constraint;
36pub use force::Force;
37pub use integrator::Integrator;
38pub use object::Object;
39pub use system::System;