From 754a48b7ff6d8c58b1ee08651e60112900b60455 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Tue, 25 Aug 2020 22:10:25 +0200 Subject: First public release of Rapier. --- src/geometry/mod.rs | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/geometry/mod.rs (limited to 'src/geometry/mod.rs') diff --git a/src/geometry/mod.rs b/src/geometry/mod.rs new file mode 100644 index 0000000..4f72778 --- /dev/null +++ b/src/geometry/mod.rs @@ -0,0 +1,80 @@ +//! Structures related to geometry: colliders, shapes, etc. + +pub use self::broad_phase_multi_sap::BroadPhase; +pub use self::capsule::Capsule; +pub use self::collider::{Collider, ColliderBuilder, Shape}; +pub use self::collider_set::{ColliderHandle, ColliderSet}; +pub use self::contact::{ + Contact, ContactKinematics, ContactManifold, ContactPair, KinematicsCategory, +}; +pub use self::contact_generator::{ContactDispatcher, DefaultContactDispatcher}; +#[cfg(feature = "dim2")] +pub(crate) use self::cuboid_feature2d::{CuboidFeature, CuboidFeatureFace}; +#[cfg(feature = "dim3")] +pub(crate) use self::cuboid_feature3d::{CuboidFeature, CuboidFeatureFace}; +pub use self::interaction_graph::{ + ColliderGraphIndex, InteractionGraph, RigidBodyGraphIndex, TemporaryInteractionIndex, +}; +pub use self::narrow_phase::NarrowPhase; +pub use self::polygon::Polygon; +pub use self::proximity::ProximityPair; +pub use self::proximity_detector::{DefaultProximityDispatcher, ProximityDispatcher}; +pub use self::trimesh::Trimesh; +pub use ncollide::query::Proximity; + +/// A cuboid shape. +pub type Cuboid = ncollide::shape::Cuboid; +/// A triangle shape. +pub type Triangle = ncollide::shape::Triangle; +/// A ball shape. +pub type Ball = ncollide::shape::Ball; +/// A heightfield shape. +pub type HeightField = ncollide::shape::HeightField; +/// An axis-aligned bounding box. +pub type AABB = ncollide::bounding_volume::AABB; +/// Event triggered when two non-sensor colliders start or stop being in contact. +pub type ContactEvent = ncollide::pipeline::ContactEvent; +/// Event triggered when a sensor collider starts or stop being in proximity with another collider (sensor or not). +pub type ProximityEvent = ncollide::pipeline::ProximityEvent; + +#[cfg(feature = "simd-is-enabled")] +pub(crate) use self::ball::WBall; +pub(crate) use self::broad_phase::{ColliderPair, WAABBHierarchy, WAABBHierarchyIntersections}; +pub(crate) use self::broad_phase_multi_sap::BroadPhasePairEvent; +#[cfg(feature = "simd-is-enabled")] +pub(crate) use self::contact::WContact; +#[cfg(feature = "dim2")] +pub(crate) use self::contact_generator::{clip_segments, clip_segments_with_normal}; +pub(crate) use self::narrow_phase::ContactManifoldIndex; +#[cfg(feature = "dim3")] +pub(crate) use self::polyhedron_feature3d::PolyhedronFace; +#[cfg(feature = "simd-is-enabled")] +pub(crate) use self::waabb::WAABB; +//pub(crate) use self::z_order::z_cmp_floats; + +mod ball; +mod broad_phase; +mod broad_phase_multi_sap; +mod capsule; +mod collider; +mod collider_set; +mod contact; +mod contact_generator; +pub(crate) mod cuboid; +#[cfg(feature = "dim2")] +mod cuboid_feature2d; +#[cfg(feature = "dim3")] +mod cuboid_feature3d; +mod interaction_graph; +mod narrow_phase; +mod polygon; +#[cfg(feature = "dim3")] +mod polyhedron_feature3d; +mod proximity; +mod proximity_detector; +pub(crate) mod sat; +pub(crate) mod triangle; +mod trimesh; +#[cfg(feature = "simd-is-enabled")] +mod waabb; +//mod z_order; -- cgit