aboutsummaryrefslogtreecommitdiff
path: root/src/geometry/mod.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2020-08-25 22:10:25 +0200
committerSébastien Crozet <developer@crozet.re>2020-08-25 22:10:25 +0200
commit754a48b7ff6d8c58b1ee08651e60112900b60455 (patch)
tree7d777a6c003f1f5d8f8d24f533f35a95a88957fe /src/geometry/mod.rs
downloadrapier-754a48b7ff6d8c58b1ee08651e60112900b60455.tar.gz
rapier-754a48b7ff6d8c58b1ee08651e60112900b60455.tar.bz2
rapier-754a48b7ff6d8c58b1ee08651e60112900b60455.zip
First public release of Rapier.v0.1.0
Diffstat (limited to 'src/geometry/mod.rs')
-rw-r--r--src/geometry/mod.rs80
1 files changed, 80 insertions, 0 deletions
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<f32>;
+/// A triangle shape.
+pub type Triangle = ncollide::shape::Triangle<f32>;
+/// A ball shape.
+pub type Ball = ncollide::shape::Ball<f32>;
+/// A heightfield shape.
+pub type HeightField = ncollide::shape::HeightField<f32>;
+/// An axis-aligned bounding box.
+pub type AABB = ncollide::bounding_volume::AABB<f32>;
+/// Event triggered when two non-sensor colliders start or stop being in contact.
+pub type ContactEvent = ncollide::pipeline::ContactEvent<ColliderHandle>;
+/// Event triggered when a sensor collider starts or stop being in proximity with another collider (sensor or not).
+pub type ProximityEvent = ncollide::pipeline::ProximityEvent<ColliderHandle>;
+
+#[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;