Add ShapeCastOptions that includes two new options for (linear) shape-casting.
ShapeCastOptions::target_distance which will return a hit as soon as the moving
shapes are closer than this distance; and compute_impact_geometry_on_penetration
which forces the calculation of proper witness points and normals even if the shapes
are initially intersecting (time_of_impact == 0.0).
Modified
This version modifies many names related to 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_penetration` arguments.
Rename query::nonlinear_time_of_impact to query::cast_shapes_nonlinear.
Rename QueryDispatcher::nonlinear_time_of_impact to QueryDispatcher::cast_shapes_nonlinear.
Rename NonlinearTOIMode to NonlinearShapeCastMode, and NonlinearTOIMode::DirectionalTOI to
NonlinearShapeCastMode::Directional.
Rename TimeOfImpactStatus::Penetrating to ShapeCastStatus::PenetratingOrWithinTargetDist.
Added
ShapeCastOptions
that includes two new options for (linear) shape-casting.ShapeCastOptions::target_distance
which 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 (time_of_impact == 0.0
).Modified
This version modifies many names related to 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_penetration` arguments.query::nonlinear_time_of_impact
toquery::cast_shapes_nonlinear
.QueryDispatcher::nonlinear_time_of_impact
toQueryDispatcher::cast_shapes_nonlinear
.NonlinearTOIMode
toNonlinearShapeCastMode
, andNonlinearTOIMode::DirectionalTOI
toNonlinearShapeCastMode::Directional
.TimeOfImpactStatus::Penetrating
toShapeCastStatus::PenetratingOrWithinTargetDist
.