Module details

Source
Expand description

Queries dedicated to specific pairs of shapes.

Re-exports§

pub use super::closest_points::*;
pub use super::contact::*;
pub use super::point::*;

Structs§

ContactManifold
A contact manifold between two shapes.
ContactManifoldsWorkspace
A serializable workspace used by some contact-manifolds computation algorithms.
NonlinearRigidMotion
A nonlinear motion from a starting isometry traveling at constant translational and rotational velocity.
Ray
A Ray.
RayIntersection
Structure containing the result of a successful ray cast.
ShapeCastHit
The result of a shape casting..
ShapeCastOptions
Configuration for controlling the behavior of time-of-impact (i.e. shape-casting) calculations.
SimdRay
A structure representing 4 rays in an SIMD SoA fashion.
TrackedContact
A single contact between two shape.
VoxelsShapeContactManifoldsWorkspace
A workspace for collision-detection against voxels shape.

Enums§

NonlinearShapeCastMode
Enum specifying the behavior of shape-casting when there is a penetration at the starting time.
RayCullingMode
Controls which side of a triangle a ray-cast is allowed to hit.
ShapeCastStatus
The status of the time-of-impact computation algorithm.
TypedWorkspaceData
Enum representing workspace data of a specific type.

Traits§

NormalConstraints
Constraints of contact normals, generally for internal edges resolution.
NormalConstraintsPair
A pair of NormalConstraints.
RayCast
Traits of objects which can be transformed and tested for intersection with a ray.
WorkspaceData
Data from a ContactManifoldsWorkspace.

Functions§

cast_shapes
Computes the smallest time when two shapes under translational movement are separated by a distance smaller or equal to distance.
cast_shapes_ball_ball
Time Of Impact of two balls under translational movement.
cast_shapes_composite_shape_shape
Time Of Impact of a composite shape with any other shape, under translational movement.
cast_shapes_halfspace_support_map
Time Of Impact of a halfspace with a support-mapped shape under translational movement.
cast_shapes_heightfield_shape
Time Of Impact between a moving shape and a heightfield.
cast_shapes_nonlinear
Computes the smallest time of impact of two shapes under translational an rotational movements.
cast_shapes_nonlinear_composite_shape_shape
Time Of Impact of a composite shape with any other shape, under a rigid motion (translation + rotation).
cast_shapes_nonlinear_shape_composite_shape
Time Of Impact of any shape with a composite shape, under a rigid motion (translation + rotation).
cast_shapes_nonlinear_shape_voxels
Time Of Impact of any shape with a composite shape, under a rigid motion (translation + rotation).
cast_shapes_nonlinear_support_map_support_map
Compute the time of first impact between two support-map shapes following a nonlinear (with translations and rotations) motion.
cast_shapes_nonlinear_voxels_shape
Time Of Impact of a voxels shape with any other shape, under a rigid motion (translation + rotation).
cast_shapes_shape_composite_shape
Time Of Impact of any shape with a composite shape, under translational movement.
cast_shapes_shape_heightfield
Time Of Impact between a moving shape and a heightfield.
cast_shapes_shape_voxels
Time Of Impact of any shape with a composite shape, under a rigid motion (translation + rotation).
cast_shapes_support_map_halfspace
Time Of Impact of a halfspace with a support-mapped shape under translational movement.
cast_shapes_support_map_support_map
Time of impacts between two support-mapped shapes under translational movement.
cast_shapes_voxels_shape
Time Of Impact of a voxels shape with any other shape, under a translational movement.
clip_aabb_line
Computes the segment given by the intersection of a line and an Aabb.
clip_halfspace_polygon
Cuts a polygon with the given half-space.
clip_segment_segment
Projects two segments on one another and compute their intersection.
contact_manifold_ball_ball
Computes the contact manifold between two balls.
contact_manifold_ball_ball_shapes
Computes the contact manifold between two balls given as Shape trait-objects.
contact_manifold_capsule_capsule
Computes the contact manifold between two capsules.
contact_manifold_capsule_capsule_shapes
Computes the contact manifold between two capsules given as Shape trait-objects.
contact_manifold_convex_ball
Computes the contact manifold between a convex shape and a ball.
contact_manifold_convex_ball_shapes
Computes the contact manifold between a convex shape and a ball, both represented as a Shape trait-object.
contact_manifold_cuboid_cuboid
Computes the contact manifold between two cuboids.
contact_manifold_cuboid_cuboid_shapes
Computes the contact manifold between two cuboids represented as Shape trait-objects.
contact_manifold_cuboid_triangle
Computes the contact manifold between a cuboid and a triangle.
contact_manifold_cuboid_triangle_shapes
Computes the contact manifold between a cuboid and a triangle represented as Shape trait-objects.
contact_manifold_halfspace_pfm
Computes the contact manifold between a convex shape and a ball.
contact_manifold_halfspace_pfm_shapes
Computes the contact manifold between a convex shape and a ball, both represented as a Shape trait-object.
contact_manifold_pfm_pfm
Computes the contact manifold between two convex shapes implementing the PolygonalSupportMap trait.
contact_manifold_pfm_pfm_shapes
Computes the contact manifold between two convex shapes implementing the PolygonalSupportMap trait, both represented as Shape trait-objects.
contact_manifolds_composite_shape_composite_shape
Computes the contact manifolds between two composite shapes.
contact_manifolds_composite_shape_shape
Computes the contact manifolds between a composite shape and an abstract shape.
contact_manifolds_heightfield_composite_shape
Computes the contact manifold between an heightfield and a composite shape.
contact_manifolds_heightfield_shape
Computes the contact manifold between an heightfield and an abstract shape.
contact_manifolds_heightfield_shape_shapes
Computes the contact manifold between an heightfield and a shape, both represented as Shape trait-objects.
contact_manifolds_trimesh_shape
Computes the contact manifold between a triangle-mesh and a shape.
contact_manifolds_trimesh_shape_shapes
Computes the contact manifold between a triangle-mesh an a shape, both represented as Shape trait-objects.
contact_manifolds_voxels_ball_shapes
Computes the contact manifold between a convex shape and a ball, both represented as a Shape trait-object.
contact_manifolds_voxels_composite_shape
Computes the contact manifold between voxels and a composite shape.
contact_manifolds_voxels_composite_shape_shapes
Computes the contact manifold between voxels and a composite shape, both represented as a Shape trait-object.
contact_manifolds_voxels_shape
Computes the contact manifold between a convex shape and a voxels shape.
contact_manifolds_voxels_shape_shapes
Computes the contact manifold between a convex shape and a voxels shape, both represented as a Shape trait-object.
contact_manifolds_voxels_voxels
Computes the contact manifold between a convex shape and a ball.
contact_manifolds_voxels_voxels_shapes
Computes the contact manifold between a convex shape and a ball, both represented as a Shape trait-object.
distance
Computes the minimum distance separating two shapes.
distance_ball_ball
Distance between balls.
distance_ball_convex_polyhedron
Distance between a ball and a convex polyhedron.
distance_composite_shape_shape
Smallest distance between a composite shape and any other shape.
distance_convex_polyhedron_ball
Distance between a convex polyhedron and a ball.
distance_cuboid_cuboid
Distance between two cuboids.
distance_halfspace_support_map
Distance between a halfspace and a support-mapped shape.
distance_segment_segment
Distance between two segments.
distance_shape_composite_shape
Smallest distance between a shape and a composite shape.
distance_support_map_halfspace
Distance between a support-mapped shape and a halfspace.
distance_support_map_support_map
Distance between support-mapped shapes.
distance_support_map_support_map_with_params
Distance between support-mapped shapes.
intersection_test
Tests whether two shapes are intersecting.
intersection_test_aabb_segment
Test if a segment intersects an Aabb.
intersection_test_aabb_triangle
Tests if a triangle intersects an Aabb.
intersection_test_ball_ball
Intersection test between balls.
intersection_test_ball_point_query
Intersection test between a ball and a shape implementing the PointQuery trait.
intersection_test_composite_shape_shape
Intersection test between a composite shape (Mesh, Compound) and any other shape.
intersection_test_cuboid_cuboid
Intersection test between cuboids.
intersection_test_cuboid_segment
Test if a segment intersects a cuboid.
intersection_test_cuboid_triangle
Tests if a triangle intersects an cuboid.
intersection_test_halfspace_support_map
Intersection test between a halfspace and a support-mapped shape (Cuboid, ConvexHull, etc.)
intersection_test_point_query_ball
Intersection test between a shape implementing the PointQuery trait and a ball.
intersection_test_segment_cuboid
Test if a segment intersects a cuboid.
intersection_test_shape_composite_shape
Proximity between a shape and a composite (Mesh, Compound) shape.
intersection_test_shape_voxels
Checks for any intersection between voxels and an arbitrary shape.
intersection_test_support_map_halfspace
Intersection test between a support-mapped shape (Cuboid, ConvexHull, etc.) and a halfspace.
intersection_test_support_map_support_map
Intersection test between support-mapped shapes (Cuboid, ConvexHull, etc.)
intersection_test_support_map_support_map_with_params
Intersection test between support-mapped shapes (Cuboid, ConvexHull, etc.)
intersection_test_triangle_cuboid
Tests if a triangle intersects a cuboid.
intersection_test_voxels_shape
Checks for any intersection between voxels and an arbitrary shape.
intersection_test_voxels_shape_shapes
Checks for any intersection between voxels and an arbitrary shape, both represented as a Shape trait-object.
line_toi_with_halfspace
Computes the time_of_impact of an unbounded line with a halfspace described by its center and normal.
local_ray_intersection_with_support_map_with_params
Cast a ray on a shape using the GJK algorithm.
local_ray_intersection_with_triangle
Computes the intersection between a triangle and a ray.
ray_toi_with_ball
Computes the time of impact of a ray on a ball.
ray_toi_with_halfspace
Computes the time_of_impact of a ray with a halfspace described by its center and normal.