Namespaces
sphere_box.h File Reference
#include "fcl/geometry/shape/box.h"
#include "fcl/geometry/shape/sphere.h"
#include "fcl/narrowphase/contact_point.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_box-inl.h"
Include dependency graph for sphere_box.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 fcl
 Main namespace.
 
 fcl::detail
 

Functions

Custom box-sphere proximity algorithms

These functions provide custom algorithms for analyzing the relationship between a sphere and a box.

These functions make use of the Drake monogram notation to describe quantities (particularly the poses of shapes).

Both shapes must be posed in a common frame (notated as F). This common frame is typically the world frame W. Regardless, if the optional output data is returned, it will be reported in this common frame F.

The functions can be executed in one of two ways: to perform a strict boolean query (is colliding/is separated) or to get data which characterizes the colliding or separating state (e.g., penetration depth vs separating distance). The difference in usage is defined by whether the optional out parameters are null or non-null. In the documentation, these are labeled "(optional)".

For these functions, if the sphere and box are detected to be touching this is considered a collision. As such, a collision query would report true and a separating distance query would report false.

template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxDistance (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, S *distance, Vector3< S > *p_FSb, Vector3< S > *p_FBs)
 
template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxIntersect (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, std::vector< ContactPoint< S >> *contacts)
 
Custom box-sphere proximity algorithms

These functions provide custom algorithms for analyzing the relationship between a sphere and a box.

These functions make use of the Drake monogram notation to describe quantities (particularly the poses of shapes).

Both shapes must be posed in a common frame (notated as F). This common frame is typically the world frame W. Regardless, if the optional output data is returned, it will be reported in this common frame F.

The functions can be executed in one of two ways: to perform a strict boolean query (is colliding/is separated) or to get data which characterizes the colliding or separating state (e.g., penetration depth vs separating distance). The difference in usage is defined by whether the optional out parameters are null or non-null. In the documentation, these are labeled "(optional)".

For these functions, if the sphere and box are detected to be touching this is considered a collision. As such, a collision query would report true and a separating distance query would report false.

template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxDistance (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, S *distance, Vector3< S > *p_FSb, Vector3< S > *p_FBs)
 
template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxIntersect (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, std::vector< ContactPoint< S >> *contacts)
 
Custom box-sphere proximity algorithms

These functions provide custom algorithms for analyzing the relationship between a sphere and a box.

These functions make use of the Drake monogram notation to describe quantities (particularly the poses of shapes).

Both shapes must be posed in a common frame (notated as F). This common frame is typically the world frame W. Regardless, if the optional output data is returned, it will be reported in this common frame F.

The functions can be executed in one of two ways: to perform a strict boolean query (is colliding/is separated) or to get data which characterizes the colliding or separating state (e.g., penetration depth vs separating distance). The difference in usage is defined by whether the optional out parameters are null or non-null. In the documentation, these are labeled "(optional)".

For these functions, if the sphere and box are detected to be touching this is considered a collision. As such, a collision query would report true and a separating distance query would report false.

template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxIntersect (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, std::vector< ContactPoint< S >> *contacts)
 
template<typename S >
FCL_EXPORT bool fcl::detail::sphereBoxDistance (const Sphere< S > &sphere, const Transform3< S > &X_FS, const Box< S > &box, const Transform3< S > &X_FB, S *distance, Vector3< S > *p_FSb, Vector3< S > *p_FBs)
 


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:49