Files
ncollide2d
bounding_volume
aabb.rsaabb_ball.rsaabb_compound.rsaabb_convex_polygon.rsaabb_cuboid.rsaabb_heightfield.rsaabb_plane.rsaabb_polyline.rsaabb_shape.rsaabb_support_map.rsaabb_utils.rsbounding_sphere.rsbounding_sphere_ball.rsbounding_sphere_capsule.rsbounding_sphere_compound.rsbounding_sphere_convex_polygon.rsbounding_sphere_cuboid.rsbounding_sphere_heightfield.rsbounding_sphere_plane.rsbounding_sphere_polyline.rsbounding_sphere_segment.rsbounding_sphere_shape.rsbounding_sphere_utils.rsbounding_volume.rscircular_cone.rsmod.rsspatialized_normal_cone.rs
interpolation
partitioning
pipeline
broad_phase
glue
narrow_phase
contact_generator
ball_ball_manifold_generator.rsball_convex_polyhedron_manifold_generator.rscapsule_capsule_manifold_generator.rscapsule_shape_manifold_generator.rscomposite_shape_composite_shape_manifold_generator.rscomposite_shape_shape_manifold_generator.rscontact_manifold_generator.rsconvex_polyhedron_convex_polyhedron_manifold_generator.rsdefault_contact_dispatcher.rsheightfield_shape_manifold_generator.rsmod.rsplane_ball_manifold_generator.rsplane_convex_polyhedron_manifold_generator.rs
proximity_detector
object
procedural
query
algorithms
closest_points
contact
distance
nonlinear_time_of_impact
point
proximity
ray
time_of_impact
visitors
shape
transformation
to_polyline
utils
ncollide3d
bounding_volume
aabb.rsaabb_ball.rsaabb_compound.rsaabb_convex.rsaabb_cuboid.rsaabb_heightfield.rsaabb_plane.rsaabb_polyline.rsaabb_shape.rsaabb_support_map.rsaabb_triangle.rsaabb_trimesh.rsaabb_utils.rsbounding_sphere.rsbounding_sphere_ball.rsbounding_sphere_capsule.rsbounding_sphere_compound.rsbounding_sphere_cone.rsbounding_sphere_convex.rsbounding_sphere_cuboid.rsbounding_sphere_cylinder.rsbounding_sphere_heightfield.rsbounding_sphere_plane.rsbounding_sphere_polyline.rsbounding_sphere_segment.rsbounding_sphere_shape.rsbounding_sphere_triangle.rsbounding_sphere_trimesh.rsbounding_sphere_utils.rsbounding_volume.rscircular_cone.rsmod.rsspatialized_normal_cone.rs
interpolation
partitioning
pipeline
broad_phase
glue
narrow_phase
contact_generator
ball_ball_manifold_generator.rsball_convex_polyhedron_manifold_generator.rscapsule_capsule_manifold_generator.rscapsule_shape_manifold_generator.rscomposite_shape_composite_shape_manifold_generator.rscomposite_shape_shape_manifold_generator.rscontact_manifold_generator.rsconvex_polyhedron_convex_polyhedron_manifold_generator.rsdefault_contact_dispatcher.rsheightfield_shape_manifold_generator.rsmod.rsplane_ball_manifold_generator.rsplane_convex_polyhedron_manifold_generator.rstrimesh_trimesh_manifold_generator.rs
proximity_detector
object
procedural
query
algorithms
closest_points
contact
distance
nonlinear_time_of_impact
point
proximity
ray
time_of_impact
visitors
shape
transformation
to_trimesh
utils
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use std::mem; use std::slice; use alga::general::RealField; use na::{Point2, Point3, Vector2, Vector3}; /// Trait that transforms thing to a slice of u8. pub trait AsBytes { fn as_bytes(&self) -> &[u8]; } macro_rules! generic_as_bytes_impl( ($t: ident, $dimension: expr) => ( impl<N: RealField> AsBytes for $t<N> { #[inline(always)] fn as_bytes<'a>(&'a self) -> &'a [u8] { unsafe { slice::from_raw_parts(mem::transmute(self), mem::size_of::<N>() * $dimension) } } } ) ); generic_as_bytes_impl!(Vector2, 2); generic_as_bytes_impl!(Point2, 2); generic_as_bytes_impl!(Vector3, 2); generic_as_bytes_impl!(Point3, 2); // FIXME: implement for all `T: Copy` insead?