#![deny(non_camel_case_types)]
#![deny(unused_parens)]
#![deny(non_upper_case_globals)]
#![deny(unused_qualifications)]
#![deny(missing_docs)] #![deny(unused_results)]
#![warn(unused_imports)]
#![allow(missing_copy_implementations)]
#![doc(html_root_url = "http://ncollide.org/rustdoc")]
#[cfg(feature = "serde")]
#[macro_use]
extern crate serde;
#[macro_use]
extern crate approx;
#[macro_use]
extern crate downcast_rs;
#[macro_use]
extern crate bitflags;
extern crate num_traits as num;
pub extern crate nalgebra as na;
pub extern crate simba;
macro_rules! try_ret {
($val: expr) => {
try_ret!($val, ())
};
($val: expr, $ret: expr) => {
if let Some(val) = $val {
val
} else {
return $ret;
}
};
}
const NOT_REGISTERED_ERROR: &'static str =
"This collision object has not been registered into a world (proxy indexes are None).";
#[deprecated = "use the `pipeline` module instead."]
pub use crate::pipeline::{broad_phase, narrow_phase, world};
pub mod bounding_volume;
pub mod interpolation;
pub mod partitioning;
pub mod pipeline;
pub mod procedural;
pub mod query;
pub mod shape;
pub mod transformation;
pub mod utils;
#[cfg(feature = "dim3")]
pub mod math {
use na::{Isometry3, Matrix3, Point3, Translation3, UnitQuaternion, Vector3, Vector6, U3, U6};
pub const DIM: usize = 3;
pub type Dim = U3;
pub type SpatialDim = U6;
pub type AngularDim = U3;
pub type Point<N> = Point3<N>;
pub type AngularVector<N> = Vector3<N>;
pub type Vector<N> = Vector3<N>;
pub type Matrix<N> = Matrix3<N>;
pub type SpatialVector<N> = Vector6<N>;
pub type Orientation<N> = Vector3<N>;
pub type Isometry<N> = Isometry3<N>;
pub type Rotation<N> = UnitQuaternion<N>;
pub type Translation<N> = Translation3<N>;
}
#[cfg(feature = "dim2")]
pub mod math {
use na::{Isometry2, Matrix2, Point2, Translation2, UnitComplex, Vector1, Vector2, U2};
pub const DIM: usize = 2;
pub type Dim = U2;
pub type Point<N> = Point2<N>;
pub type Vector<N> = Vector2<N>;
pub type Matrix<N> = Matrix2<N>;
pub type Orientation<N> = Vector1<N>;
pub type Isometry<N> = Isometry2<N>;
pub type Rotation<N> = UnitComplex<N>;
pub type Translation<N> = Translation2<N>;
}