1#![deny(
25 missing_docs,
26 trivial_casts,
27 unsafe_code,
28 unstable_features,
29 unused_import_braces,
30 unused_qualifications
31)]
32#![allow(unknown_lints, type_complexity, borrowed_box)]
33
34extern crate cgmath;
35extern crate collision;
36extern crate rhusics_transform;
37
38#[cfg(feature = "specs")]
39extern crate specs;
40
41#[cfg(test)]
42#[macro_use]
43extern crate approx;
44
45#[cfg(feature = "serde")]
46#[macro_use]
47extern crate serde;
48
49pub use body_pose::BodyPose;
50pub use collide::broad::{BroadPhase, BruteForce, SweepAndPrune2, SweepAndPrune3};
51pub use collide::narrow::NarrowPhase;
52pub use collide::{
53 basic_collide, tree_collide, Collider, CollisionData, CollisionMode, CollisionShape,
54 CollisionStrategy, Contact, ContactEvent, GetId, Primitive,
55};
56pub use physics::simple::{next_frame_integration, next_frame_pose};
57pub use physics::{
58 resolve_contact, ApplyAngular, ForceAccumulator, Inertia, Mass, Material, PartialCrossProduct,
59 PhysicalEntity, ResolveData, SingleChangeSet, Velocity, Volume, WorldParameters,
60};
61pub use rhusics_transform::{PhysicsTime, Pose};
62
63pub mod collide2d;
64pub mod collide3d;
65pub mod physics2d;
66pub mod physics3d;
67
68mod body_pose;
69mod collide;
70#[cfg(feature = "specs")]
71mod ecs;
72mod physics;
73
74#[derive(Clone, Debug, PartialEq)]
76#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
77pub struct NextFrame<T> {
78 pub value: T,
80}