This PR modifies many names related to shape-casting. It also adds the ability to specify a target distance for (linear) shape-casting.
Renamed TOI to ShapeCastHit.
Renamed TOIStatus to ShapeCastStatus.
Rename RayIntersection::toi to RayIntersection::time_of_impact.
More generally, all occurrences of the word toi have been replaced by time_of_impact
for better clarity.
Rename query::time_of_impact to query::cast_shapes. More generally, all the
functions prefixed with time_of_impact_ (e.g. time_of_impact_ball_ball) are
now prefixed with cast_shapes_ (e.g. cast_shapes_ball_ball).
Rename QueryDispatcher::time_of_impact to QueryDispatcher::cast_shapes.
The (linear) shape-casting functions like query::cast_shapes (previously named
query::time_of_impact) now take aShapeCastOptionsinstead of themax_toiand stop_at_penetrationarguments. ThisShapeCastOptionsincludes two new options: ShapeCastOptions::target_distancewhich will return a hit as soon as the moving shapes are closer than this distance; andcompute_impact_geometry_on_penetration which forces the calculation of proper witness points and normals even if the shapes are initially intersecting (toi == 0.0,time_of_impact == 0.0`).
Rename query::nonlinear_time_of_impact to query::cast_shapes_nonlinear.
Rename QueryDispatcher::nonlinear_time_of_impact to QueryDispatcher::cast_sahpes_nonlinear.
Rename NonlinearTOIMode to NonlinearShapeCastMode, and NonlinearTOIMode::DirectionalTOI to
NonlinearShapeCastMode::Directional.
Rename TimeOfImpactStatus::Penetrating to ShapeCastStatus::PenetratingOrWithinTargetDist.
This PR modifies many names related to shape-casting. It also adds the ability to specify a target distance for (linear) shape-casting.
TOI
toShapeCastHit
.TOIStatus
toShapeCastStatus
.RayIntersection::toi
toRayIntersection::time_of_impact
.toi
have been replaced bytime_of_impact
for better clarity.query::time_of_impact
toquery::cast_shapes
. More generally, all the functions prefixed withtime_of_impact_
(e.g.time_of_impact_ball_ball
) are now prefixed withcast_shapes_
(e.g.cast_shapes_ball_ball
).QueryDispatcher::time_of_impact
toQueryDispatcher::cast_shapes
.query::cast_shapes
(previously namedquery::time_of_impact) now take a
ShapeCastOptionsinstead of the
max_toiand
stop_at_penetrationarguments. This
ShapeCastOptionsincludes two new options:
ShapeCastOptions::target_distancewhich will return a hit as soon as the moving shapes are closer than this distance; and
compute_impact_geometry_on_penetrationwhich forces the calculation of proper witness points and normals even if the shapes are initially intersecting (
toi == 0.0,
time_of_impact == 0.0`).query::nonlinear_time_of_impact
toquery::cast_shapes_nonlinear
.QueryDispatcher::nonlinear_time_of_impact
toQueryDispatcher::cast_sahpes_nonlinear
.NonlinearTOIMode
toNonlinearShapeCastMode
, andNonlinearTOIMode::DirectionalTOI
toNonlinearShapeCastMode::Directional
.TimeOfImpactStatus::Penetrating
toShapeCastStatus::PenetratingOrWithinTargetDist
.